Spendesk · Schema

supplier

Spend ManagementCorporate CardsExpense ManagementInvoicesProcurementFintechAccountingPayments

Properties

Name Type Description
id string Supplier ID in Spendesk
name string Supplier name
isArchived boolean Indicates if supplier is archived. Archiving suppliers is a feature that needs to be activated in Spendesk.
externalIds array IDs this supplier has in external systems (ERPs), one entry per system. Only present when `externalIds` is requested through `include`. Not to be confused with `accountPayable.externalId`, which is th
accountPayable objectnull Account payable assigned to the supplier (if exists)
address object Supplier's address
legalName stringnull Legal name of the supplier
registrationNo stringnull Tax registration number of the supplier
vatNo stringnull VAT number of the supplier
createdAt object
updatedAt object
createdBy stringnull Id of the user that created the supplier (If available)
updatedBy stringnull Id of the user that updated the supplier (If available)
bic stringnull Supplier's bank account BIC (for GET endpoints, backward compatibility)
iban stringnull Supplier's bank account IBAN (for GET endpoints, backward compatibility)
bankCountry stringnull Supplier's bank account ISO alpha-2 country code (for GET endpoints, backward compatibility)
bankDetailsUpdatedAt stringnull Date and time when bank details were last updated (ISO 8601)
bankDetailsUpdatedBy stringnull Id of the user who last updated the bank details
bankInfo objectnull Bank information for the supplier (for POST/PATCH endpoints)
View JSON Schema on GitHub

JSON Schema

spendesk-supplier-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/spendesk/main/json-schema/spendesk-supplier-schema.json",
  "title": "supplier",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/spendesk-public-api-openapi.yml#/components/schemas/supplier",
  "additionalProperties": false,
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Supplier ID in Spendesk"
    },
    "name": {
      "type": "string",
      "description": "Supplier name"
    },
    "isArchived": {
      "type": "boolean",
      "description": "Indicates if supplier is archived. Archiving suppliers is a feature that needs to be activated in Spendesk."
    },
    "externalIds": {
      "type": "array",
      "description": "IDs this supplier has in external systems (ERPs), one entry per system. Only present when `externalIds` is requested through `include`. Not to be confused with `accountPayable.externalId`, which is the external ID of the account payable rather than of the supplier itself.",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "externalId": {
            "type": "string",
            "description": "ID of the supplier in the external system."
          },
          "provider": {
            "type": [
              "string",
              "null"
            ],
            "description": "The external system the ID belongs to (e.g. Netsuite, Xero)."
          },
          "source": {
            "type": [
              "string",
              "null"
            ],
            "description": "Who recorded the mapping. `native_integration` means a native ERP sync owns it and keeps it up to date; `public_api` means it was set through the API."
          }
        },
        "required": [
          "externalId"
        ]
      }
    },
    "accountPayable": {
      "type": [
        "object",
        "null"
      ],
      "description": "Account payable assigned to the supplier (if exists)",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string",
          "description": "Internal Spendesk ID of the account payable"
        },
        "generalAccountCode": {
          "type": "string",
          "description": "Accounting code of the account payable"
        },
        "auxiliaryAccountCode": {
          "type": [
            "string",
            "null"
          ],
          "description": "Auxiliary code of the account payable; empty string (never null) if unset"
        },
        "externalId": {
          "type": [
            "string",
            "null"
          ],
          "description": "ERP ID of the account payable, if available; supplier ERP IDs: externalIds"
        }
      },
      "required": [
        "id",
        "generalAccountCode"
      ]
    },
    "address": {
      "type": "object",
      "description": "Supplier's address",
      "additionalProperties": false,
      "properties": {
        "line1": {
          "type": [
            "string",
            "null"
          ],
          "description": "Full street address as free text"
        },
        "line2": {
          "type": [
            "string",
            "null"
          ],
          "description": "Always null; street is in line1"
        },
        "city": {
          "type": [
            "string",
            "null"
          ],
          "description": "City"
        },
        "postalCode": {
          "type": [
            "string",
            "null"
          ],
          "description": "Postal/ZIP code"
        },
        "stateOrCounty": {
          "type": [
            "string",
            "null"
          ],
          "description": "Always null (not stored)"
        },
        "country": {
          "type": [
            "string",
            "null"
          ],
          "description": "Country as entered at supplier creation time"
        }
      },
      "required": [
        "line1",
        "line2",
        "city",
        "postalCode",
        "stateOrCounty",
        "country"
      ]
    },
    "legalName": {
      "type": [
        "string",
        "null"
      ],
      "description": "Legal name of the supplier"
    },
    "registrationNo": {
      "type": [
        "string",
        "null"
      ],
      "description": "Tax registration number of the supplier"
    },
    "vatNo": {
      "type": [
        "string",
        "null"
      ],
      "description": "VAT number of the supplier"
    },
    "createdAt": {
      "$ref": "#/$defs/dateTime"
    },
    "updatedAt": {
      "$ref": "#/$defs/dateTime"
    },
    "createdBy": {
      "type": [
        "string",
        "null"
      ],
      "description": "Id of the user that created the supplier (If available)"
    },
    "updatedBy": {
      "type": [
        "string",
        "null"
      ],
      "description": "Id of the user that updated the supplier (If available)"
    },
    "bic": {
      "type": [
        "string",
        "null"
      ],
      "description": "Supplier's bank account BIC (for GET endpoints, backward compatibility)"
    },
    "iban": {
      "type": [
        "string",
        "null"
      ],
      "description": "Supplier's bank account IBAN (for GET endpoints, backward compatibility)"
    },
    "bankCountry": {
      "type": [
        "string",
        "null"
      ],
      "description": "Supplier's bank account ISO alpha-2 country code (for GET endpoints, backward compatibility)"
    },
    "bankDetailsUpdatedAt": {
      "type": [
        "string",
        "null"
      ],
      "description": "Date and time when bank details were last updated (ISO 8601)"
    },
    "bankDetailsUpdatedBy": {
      "type": [
        "string",
        "null"
      ],
      "description": "Id of the user who last updated the bank details"
    },
    "bankInfo": {
      "type": [
        "object",
        "null"
      ],
      "description": "Bank information for the supplier (for POST/PATCH endpoints)",
      "additionalProperties": false,
      "properties": {
        "iban": {
          "type": [
            "string",
            "null"
          ],
          "description": "Supplier's bank account IBAN"
        },
        "bic": {
          "type": [
            "string",
            "null"
          ],
          "description": "Supplier's bank account BIC"
        },
        "bankCountry": {
          "type": [
            "string",
            "null"
          ],
          "description": "Country where the bank is located"
        },
        "accountNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "Bank account number"
        },
        "routingNumber": {
          "type": [
            "string",
            "null"
          ],
          "description": "Bank routing number (US)"
        },
        "sortCode": {
          "type": [
            "string",
            "null"
          ],
          "description": "Bank sort code (UK)"
        },
        "accountHolderName": {
          "type": [
            "string",
            "null"
          ],
          "description": "Name of the account holder"
        }
      }
    }
  },
  "required": [
    "id",
    "name",
    "isArchived",
    "address",
    "legalName",
    "registrationNo",
    "vatNo",
    "createdAt",
    "updatedAt"
  ],
  "$defs": {
    "dateTime": {
      "type": "string",
      "format": "date-time",
      "description": "String containing a UTC datetime expressed in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format like `2023-05-12T14:06:40Z`.",
      "title": "dateTime"
    }
  }
}

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/spendesk-supplier"
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.