Skip to main content
POST
/
v1
/
platform
/
businesses
/
{business_id}
/
vendors
Create vendor
curl --request POST \
  --url https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/vendors/ \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "external_id": "<string>",
  "individual_name": "<string>",
  "company_name": "<string>",
  "email": "[email protected]",
  "mobile_phone": "<string>",
  "office_phone": "<string>",
  "address_string": "<string>",
  "memo": "<string>",
  "transaction_tags": [
    "<unknown>"
  ],
  "country": "<string>",
  "vat_number": "<string>",
  "document": {
    "file": "<string>",
    "document_type": "vendor_document",
    "upload_source": "<string>",
    "metadata": "<unknown>",
    "tags": "<unknown>"
  }
}
'
{
  "type": "<string>",
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "mobile_phone": "<string>",
  "office_phone": "<string>",
  "address_string": "<string>",
  "memo": "<string>",
  "status": "<string>",
  "transaction_tags": [
    "<unknown>"
  ],
  "documents": [
    {
      "url": "<string>",
      "expires_in": 123,
      "document_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "file_name": "<string>",
      "file_size": 123,
      "mime_type": "<string>"
    }
  ],
  "external_id": "<string>",
  "individual_name": "<string>",
  "company_name": "<string>",
  "email": "[email protected]"
}

Authorizations

Authorization
string
header
required

Partner-level JWT token (unscoped). Token payload includes partner_id. Business access is validated via partner ownership. Format: Bearer <your-jwt-token>

Use this for: Multi-business operations where the business_id is specified in the URL and partner has access to multiple businesses.

Path Parameters

business_id
string
required

Body

Input serializer for creating a vendor

external_id
string

Your unique identifier for this vendor (used for idempotency)

individual_name
string

Vendor individual name (required if company_name not provided)

company_name
string

Registered company name (required if individual_name not provided)

email
string<email>

Primary email address for vendor communications

mobile_phone
string

Mobile phone number (E.164 format recommended, e.g., +44 7700 900123)

office_phone
string

Office phone number (E.164 format recommended, e.g., +44 20 7946 0958)

address_string
string

Vendor mailing address (single string)

memo
string

Internal notes or description for this vendor

transaction_tags
any[]

List of tags for categorization

country
string

Two-letter country code (ISO 3166-1 alpha-2, e.g., NL, DE, US)

Maximum string length: 2
vat_number
string

VAT/Tax registration number (e.g., NL123456789B01 for Netherlands)

document
object

Optional document upload

Response

Serializer for vendor objects returned by the vendors list endpoint

type
string
required

Resource type (always 'VendorData')

id
string<uuid>
required

Unique vendor identifier

mobile_phone
string
required

Mobile phone number (E.164 format, e.g., +44 7700 900123)

office_phone
string
required

Office phone number (E.164 format, e.g., +44 20 7946 0958)

address_string
string
required

Full formatted address (read-only, auto-generated)

memo
string
required

Internal notes or description for this vendor

status
string
required

Vendor status (ACTIVE, INACTIVE, ARCHIVED, BLOCKED)

transaction_tags
any[]
required

List of tags for categorization

documents
object[]
required

All documents linked to this vendor with presigned URLs

external_id
string

Your unique identifier for this vendor (used for idempotency)

Maximum string length: 255
individual_name
string

Vendor individual name (for sole traders/freelancers)

Maximum string length: 255
company_name
string

Registered company name (for limited companies)

Maximum string length: 255
email
string<email>

Primary email address for vendor communications

Maximum string length: 254