# POST /contacts

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

Create a new contact.

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

**Required scopes:** `contacts:write`

**Success status:** `201`

**Body parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `email` | string | yes | Contact email address. |
| `firstName` | string | no | First name. |
| `lastName` | string | no | Last name. |
| `properties` | object | no | Arbitrary custom fields, stored as JSONB. |
| `status` | string | no | Initial contact status. |
| `source` | string | no | Where the contact came from. |
| `tagIds` | uuid[] | no | Tags to attach by id. |
| `tagNames` | string[] | no | Tags to attach by name. Names that do not exist yet are created. |

> Use `PUT /contacts` instead if the contact may already exist. `POST` fails on a duplicate email.


---

Rate limits (global, all applied at once): 60 per minute, 150 per 5 minutes, 300 per hour, 2000 per day.
