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

# Create a contact

`POST /contacts`

## Request

- Base URL: `https://ledgerhq.pro/api/v1`
- URL: `https://ledgerhq.pro/api/v1/contacts`
- Auth: one of:
  - HTTP bearer and API key in header `x-organization-id`
  - HTTP bearer and API key in header `x-organization-id`

Refused with 409 code duplicate_contact and existingContact (id, name, type, isActive) when a live contact in the company already has the same normalized name (case, punctuation, spacing, a leading "The" and a trailing LLC/Inc-style suffix are ignored). Use the existing contact, or PATCH its type to both, instead of creating a duplicate.

## Request body

- object
  - `name` string, required
  - `email` string, email, nullable
  - `phone` string, nullable
  - `taxNumber` string, nullable
  - `type` 'customer' | 'supplier' | 'both'
  - `paymentTermsDays` integer
  - `notes` string, nullable
  - `currencyCode` string

## Response `201`

Created contact

## Other responses

- `409`: duplicate_contact: a contact with this name already exists
- `default`: Error response

---

[API](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api.md) · [All operations](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/revisions/9a8269f0a586?raw)
