Skip to main content
POST
Create a customer

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)