---
title: "Create or update contact"
method: POST
path: "/contacts"
tags: ["Contacts"]
---

# Create or update contact

`POST /contacts`

Create a new contact or update existing (upsert by email)

## Request body

- object
  - `email` string, email, required
  - `subscribed` boolean
  - `data` object

## Response `200`

Contact updated

- object
  - `id` string — Unique contact identifier
  - `email` string, email — Contact email address
  - `subscribed` boolean — Subscription status
  - `data` object — Custom contact data fields
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `_meta` object
    - `isNew` boolean
    - `isUpdate` boolean

## Other responses

- `201` — Contact created
- `400` — `email` was not supplied.
- `401` — Missing or invalid API key.

---

[API](https://skmtc.dev/useplunk/apis/plunk-api.md) · [All operations](https://skmtc.dev/useplunk/apis/plunk-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/useplunk/plunk-api/revisions/a13aa5345f8e/schema)
