# POST /api/v1/inboxes/:id/forwarding/verifications

Auth: Bearer

HTML: https://cooperemail.com/docs/reference/request-forwarding

## Summary

Email a 6-digit confirmation code to an external address. Body is {email, client_id?}. HTTP 202 while pending. HTTP 200 when the address is already verified, and no mail is sent. The code is not stored in a Cooper inbox and is not returned. The same client_id returns the original destination. At most 5 destinations (409 forwarding_limit). The inbox itself, an address at cooperemail.com, and any Cooper inbox are 400 forwarding_target_not_allowed. Limited to 5 emails per hour per IP and 3 per day per address (429 rate_limited). Write permission is inbox_update. Forwards later count toward the monthly send quota.

## Request

```json
{
  "email": "archive@example.com"
}
```

## Response

The OpenAPI document does not declare a JSON response schema for this call. The summary is the contract.

## Errors

- HTTP 409 forwarding_limit
- HTTP 400 forwarding_target_not_allowed
- HTTP 429 rate_limited

The live `message` is the sentence for that code. Branch on `code`.

```json
{
  "error": {
    "type": "conflict",
    "code": "forwarding_limit",
    "docs_url": "https://cooperemail.com/docs#forwarding_limit"
  }
}
```

## Idempotency

client_id makes this write idempotent. Sending the same client_id again returns the original object instead of creating a duplicate.
