Skip to content

Change several customers

POST
/customers/bulk
curl --request POST \
--url https://example.com/customers/bulk \
--header 'Content-Type: application/json' \
--cookie __Host-bottle.session_token=<__Host-bottle.session_token> \
--data '{ "customerIds": [ "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" ], "change": { "action": "kind", "kind": "commercial" } }'

One change made to every customer named: trade or consumer, payment terms, stopping new orders while unpaid, the chosen or excluded list for the surcharge, the language of their emails, or archiving. Each is done by the same rules as editing it alone. One that is archived, missing or already that way is left as it is and listed as skipped; the rest still go. To move many onto a price list, use POST /customers/rate-set.

Media typeapplication/json
object
customerIds
required
Array<string>
>= 1 items <= 1000 items
change
required
One of:
object
action
required

Make each a trade (commercial) or consumer (domestic) customer.

string
Allowed values: kind
kind
required
string
Allowed values: commercial domestic

What was changed and what was skipped

Media typeapplication/json
object
done
required
Array<object>
object
customerId
required

UUID v7

string format: uuid
name
required
string
skipped
required
Array<object>
object
customerId
required

UUID v7

string format: uuid
name
required
string | null
reason
required
string
Allowed values: not_found archived unchanged

Example

{
"done": [
{
"customerId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f"
}
],
"skipped": [
{
"customerId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"reason": "not_found"
}
]
}

Not signed in

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

Not a member of that tenant

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

Validation failed

Media typeapplication/json
object
error
required
string
Allowed values: validation
message
required
string
issues
required
Array<object>
object
path
required
string
message
required
string

Example

{
"error": "validation",
"issues": [
{
"path": "email",
"message": "Invalid email"
}
]
}