# Deletion & Deactivation

> Deactivate sub-accounts and understand the 14-day deletion grace period

## Deactivate a Sub-Account (API)

The `DELETE /v1/sub-accounts/:id` endpoint **deactivates** a sub-account immediately. All API keys are revoked and messaging stops.

```typescript
const result = await zavu.subAccounts.deactivate("jx7abc123def456");
console.log(`Keys revoked: ${result.keysRevoked}`);
```

```bash
curl -X DELETE https://api.zavu.dev/v1/sub-accounts/jx7abc123def456 \
  -H "Authorization: Bearer zv_live_xxx"
```

Response:

```json
{
  "message": "Sub-account deactivated",
  "keysRevoked": 2
}
```

> **Info:**
> Deactivation via the API revokes all API keys and sets the sub-account status to `pending_deletion`. It schedules the same 14-day deletion as the dashboard: the sub-account is removed after 14 days unless it is restored from the dashboard first. Calling it again on a sub-account already `pending_deletion` changes nothing. To pause a sub-account without scheduling deletion, set its status to `inactive` with `PATCH /v1/sub-accounts/:id` instead (see [Managing](https://www.zavu.dev/docs/guides/sub-accounts/managing)).

## Delete a Sub-Account (Dashboard)

Permanent deletion is available from the Zavu dashboard and follows a **14-day grace period** to prevent accidental data loss.

### How It Works

  
#### Schedule deletion

    From the dashboard workspace switcher, select the sub-account and choose "Delete". This schedules deletion but does not remove any data yet.
  
  
#### API keys are revoked

    All API keys for the sub-account are revoked immediately. The sub-account can no longer send or receive messages.
  
  
#### Email notifications

    The team owner receives email notifications at multiple intervals:

    | When | Email |
    |------|-------|
    | Day 0 | Deletion scheduled notification |
    | Day 1 | Reminder: 13 days remaining |
    | Day 7 | Reminder: 7 days remaining |
    | Day 12 | Urgent: 2 days remaining |
    | Day 14 | Sub-account permanently deleted |
  
  
#### Restore or wait

    During the 14-day grace period, you can restore the sub-account from the dashboard. After 14 days, all data is permanently deleted.
  

### Restoring a Deleted Sub-Account

If you change your mind during the 14-day grace period:

1. Open the dashboard workspace switcher
2. Find the sub-account marked as "Pending Deletion"
3. Click "Restore"

The sub-account returns to `active` status. You'll need to create new API keys since the originals were revoked.

> **Warning:**
> After 14 days, deletion is **permanent and irreversible**. All messages, contacts, and configuration associated with the sub-account are removed.

## Deletion Rules

- You **cannot delete the last active sub-account** in a team. At least one project must remain active.
- The main account follows the same deletion rules as sub-accounts.
- Scheduled reminder emails are automatically cancelled if the sub-account is restored.

## Deactivation vs Deletion

| Action | API Keys | Data | Reversible | Method |
|--------|----------|------|------------|--------|
| **Pause** (API) | Kept | Preserved | Yes — set status to `active` | `PATCH /v1/sub-accounts/:id` with `"status": "inactive"` |
| **Deactivate** (API) | Revoked | Removed after 14 days | Yes — restore from the dashboard within 14 days | `DELETE /v1/sub-accounts/:id` |
| **Delete** (Dashboard) | Revoked | Removed after 14 days | Yes — within 14 days | Dashboard UI |

## Next Steps

  - [Creating Sub-Accounts](https://www.zavu.dev/docs/guides/sub-accounts/creating): Create new sub-accounts to replace deactivated ones
  - [Managing Sub-Accounts](https://www.zavu.dev/docs/guides/sub-accounts/managing): Monitor spending and manage API keys
