Apideck · Schema

Supplier

IntegrationsUnified API

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.
View JSON Schema on GitHub

JSON Schema

apideck-supplier-schema.json Raw ↑
{
  "$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": "[email protected]",
      "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"
    }
  }
}