# POST /sending/identities

Part of the SendHeron REST API. Base URL: `https://api.sendheron.com/api/v1`

Create a sender identity. The first one in a workspace becomes its default automatically.

```http
POST https://api.sendheron.com/api/v1/sending/identities
Authorization: Bearer <YOUR_API_KEY>
```

**Required scopes:** `sending:write`

**Success status:** `201`

**Rate limit:** 100/min per key, counted against the organization's WRITE ceiling (400/min).

**Body parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `label` | string | yes | Human label shown when picking a sender, e.g. `Acme Billing`. |
| `fromEmail` | string | yes | The From address, e.g. `billing@acme.com`. Accepted whatever its domain, and reported as unsendable until that domain is authenticated in this workspace, so an identity can be prepared before the DNS is in place. |
| `fromName` | string | no | Display name recipients see beside the address. |
| `replyToEmail` | string | no | Where replies go, when that differs from the From address. Its domain does not have to be authenticated. |

> An address whose domain is not authenticated is accepted rather than refused, and reported as unsendable. That is the expected state while DNS propagates, not an error to code around.


---

Rate limits: 100/min per key, counted against the organization's WRITE ceiling (400/min). Both windows are one minute; there is no hourly or daily quota.
