Customer Lifecycle
Create, operate, suspend, change contract, and delete customers
This guide maps the main stages of managing a customer through the Partner API.
Lifecycle overview
Create (async) → Provision users/numbers → Operate → Contract changes (async)
→ Suspend / Resume → Delete (async)
| Stage | API | Sync / async |
|---|---|---|
| Create | POST /customers | Async (jobID) |
| Read / update contact | GET / PATCH /customers/{customerID} | Sync |
| Contract change | PATCH /customers/{customerID}/contract | Async (jobID) |
| Suspend | POST /customers/{customerID}/suspend | Sync (204) |
| Resume | POST /customers/{customerID}/resume | Sync (204) |
| Delete | DELETE /customers/{customerID} | Async (jobID) |
1. Create
POST /customers — see Onboarding a customer.
Track the returned jobID via Async jobs.
2. Read and update
GET /v2/customers/{customerID}
PATCH /v2/customers/{customerID}PATCH updates contact fields only (name, contactEmail, contactNumber). It does not change plan or contract term — use Plans and contracts.
Customer status values: active, inactive, suspended.
3. Operate
Typical day-two operations:
- Numbers and users — add numbers and users, settings, activities
- Hardware orders — catalogue and orders
4. Contract changes
PATCH /customers/{customerID}/contract — plan or term changes (one per request). Details: Plans and contracts.
5. Suspend and resume
Suspend
POST /v2/customers/{customerID}/suspend
Content-Type: application/json
{
"redirectOutboundCallsTo": "+441987654321"
}Returns 204 No Content. Outbound calls are redirected while suspended.
Resume
POST /v2/customers/{customerID}/resumeReturns 204 No Content.
6. Delete
DELETE /v2/customers/{customerID}Returns 202 with { "jobID": "..." }. Deletion is processed asynchronously (company cease). Poll the job or use the customer_deleted webhook.
Related guides
Updated 3 months ago
