APIv3
Exit Documentation

Customers

A customer represents a company or person that purchases from your business.


The customer object

FieldTypeDescription
idstringUnique customer UUID.
objectstringAlways customer.
customer_numberintegerAccount-assigned customer number.
namestringCustomer name.
office_emailstring or nullPrimary office email address.
office_phonestring or nullPrimary office telephone number.
office_faxstring or nullPrimary fax number.
urlstring or nullCustomer website URL.
billing_address_1string or nullFirst billing-address line.
billing_address_2string or nullSecond billing-address line.
billing_citystring or nullBilling city.
billing_regionstring or nullBilling state, province, or region.
billing_postal_codestring or nullBilling postal or ZIP code.
billing_countrystring or nullBilling country.
shipping_address_1string or nullFirst shipping-address line.
shipping_address_2string or nullSecond shipping-address line.
shipping_citystring or nullShipping city.
shipping_regionstring or nullShipping state, province, or region.
shipping_postal_codestring or nullShipping postal or ZIP code.
shipping_countrystring or nullShipping country.
vat_numberstring or nullVAT or tax registration number.
document_countintegerNumber of documents associated with the customer.
archivedbooleanWhether the customer is archived.
pricing_tier_idstring or nullAssigned pricing-tier UUID.
owner_user_idstring or nullUUID of the assigned SalesBinder user.
created_atstringISO 8601 creation timestamp.
updated_atstringISO 8601 modification timestamp.

List customers

GET/api/v3/customers

Required scope: customers:read

Returns customers ordered by name and limited by the current user's record visibility.

Query parameters

ParameterTypeRequiredDescription
pageintegerNoPage number. Defaults to 1.
limitintegerNoRecords per page. Defaults to 20; maximum 100.
qstringNoSearches customer name and office email. A numeric value also matches an exact customer number.

Example request

bash
curl "https://yourbusiness.salesbinder.com/api/v3/customers?q=example&page=1&limit=20" \
  --header "Authorization: Bearer YOUR_API_KEY"

Example response

json
{
  "object": "list",
  "url": "/api/v3/customers",
  "has_more": false,
  "data": [
    {
      "id": "709d2a43-12a9-4d85-a9d9-cb16e66cef53",
      "object": "customer",
      "customer_number": 527,
      "name": "Example Customer",
      "office_email": "accounts@example.com",
      "office_phone": "604-555-0199",
      "office_fax": "",
      "url": "https://example.com",
      "billing_address_1": "100 Main Street",
      "billing_address_2": "",
      "billing_city": "Vancouver",
      "billing_region": "British Columbia",
      "billing_postal_code": "V6B 1A1",
      "billing_country": "Canada",
      "shipping_address_1": "100 Main Street",
      "shipping_address_2": "",
      "shipping_city": "Vancouver",
      "shipping_region": "British Columbia",
      "shipping_postal_code": "V6B 1A1",
      "shipping_country": "Canada",
      "vat_number": "",
      "document_count": 0,
      "archived": false,
      "pricing_tier_id": null,
      "owner_user_id": "55259a96-c660-4eae-b0d8-3fb16882ca98",
      "created_at": "2026-07-17T22:42:19+00:00",
      "updated_at": "2026-07-17T22:42:19+00:00"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 20,
    "total_pages": 1,
    "total_records": 1
  }
}

Retrieve a customer

GET/api/v3/customers/{customer_id}

Required scope: customers:read

Returns one customer within the current user's account and record-visibility boundary.

Example request

bash
curl "https://yourbusiness.salesbinder.com/api/v3/customers/709d2a43-12a9-4d85-a9d9-cb16e66cef53" \
  --header "Authorization: Bearer YOUR_API_KEY"

The response is a customer object. If the customer is unavailable to the current user, the API returns 404 resource_missing.


Create a customer

POST/api/v3/customers

Required scope: customers:write

The name field is required. SalesBinder assigns the customer number and current API user.

Writable fields

FieldTypeRequiredNotes
namestringYesMaximum 255 characters.
office_emailstringNoMaximum 255 characters.
office_phonestringNoMaximum 255 characters.
office_faxstringNoMaximum 255 characters.
urlstringNoValid URL, maximum 255 characters.
billing_address_1stringNoMaximum 255 characters.
billing_address_2stringNoMaximum 255 characters.
billing_citystringNoMaximum 255 characters.
billing_region_idintegerNoSalesBinder region identifier.
billing_regionstringNoMaximum 255 characters.
billing_postal_codestringNoMaximum 255 characters.
billing_country_idintegerNoSalesBinder country identifier.
billing_countrystringNoMaximum 255 characters.
shipping_address_1stringNoMaximum 255 characters.
shipping_address_2stringNoMaximum 255 characters.
shipping_citystringNoMaximum 255 characters.
shipping_region_idintegerNoSalesBinder region identifier.
shipping_regionstringNoMaximum 255 characters.
shipping_postal_codestringNoMaximum 255 characters.
shipping_country_idintegerNoSalesBinder country identifier.
shipping_countrystringNoMaximum 255 characters.
vat_numberstringNoMaximum 24 characters.
tax_rate1numberNoPrimary default tax rate.
tax_rate2numberNoSecondary default tax rate.
customer_label_idstringNoCustomer-label UUID belonging to the account.
pricing_tier_idstringNoPricing-tier UUID belonging to the account.

Account-owned references are validated when assigned or changed. A missing UUID or a UUID belonging to another account returns 422 validation_failed without exposing the other account's data.

Example request

bash
curl "https://yourbusiness.salesbinder.com/api/v3/customers" \
  --request POST \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: create-example-customer-001" \
  --data '{
    "name": "Example Customer",
    "office_email": "accounts@example.com",
    "office_phone": "604-555-0199",
    "billing_city": "Vancouver",
    "billing_region": "British Columbia",
    "billing_country": "Canada"
  }'

Response

Returns the created customer object with 201 Created. See idempotent requests before automatically retrying creates.


Update a customer

PATCH or PUT/api/v3/customers/{customer_id}

Required scope: customers:write

Send only the writable fields that should change. Both PATCH and PUT preserve omitted writable fields.

Example request

bash
curl "https://yourbusiness.salesbinder.com/api/v3/customers/709d2a43-12a9-4d85-a9d9-cb16e66cef53" \
  --request PATCH \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "office_phone": "604-555-0142"
  }'

Returns the updated customer object with 200 OK.


Delete a customer

DELETE/api/v3/customers/{customer_id}

Required scope: customers:delete

A customer can be deleted only when it has no associated documents. Deleting a customer with documents returns 422 validation_failed with document_count validation details.

Example request

bash
curl "https://yourbusiness.salesbinder.com/api/v3/customers/709d2a43-12a9-4d85-a9d9-cb16e66cef53" \
  --request DELETE \
  --header "Authorization: Bearer YOUR_API_KEY"

Example response

json
{
  "id": "709d2a43-12a9-4d85-a9d9-cb16e66cef53",
  "object": "customer",
  "deleted": true
}