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

# Create a contact

`POST /contacts`

## Request

- Base URL: `https://api.thrivedesk.com/v1`
- URL: `https://api.thrivedesk.com/v1/contacts`
- Auth: HTTP bearer

Create a contact.

## Request body

- ContactCreate
  - `email` string, email, required: The only field persisted on create. Set the remaining profile fields with a follow-up `PATCH /v1/contacts/{contact_id}`.

## Response `201`

Success.

- ContactCreateResponse
  - `message` string, required
  - `contact` Contact, required: A person who sends or receives messages.
    - `id` string
    - `name` string, nullable
    - `email` string, email
    - `avatar` string, uri, nullable
    - `company` string, nullable
    - `website` string, nullable
    - `job_title` string, nullable
    - `address` string, nullable
    - `should_display_image` boolean
    - `notes` string, nullable
    - `conversations_count` integer

## Other responses

- `401`: Missing or invalid bearer token.
- `403`: Token is valid but does not include a required scope, or the user does not have access to the resource.
- `404`: Resource not found.
- `422`: Request body failed validation.
- `429`: Rate limit exceeded. The `Retry-After` header indicates how long to wait before retrying. See [Pagination and rate limits](/get-started/pagination) for the full rate-limit policy.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/thrivedesk/apis/thrivedesk-public-api.md) - [All operations](https://skmtc.dev/thrivedesk/apis/thrivedesk-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/thrivedesk/apis/thrivedesk-public-api/revisions/dce9c632a018?raw)
