CUSTOMERS / Customers
deleteCustomer
MockMock. This operation is part of the approved contract but its module is not built yet. Run Core with N1_API_MODE=mock N1_DEV_AUTH=stub to get deterministic demo-shop data from it. The real server answers NOT_IMPLEMENTED until it ships; the schema and examples here will not change when it does.
Delete a customer that has no orders
Delete a customer (soft delete; history is kept). Owner and admin only. CUSTOMER_IN_USE if orders or invoices refer to it: mark it INACTIVE instead.
/graphqlapp audienceWho can call this. Owner and admin. You can run it against Local or Staging from the request panel, with a demo-shop token.
Headers
- AuthorizationstringRequired
Bearer <token>, issued for this endpoint's audience. The token decides the shop and roles; nothing in the request body can change them.Example:
Bearer eyJhbGciOiJFZERTQSJ9… - Content-TypestringRequired
Always
application/json. Only POST is accepted.Example:
application/json - Idempotency-KeystringRequired
A key you generate once per user action (a UUID). Retrying with the same key never applies the change twice.
Example:
0192f0c1-9b2a-7d40-8c3e-1f5a6b7c8d9e - X-Request-IdstringOptional
Your id for this request (8–128 characters of A–Z a–z 0–9 . _ : -). Echoed back in the response header and in every error, so you can quote it when reporting a problem. Core makes one if you send none.
Example:
app-7f3c2a9e-checkout
Arguments
- idID!Required
The customer id.
Example:
"0192f0c1-0000-7000-8000-0000000c000d"
Returns
- deleteCustomerBoolean!Required
Delete a customer (soft delete; history is kept). Owner and admin only.
CUSTOMER_IN_USEif orders or invoices refer to it: mark it INACTIVE instead.
Errors
| Code | HTTP | When |
|---|---|---|
CUSTOMER_IN_USE | 409 | Deleting a customer that sales orders or invoices refer to. Mark the customer inactive instead. |
Every error has the same body. See Errors.
Rate limit tier
Tier: per user. Over the limit you get RATE_LIMITED (HTTP 429) with a Retry-After header. See Response handling.