Properties
| Name | Type | Description |
|---|---|---|
| id | object | |
| downstream_id | object | |
| display_id | string | Display ID |
| display_name | string | Display name |
| company_name | object | |
| company_id | object | |
| supplier_category | string | The category/type of the supplier |
| title | object | |
| first_name | object | |
| middle_name | object | |
| last_name | object | |
| suffix | object | |
| individual | boolean | Is this an individual or business supplier |
| addresses | array | |
| phone_numbers | array | |
| emails | array | |
| websites | array | |
| bank_accounts | array | |
| notes | string | Some notes about this supplier |
| tax_rate | object | |
| tax_number | object | |
| taxable | object | |
| currency | object | |
| account | object | |
| status | string | Supplier status |
| payment_method | object | |
| terms | string | Terms of payment. |
| terms_id | object | |
| channel | object | |
| issued_method | string | Method of issuance of the purchase order for the supplier |
| issued_email | string | Email address of the person who issued the purchase order for the supplier |
| custom_mappings | object | |
| custom_fields | array | |
| tax_details | array | |
| tax_status_details | array | |
| updated_by | object | |
| created_by | object | |
| updated_at | object | |
| created_at | object | |
| row_version | object | |
| pass_through | object | |
| subsidiary_id | string | The subsidiary the supplier belongs to. |
| integration_system_id | string | The integration system the supplier belongs to. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/Supplier",
"title": "Supplier",
"type": "object",
"x-apideck-schema-id": "Supplier",
"x-apideck-weights": {
"id": "critical",
"downstream_id": "edge-case",
"display_id": "edge-case",
"display_name": "edge-case",
"company_name": "high",
"company_id": "middle",
"supplier_category": "edge-case",
"title": "high",
"first_name": "high",
"middle_name": "low",
"last_name": "high",
"suffix": "low",
"individual": "medium",
"addresses": "high",
"phone_numbers": "high",
"emails": "high",
"websites": "medium",
"bank_accounts": "high",
"notes": "low",
"tax_rate": "medium",
"tax_number": "medium",
"taxable": "medium",
"currency": "medium",
"account": "medium",
"status": "high",
"payment_method": "edge-case",
"terms": "edge-case",
"terms_id": "edge-case",
"channel": "edge-case",
"issued_method": "edge-case",
"issued_email": "edge-case",
"tax_details": "edge-case",
"tax_status_details": "edge-case",
"updated_by": "edge-case",
"created_by": "edge-case",
"custom_fields": "medium",
"updated_at": "medium",
"created_at": "medium",
"row_version": "edge-case",
"subsidiary_id": "edge-case",
"integration_system_id": "edge-case"
},
"additionalProperties": false,
"required": [
"id"
],
"x-apideck-strict-required": [
"emails",
"addresses",
"phone_numbers",
"status",
"updated_at"
],
"x-apideck-strict-any-of": [
{
"required": [
"first_name",
"last_name"
]
},
{
"required": [
"company_name"
]
}
],
"properties": {
"id": {
"$ref": "#/components/schemas/Id"
},
"downstream_id": {
"$ref": "#/components/schemas/DownstreamId"
},
"display_id": {
"type": "string",
"title": "Display ID",
"description": "Display ID",
"example": "EMP00101",
"nullable": true
},
"display_name": {
"type": "string",
"title": "Display Name",
"description": "Display name",
"example": "Windsurf Shop",
"nullable": true
},
"company_name": {
"$ref": "#/components/schemas/CompanyName"
},
"company_id": {
"$ref": "#/components/schemas/AccountingCompanyId"
},
"supplier_category": {
"type": "string",
"title": "Supplier Category",
"description": "The category/type of the supplier",
"example": "Insurance",
"nullable": true
},
"title": {
"$ref": "#/components/schemas/Title"
},
"first_name": {
"$ref": "#/components/schemas/FirstName"
},
"middle_name": {
"$ref": "#/components/schemas/MiddleName"
},
"last_name": {
"$ref": "#/components/schemas/LastName"
},
"suffix": {
"$ref": "#/components/schemas/Suffix"
},
"individual": {
"type": "boolean",
"title": "Is individual",
"description": "Is this an individual or business supplier",
"example": true,
"nullable": true
},
"addresses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Address"
}
},
"phone_numbers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PhoneNumber"
}
},
"emails": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Email"
}
},
"websites": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Website"
}
},
"bank_accounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BankAccount"
}
},
"notes": {
"type": "string",
"title": "Notes",
"description": "Some notes about this supplier",
"example": "Some notes about this supplier",
"nullable": true
},
"tax_rate": {
"$ref": "#/components/schemas/LinkedTaxRate"
},
"tax_number": {
"$ref": "#/components/schemas/TaxNumber"
},
"taxable": {
"$ref": "#/components/schemas/Taxable"
},
"currency": {
"$ref": "#/components/schemas/Currency"
},
"account": {
"$ref": "#/components/schemas/LinkedLedgerAccount"
},
"status": {
"type": "string",
"title": "Status",
"description": "Supplier status",
"nullable": true,
"example": "active",
"x-apideck-enum-id": "suppliers.status",
"enum": [
"active",
"inactive",
"archived",
"gdpr-erasure-request",
"unknown"
]
},
"payment_method": {
"$ref": "#/components/schemas/PaymentMethod"
},
"terms": {
"type": "string",
"title": "Terms",
"description": "Terms of payment.",
"example": "Net 30 days",
"nullable": true
},
"terms_id": {
"$ref": "#/components/schemas/TermsId"
},
"channel": {
"$ref": "#/components/schemas/Channel"
},
"issued_method": {
"type": "string",
"title": "Issued method",
"description": "Method of issuance of the purchase order for the supplier",
"example": "Email",
"nullable": true
},
"issued_email": {
"type": "string",
"title": "Issued email",
"description": "Email address of the person who issued the purchase order for the supplier",
"example": "john.doe@example.com",
"nullable": true
},
"custom_mappings": {
"$ref": "#/components/schemas/CustomMappings"
},
"custom_fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomField"
}
},
"tax_details": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LinkedTaxDetail"
}
},
"tax_status_details": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LinkedTaxStatusDetail"
}
},
"updated_by": {
"$ref": "#/components/schemas/UpdatedBy"
},
"created_by": {
"$ref": "#/components/schemas/CreatedBy"
},
"updated_at": {
"$ref": "#/components/schemas/UpdatedAt"
},
"created_at": {
"$ref": "#/components/schemas/CreatedAt"
},
"row_version": {
"$ref": "#/components/schemas/RowVersion"
},
"pass_through": {
"$ref": "#/components/schemas/PassThroughBody"
},
"subsidiary_id": {
"type": "string",
"title": "Subsidiary ID",
"description": "The subsidiary the supplier belongs to.",
"example": "12345"
},
"integration_system_id": {
"type": "string",
"title": "Integration System ID",
"description": "The integration system the supplier belongs to.",
"example": "12345"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/apideck-supplier"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.