---
title: "Create a contact"
method: POST
path: "/v1/contacts/create"
tags: ["Contacts"]
---

# Create a contact

`POST /v1/contacts/create`

Add a contact to your audience.

## Request body

- ContactRequest
  - `email` string, required — The contact's email address.
  - `firstName` string — The contact's first name.
  - `lastName` string — The contact's last name.
  - `source` string — A custom source value to replace the default “API”.
  - `subscribed` boolean — Whether the contact will receive campaign and workflow emails. All new contacts are subscribed by default.
  - `userGroup` string — The contact's user group.
  - `userId` string — A unique user ID (for example, from an external application).
  - `mailingLists` MailingListSubscriptions — Manage mailing list subscriptions. Include key-value pairs of mailing list IDs and a `boolean` denoting if the contact should be added (`true`) or removed (`false`) from the list.

## Response `200`

Successful create.

- ContactSuccessResponse
  - `success` boolean, required
  - `id` string, required

## Other responses

- `400` — Bad request (e.g. invalid email address).
- `405` — Wrong HTTP request method.
- `409` — Email or `userId` already exists.

---

[API](https://skmtc.net/loops/apis/loops-openapi-spec.md) · [All operations](https://skmtc.net/loops/apis/loops-openapi-spec/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/loops/loops-openapi-spec/revisions/9cc087257f0d/schema)
