Skip to main content

Customer API

Use the Uphance Customer API to access and manage customer data. Retrieve, create, and update customer records to ensure consistent information across your integrated systems.

Written by Christopher Ike
Updated over a week ago

Customers

Third-party applications can manipulate customer information in Uphance including contacts and addresses.

GET all customers

Retrieve details for all customers.

$ curl https://api.uphance.com/customers \
    -H "Authorization: ACCESS_TOKEN"

Example response:

{
"customers": [
{
"id": 985765,
"name": "Rosa Stork",
"company_type": "customer",
"customer_type": "wholesale",
"country": "DE",
"city": "DusselDorf",
"vat_number": "A555",
"channel_id": 10869,
"channel_name": "Wholesale",
"currency": "USD",
"notes": "",
"reference": "RS1",
"orders_count": 29,
"last_order": {
"id": 862269,
"confirmed_at": "2026-03-03T18:42:55.000Z",
"status": "confirmed",
"fulfillment_status": "shipped",
"financial_status": "not_paid"
},
"outstanding_amounts": [
{
"amount": "355.18",
"currency": "USD"
}
],
"purchase_amounts": [
{
"amount": "355.18",
"quantity": 7,
"currency": "USD"
}
],
"invoices": [
{
"id": 824375,
"subtotal": "97.78",
"total_tax": "0.0",
"grand_total": "97.78",
"total_quantity": 2,
"total_paid": "0.0",
"total_credited": "0.0",
"total_discounted": null,
"amount_outstanding": "97.78",
"invoice_currency": "USD"
},
{
"id": 824414,
"subtotal": "257.4",
"total_tax": "0.0",
"grand_total": "257.4",
"total_quantity": 5,
"total_paid": "0.0",
"total_credited": "0.0",
"total_discounted": null,
"amount_outstanding": "257.4",
"invoice_currency": "USD"
}
],
"people": [
{
"id": 1090940,
"customer_id": 985765,
"first_name": "Ship",
"last_name": "",
"position": "",
"phone_1": "+12025550137",
"phone_2": "+12025550137",
"email": "[email protected]",
"notes": "",
"buyer": false,
"shipping": true,
"billing": true
}
],
"addresses": [
{
"id": 794949,
"customer_id": 985765,
"line_1": "Im Stillen Winkel 7",
"line_2": "",
"line_3": "",
"city": "Essen",
"state": "NW",
"country": "DE",
"postcode": "45149",
"default_for_shipping": true,
"default_for_billing": true
}
],
"agents": [
{
"id": 9171,
"name": "An agent",
"email": "[email protected]",
"phone": "9876543210",
"address": null,
"city": "DC",
"postal_code": "12345",
"country": "US",
"currency": "USD"
}
]
}
]
}

Filter by agent contact

Retrieve customers' records filtered by agent contact.

$ curl https://api.uphance.com/customers?by_agents_contact=[email|phone] \  
-H "Authorization: Bearer ACCESS_TOKEN"

Filter by status

Retrieve customer records filtered by status.
Allowed values: active, inactive, all
Default value: active

$ curl https://api.uphance.com/customers?by_status=inactive\  
-H "Authorization: Bearer ACCESS_TOKEN"

GET one customer by Customer ID

Retrieve details for one customer.

$ curl https://api.uphance.com/customers/[Customer_ID] \
    -H "Authorization: ACCESS_TOKEN"

GET customer by contact email address

Retrieve details for a customer using the email address of a contact.

$ curl https://api.uphance.com/customers/[email protected] \
    -H "Authorization: ACCESS_TOKEN"

GET customer contacts

Retrieve contacts for a customer.

$ curl https://api.uphance.com/customers/[Customer_ID]/contacts \
    -H "Authorization: ACCESS_TOKEN"

GET customer addresses

Retrieve addresses for a customer.

$ curl https://api.uphance.com/customers/[Customer_ID]/addresses \
    -H "Authorization: ACCESS_TOKEN"

POST a customer

You can create a customer record in Uphance from an external system using a POST request to /customers.

POST https://api.uphance.com/customers

The caller should provide the following headers along with the request:

Content-Type : application/json
Authorization: Bearer ACCESS_TOKEN

The body of your request should be a JSON document formatted as below.

Example request:

{
"name":"John Doe's Company 2",
"vat_number":"XE554",
"country":"US",
"city":"Miami",
"customer_type":"wholesale",
"channelId":6932,
"paymentTerm": "PIA"
}

POST a customer contact

You can create a customer contact record in Uphance from an external system using a POST request to /customers.

POST https://api.uphance.com/customers/[CUSTOMER_ID]/create_contact

The caller should provide the following headers along with the request:

Content-Type : application/json
Authorization: Bearer ACCESS_TOKEN

The body of your request should be a JSON document formatted as below.

Example request:

{
"firstName":"Jon",
"lastName":"Doe",
"position":"CEO",
"phone":"+305-610-0517",
"email":"[email protected]"
}

POST a customer address

You can create a customer address record in Uphance from an external system using a POST request to /customers.

POST https://api.uphance.com/customers/[CUSTOMER_ID]/create_address

The caller should provide the following headers along with the request:

Content-Type : application/json
Authorization: Bearer ACCESS_TOKEN

The body of your request should be a JSON document formatted as below.

Example request:

{
"address1":"Mainstreet 5",
"address2":"Entrance 5",
"address3":"Floor 10",
"city":"New York City",
"state":"NY",
"country":"US",
"zipCode":10013,
"default_for_shipping":true,
"default_for_billing":true
}

Next steps

Did this answer your question?