Vendors

Update vendor

Update a vendor. Send only the fields you want to change — anything you don't send stays as it is.

Setting custom fields is easiest using the field name as the key:

{"custom_fields": [{"Partner": true}, {"Tier": "Gold"}]}

Each item is a one-key object where the key is the custom field's name and the value is whatever you want to set. Use null to clear a field. If the name doesn't match a custom field in your organization you'll get a 422 back — we won't silently ignore it.

If you already know the custom field's id, the older nested shape still works and you can mix both in the same request:

{"custom_fields": [{"field": {"id": 42}, "value": {"custom_field_id": 42, "value": "Acme"}}]}

Edge case: if you happen to have two custom fields with the same name, the name-keyed shape can't tell them apart — use the id-based shape for those.

put/public/v1/vendors/{vendor_id}/

Path parameters

vendor_idinteger required

Headers

Idempotency-Keystring

Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422.

Request body

custom_fieldsobject[] nullable
is_activeboolean nullable
vendor_type'individual' | 'company' | 'intercompany' | 'tax_agency'
namestring nullable
unique_idstring nullable
emailstring nullable
phonestring nullable
websitestring nullable
single_addressstring nullable
is_1099_eligibleboolean nullable
tinstring nullable
tin_type'ein' | 'ssn' | 'utr'
record_status'draft' | 'posted' | 'archived'
term_idinteger nullable
customer_account_numberstring nullable
name_on_checkstring nullable
preferred_payment_method_idinteger nullable
bank_account_numberstring nullable
bank_routing_numberstring nullable
allowed_company_idsinteger[] nullable

Company IDs allowed to use this vendor. Empty list means global (all companies). Omit or send null to leave unchanged.

Response

OK

created_atstring date-time required
updated_atstring date-time required
term_idinteger nullable required
term_namestring required
preferred_payment_method_idinteger nullable required
preferred_payment_method_namestring required
approval_statusstring nullable
idinteger required
codestring nullable
vendor_typestring required
company_idinteger nullable
company_namestring nullable
customer_account_numberstring
name_on_checkstring
bank_account_numberstring
bank_routing_numberstring
allowed_company_idsinteger[]
single_addressstring nullable
namestring required
unique_idstring nullable

External identifier supplied by the user to disambiguate vendors that share a display name (e.g. an ID from another system).

websitestring nullable
emailstring nullable
is_activeboolean
phonestring nullable
is_1099_eligibleboolean
tinstring nullable
tin_typestring nullable
record_status'draft' | 'posted' | 'archived'

Changes

Changed in 4 of the 27 revisions of this API.16

    • ○

      added the new optional request property

      new-optional-request-property

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the optional property to the response with the status

      response-optional-property-added

    • ○

      added the required property to the response with the status

      response-required-property-added

    • ○

      added the required property to the response with the status

      response-required-property-added

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ●

      changed the pattern of the request property from ^[0-9\s\+\-\.\(\)]*$ to (?i)^(?:[0-9\s+\-.\(\)]*|[0-9\s+\-.\(\)]+(?:\s*(?:x|ext\.?|extension)\s*\d+))$

      request-property-pattern-changed

    • ○

      added the new optional header request parameter Idempotency-Key

      new-optional-request-parameter

Of the 27 revisions, 1 has no diff computed.