Skip to main content
POST
/
v1
/
platform
/
businesses
/
{business_id}
/
customers
Create a customer
curl --request POST \
  --url https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/customers/ \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "external_id": "<string>",
  "reference_number": "<string>",
  "individual_name": "<string>",
  "company_name": "<string>",
  "email": "jsmith@example.com",
  "mobile_phone": "<string>",
  "office_phone": "<string>",
  "address_line1": "<string>",
  "address_line2": "<string>",
  "city": "<string>",
  "state_county": "<string>",
  "postal_code": "<string>",
  "country": "<string>",
  "vat_number": "<string>",
  "tax_exempt": false,
  "status": "active",
  "transaction_tags": [
    "<unknown>"
  ],
  "notes": "<string>",
  "metadata": "<unknown>",
  "payment_terms_days": 123,
  "credit_limit_cents": 1,
  "document": {
    "file": "<string>",
    "document_type": "customer_document",
    "upload_source": "<string>",
    "metadata": "<unknown>",
    "tags": "<unknown>"
  }
}
'
{
  "type": "<string>",
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "external_id": "<string>",
  "reference_number": "<string>",
  "individual_name": "<string>",
  "company_name": "<string>",
  "display_name": "<string>",
  "email": "jsmith@example.com",
  "mobile_phone": "<string>",
  "office_phone": "<string>",
  "address_line1": "<string>",
  "address_line2": "<string>",
  "city": "<string>",
  "state_county": "<string>",
  "postal_code": "<string>",
  "country": "<string>",
  "full_address": "<string>",
  "address_string": "<string>",
  "vat_number": "<string>",
  "tax_exempt": true,
  "status": "<string>",
  "is_active": true,
  "is_archived": true,
  "transaction_tags": [
    "<unknown>"
  ],
  "notes": "<string>",
  "metadata": "<unknown>",
  "payment_terms_days": 123,
  "credit_limit": 123,
  "credit_limit_cents": 123,
  "outstanding_balance": 123,
  "documents": [
    {
      "url": "<string>",
      "expires_in": 123,
      "document_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "file_name": "<string>",
      "file_size": 123,
      "mime_type": "<string>"
    }
  ],
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "archived_at": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.thredfi.com/llms.txt

Use this file to discover all available pages before exploring further.

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<uuid>
required

Business UUID provided by Thred (unique identifier for the business)

Body

Serializer for creating new customers

external_id
string

Your unique identifier for this customer (used for idempotency)

reference_number
string

Customer reference number for invoices and statements

individual_name
string

Individual/contact person 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 the customer

mobile_phone
string

Mobile phone number

office_phone
string

Office/landline phone number

address_line1
string

Street address line 1

address_line2
string

Street address line 2 (building, suite, etc.)

city
string

City or town

state_county
string

State, county, or region

postal_code
string

Postal/ZIP code

country
string

ISO 3166-1 alpha-2 country code

vat_number
string

VAT registration number (for UK: GB followed by 9 digits)

tax_exempt
boolean
default:false

Whether customer is exempt from tax/VAT

status
enum<string>
  • active - Active
  • archived - Archived
  • suspended - Suspended
Available options:
active,
archived,
suspended
transaction_tags
any[]

Array of tags for categorization and filtering

notes
string

Internal notes about the customer

metadata
any

Custom JSON metadata for partner-specific data

payment_terms_days
integer

Number of days for payment terms (e.g., 30 for Net 30)

credit_limit_cents
integer

Maximum credit limit in cents (e.g., 100000 for £1,000)

Required range: x >= 0
document
object

Optional document upload

Response

Main customer serializer for customer API endpoints Returns customer information with comprehensive details Used for both list and detail responses

type
string
required
read-only

Type identifier (always 'CustomerData')

id
string<uuid>
required
read-only

Unique identifier for the customer

external_id
string
required

Your unique identifier for this customer (used for idempotency)

reference_number
string
required

Customer reference number for invoices and statements

individual_name
string
required

Individual/contact person name (required if company_name not provided)

company_name
string
required

Registered company name (required if individual_name not provided)

display_name
string
required
read-only

Display name for the customer (auto-generated from company_name or individual_name)

email
string<email>
required

Primary email address for the customer

mobile_phone
string
required

Mobile phone number

office_phone
string
required

Office/landline phone number

address_line1
string
required

Street address line 1

address_line2
string
required

Street address line 2 (building, suite, etc.)

city
string
required

City or town

state_county
string
required

State, county, or region

postal_code
string
required

Postal/ZIP code

country
string
required

ISO 3166-1 alpha-2 country code

full_address
string
required
read-only

Complete formatted address with all fields

address_string
string
required
read-only

Single-line formatted address

vat_number
string
required

VAT registration number (for UK: GB followed by 9 digits)

tax_exempt
boolean
required

Whether customer is exempt from tax/VAT

status
string
required
read-only

Customer status (ACTIVE or ARCHIVED)

is_active
boolean
required
read-only

Whether the customer is active (read-only)

is_archived
boolean
required
read-only

Whether the customer is archived (read-only)

transaction_tags
any[]
required

Array of tags for categorization and filtering

notes
string
required

Internal notes about the customer

metadata
any
required

Custom JSON metadata for partner-specific data

payment_terms_days
integer
required

Number of days for payment terms (e.g., 30 for Net 30)

credit_limit
integer
required
read-only

Maximum credit limit in cents (e.g., 100000 for £1,000)

credit_limit_cents
integer
required

Maximum credit limit in cents (e.g., 100000 for £1,000)

outstanding_balance
integer
required
read-only

Current outstanding balance in cents (read-only, computed)

documents
object[]
required
read-only

All documents linked to this customer with presigned URLs (retrieve only, not in list)

created_at
string<date-time>
required
read-only

Date and time when the customer was created

updated_at
string<date-time>
required
read-only

Date and time when the customer was last updated

archived_at
string<date-time>
required
read-only

Date and time when the customer was archived (null if active)