---
title: "Schedule customer deletion (freeze account)."
method: POST
path: "/customers/{id}/freeze"
tags: ["Customer"]
---

# Schedule customer deletion (freeze account).

`POST /customers/{id}/freeze`

Marks the customer for deletion. The account enters 'frozen' state immediately.
Active calls are terminated and new operations are blocked.
The customer has 30 days to recover before permanent deletion.
Admin-only endpoint.

## Path parameters

- `id` string, required

## Response `200`

- CustomerManagerCustomerAdmin — Full customer object returned by admin-only endpoints (`/customers`, `/customers/{id}`, `/customers/{id}/metadata`, `/customers/{id}/billing_account_id`, `/customers/{id}/freeze`, `/customers/{id}/recover`). Extends `CustomerManagerCustomer` with internal fields that are never exposed to regular users via `/customer` (singular) endpoints.
  - `id` string, uuid — The unique identifier of the customer.
  - `name` string — Name of the customer.
  - `detail` string — Details about the customer.
  - `email` string, email — Email address of the customer.
  - `phone_number` string — Customer's contact phone number in E.164 format.
  - `address` string — Address of the customer.
  - `webhook_method` '' | 'POST' | 'GET' | 'PUT' | 'DELETE' — The HTTP method used for webhook (e.g., POST, GET, PUT, DELETE).
  - `webhook_uri` string — URI where webhook events are delivered.
  - `billing_account_id` string, uuid — The unique identifier of the customer's default billing account. Returned from the `GET /billing_accounts/{id}` response.
  - `metadata` CustomerManagerMetadata — Configuration flags for a customer account. Controls platform behavior such as RTP packet capture for debugging audio issues. Updatable by CustomerAdmin via `PUT /customer/metadata` or by ProjectSuperAdmin via `PUT /customers/{id}/metadata`.
    - `rtp_debug` boolean — When set to `true`, RTPEngine captures RTP traffic as PCAP files for this customer's calls. Use this to debug audio quality issues (one-way audio, codec problems, jitter). Default is `false`. Enabling this increases storage usage — disable after debugging.
  - `email_verified` boolean — Whether the customer's email has been verified.
  - `status` 'initial' | 'active' | 'frozen' | 'deleted' | 'expired' — Account lifecycle status.
  - `identity_verification_status` 'none' | 'pending' | 'verified' | 'rejected' — Customer's identity verification status. Determines access to PSTN number purchases and outbound PSTN calls.
  - `tm_deletion_scheduled` string, date-time — Timestamp when account deletion was requested. Null if not scheduled.
  - `tm_create` string, date-time — Timestamp when the customer was created.
  - `tm_update` string, date-time — Timestamp when the customer was last updated.
  - `tm_delete` string, date-time — Timestamp when the customer was deleted.
  - `terms_agreed_version` string — Version identifier of the Terms of Service the customer agreed to. Format: `YYYY-MM-DD` date string matching a published ToS revision.
  - `terms_agreed_ip` string, ipv4 — IPv4 address from which the customer accepted the Terms of Service. Logged for legal compliance and audit trail.

## Other responses

- `400` — Invalid request (INVALID_ARGUMENT).
- `401` — Authentication required (UNAUTHENTICATED).
- `403` — Insufficient permission (PERMISSION_DENIED).
- `404` — Resource not found (NOT_FOUND).
- `500` — Internal error (INTERNAL).

---

[API](https://skmtc.net/voipbin/apis/voipbin-api.md) · [All operations](https://skmtc.net/voipbin/apis/voipbin-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voipbin/voipbin-api/versions/79e779080bcc/schema)
