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)
StageAPISync / async
CreatePOST /customersAsync (jobID)
Read / update contactGET / PATCH /customers/{customerID}Sync
Contract changePATCH /customers/{customerID}/contractAsync (jobID)
SuspendPOST /customers/{customerID}/suspendSync (204)
ResumePOST /customers/{customerID}/resumeSync (204)
DeleteDELETE /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:

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}/resume

Returns 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



Did this page help you?