---
title: "Create a contact in an audience"
method: POST
path: "/audiences/{audienceId}/contacts"
tags: ["Audiences"]
---

# Create a contact in an audience

`POST /audiences/{audienceId}/contacts`

## Request

- Base URL: `https://api.mepmail.dev`
- URL: `https://api.mepmail.dev/audiences/{audienceId}/contacts`
- Auth: HTTP bearer

Resend-compatible route: creates a contact under an audience id.

## Path parameters

- `audienceId` string, uuid, required

## Request body

- CreateContactRequest
  - `email` string, email, required: Bare email address (no display name); unique per team
  - `first_name` string: First name
  - `last_name` string: Last name
  - `unsubscribed` boolean: Global opt-out from all marketing sends
  - `properties` object: Flat map of custom properties (string or number values)
  - `segments` object[]: Segments to add the contact to on creation
    - `id` string, uuid, required
  - `topics` object[]: Initial per-topic subscription choices
    - `id` string, uuid, required
    - `subscription` 'opt_in' | 'opt_out', required

## Response `200`

Contact created in the audience

- ContactIdResponse
  - `object` 'contact', required
  - `id` string, uuid, required

## Other responses

- `401`: Missing, malformed or invalid API key
- `403`: Plan limit reached
- `404`: Not found
- `409`: Contact already exists
- `422`: Validation error
- `429`: Rate limit exceeded: 600 requests per minute per API key and 3,000 per team; wait for Retry-After

---

[API](https://skmtc.dev/mepmail/apis/mepmail-api.md) · [All operations](https://skmtc.dev/mepmail/apis/mepmail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mepmail/apis/mepmail-api/revisions/262a89f73730?raw)
