Xero · Schema

BulkFeedConnectionResponse

One result per request item, in request order.

AccountingBank FeedsFinanceFinancial ServicesInvoicingPayrollSmall Business

Properties

Name Type Description
items array
View JSON Schema on GitHub

JSON Schema

xero-bulk-feed-connection-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/xero/main/json-schema/xero-bulk-feed-connection-response-schema.json",
  "title": "BulkFeedConnectionResponse",
  "description": "One result per request item, in request order.",
  "x-generated": "2026-10-20",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/xero-bank-feeds-v2-api-openapi.yml#/components/schemas/BulkFeedConnectionResponse",
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "maxItems": 50,
      "items": {
        "$ref": "#/$defs/BulkFeedConnectionResult"
      }
    }
  },
  "$defs": {
    "BulkFeedConnectionResult": {
      "type": "object",
      "description": "The outcome for a single request item.\n\nRead `status` rather than inferring the outcome from the presence of `error`. On a\ntermination an item can carry both `SUCCESS` and an `error`, when the identifier named\nnothing to terminate.\n\nRead `statusCode` per item as well, rather than deriving it from the envelope: it is the\nnumber the envelope itself is computed from. A `statusCode` of `204` is an idempotent\nno-op, not a failure; one of `500` on a `partial-failure-*` type is not a server fault to\nretry blindly.\n",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "On a create, Xero's identifier for the new Feed Connection; absent when the item was\nrejected, since nothing was created.\n\nOn a termination, the identifier supplied in the request, echoed back; absent only when\nthe item carried no usable identifier.\n"
        },
        "accountToken": {
          "type": "string",
          "description": "The `accountToken` supplied in the request, echoed back, including on a rejected item.\nNot returned on a termination.\n"
        },
        "status": {
          "type": "string",
          "description": "`SUCCESS` means the item reached the state the request asked for — on a create the\nconnection exists, on a termination it is gone, including the idempotent case where it\nwas already gone. `REJECTED` means it was refused and nothing was written, and `error`\nsays why. `PARTIAL_FAILURE` means the item did not complete **and** something was\nwritten that survives; `error.detail` names what, and the item needs attention that\nneither of the other two values implies.\n\nA client deserialising this into a closed set of `SUCCESS` and `REJECTED` will fail on\n`PARTIAL_FAILURE`. That is intended rather than an oversight: binding it silently to\neither of the other two would hide surviving state from the partner who has to act on\nit.\n",
          "enum": [
            "SUCCESS",
            "REJECTED",
            "PARTIAL_FAILURE"
          ]
        },
        "statusCode": {
          "type": "integer",
          "format": "int32",
          "description": "The numeric status this item carries in its own right: `201` on a created connection,\n`204` on a terminated or already-absent one, a 4xx on a rejection, `500` on a partial\nfailure. The response envelope is computed from every item's own `statusCode` — every\nitem 2xx is `200`, every item 4xx is `400`, anything else is `207` — so a partner can\nsize up one item without interpreting `status` and `error` together. Never `202` and\nnever `207`: those are envelope-only, and an item-level `207` would be numerically\ninside 2xx, letting an all-partial-failure batch compute to a reassuring `200`.\n"
        },
        "error": {
          "$ref": "#/$defs/Problem"
        }
      }
    },
    "Problem": {
      "type": "object",
      "description": "An error. Served as `application/problem+json` when it describes the request as a whole, and\ncarried inside the `error` property of an item result when it describes one item.\n",
      "properties": {
        "type": {
          "type": "string",
          "description": "Identifies the error.",
          "enum": [
            "invalid-request",
            "invalid-application",
            "suspended-or-terminated-application",
            "invalid-organisation-bank-feeds",
            "invalid-organisation-multi-currency",
            "invalid-feed-connection-for-organisation",
            "invalid-user-role",
            "invalid-account-token",
            "missing-identifying-fields",
            "invalid-country-specified",
            "account-not-valid",
            "feed-already-connected-in-current-organisation",
            "account-name-already-exists",
            "bank-feed-not-found",
            "feed-not-found-or-already-deleted",
            "partial-failure-account-created-but-not-connected",
            "partial-failure-migration-can-be-reattempted",
            "partial-failure-delete-can-be-reattempted",
            "partial-failure-connection-created-but-not-recorded",
            "too-many-requests",
            "internal-error"
          ]
        },
        "title": {
          "type": "string",
          "description": "A short human-readable summary of the error."
        },
        "status": {
          "type": "integer",
          "format": "int32",
          "description": "The HTTP status this error corresponds to. Inside an item result this is the status of\nthat item, which need not be the status of the response as a whole.\n"
        },
        "detail": {
          "type": "string",
          "description": "A human-readable explanation specific to this occurrence."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/xero-bulk-feed-connection-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.