---
title: "Create a new customer"
method: POST
path: "/v1/customer"
tags: ["Customer"]
---

# Create a new customer

`POST /v1/customer`

## Request

- Base URL: `https://api.finalpos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.finalpos.com/v1/customer`
- Auth: API key in header `x-api-key`

Creates a new customer record.

## Request body

- CustomerCreateDto
  - `email` string: Email address of the Customer.
  - `firstName` string: First name of the Customer.
  - `lastName` string: Last name of the Customer.
  - `outletId` string: Outlet ID associated with the Customer.
  - `externalId` string: External ID associated with the Customer when synced from external source. If present, it will set fromFinal to true.
  - `source` string: Source of the customer.
  - `phone` string: Phone number of the Customer.
  - `totalSpent` number: Total amount spent by the Customer.
  - `lastAction` string: Timestamp when the Customer was last actioned.
  - `tags` string[]: Tags associated with the Customer.
  - `billing` AddressDto
    - `address1` string, required: Street address line 1
    - `city` string, required: City
    - `postCode` string, required: Postal/ZIP code
    - `country` string, required: Country
    - `state` string, required: State/Province
    - `address2` string: Street address line 2
    - `phone` string: Phone number
  - `shipping` AddressDto
    - `address1` string, required: Street address line 1
    - `city` string, required: City
    - `postCode` string, required: Postal/ZIP code
    - `country` string, required: Country
    - `state` string, required: State/Province
    - `address2` string: Street address line 2
    - `phone` string: Phone number
  - `metadata` MetadataDto[]: Metadata associated with the Customer.
    - `key` string, required: Key of the metadata entry.
    - `value` string, required: Value of the metadata entry.
    - `externalId` string: External ID associated with the metadata entry.
  - `notes` NoteDto[]: Notes associated with the Customer.
    - `message` string: Message of the Note.

## Response `201`

The customer has been successfully created.

- CustomerResponseDto
  - `id` string: Unique identifier for the Customer.
  - `createdAt` string, date-time: Timestamp when the Customer was created.
  - `updatedAt` string, date-time: Timestamp when the Customer was last updated.
  - `companyId` string: Company ID associated with the Customer.
  - `email` string: Email address of the Customer.
  - `firstName` string: First name of the Customer.
  - `lastName` string: Last name of the Customer.
  - `outletId` string: Outlet ID associated with the Customer.
  - `externalId` string: External ID associated with the Customer when synced from external source. If present, it will set fromFinal to true.
  - `source` string: Source of the customer.
  - `phone` string: Phone number of the Customer.
  - `totalSpent` number: Total amount spent by the Customer.
  - `lastAction` string, date-time: Timestamp when the Customer was last actioned.
  - `tags` string[]: Tags associated with the Customer.
  - `billing` AddressDto
    - `address1` string, required: Street address line 1
    - `city` string, required: City
    - `postCode` string, required: Postal/ZIP code
    - `country` string, required: Country
    - `state` string, required: State/Province
    - `address2` string: Street address line 2
    - `phone` string: Phone number
  - `shipping` AddressDto
    - `address1` string, required: Street address line 1
    - `city` string, required: City
    - `postCode` string, required: Postal/ZIP code
    - `country` string, required: Country
    - `state` string, required: State/Province
    - `address2` string: Street address line 2
    - `phone` string: Phone number
  - `metadata` MetadataDto[]: Metadata associated with the Customer.
    - `key` string, required: Key of the metadata entry.
    - `value` string, required: Value of the metadata entry.
    - `externalId` string: External ID associated with the metadata entry.
  - `notes` NoteDto[]: Notes associated with the Customer.
    - `message` string: Message of the Note.

## Other responses

- `400`: Bad request. Returns validation errors or other request-related errors.

---

[API](https://skmtc.dev/finalpos/apis/final-pos-public-api.md) · [All operations](https://skmtc.dev/finalpos/apis/final-pos-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/finalpos/apis/final-pos-public-api/revisions/6a6842dcb479?raw)
