---
title: "Create or Update a Customer"
method: POST
path: "/customers"
tags: ["customers"]
---

# Create or Update a Customer

`POST /customers`

Creates a new customer record in the merchant account. In cases when the customer was not created at the time an Authorization was established, use this endpoint to register customer details, such as name, email, and optional metadata, to support your integration.

If an existing `customerId` or `externalId` is provided, the specified customer will be updated with any new or updated properties. To remove properties of an existing customer, set the property to `null`. Before using this endpoint, it may be helpful to call [Get Customer by ID](ref:get-customers-customerid) to obtain the relevant customer object.

## Query parameters

- `externalId` string

## Headers

- `Authorization` string, required

## Request body

- Customer — The Trustly customer object, containing identification details and contact information.
  - `name` string, required — Full name of the Customer
  - `taxId` string — Customer tax ID (e.g. SSN [US], SIN [CA]). *May be required depending on industry and location.*
  - `address` Address, required — Valid mailing or billing address associated with the customer
    - `address1` string — Address line 1 (e.g., street or PO Box)
    - `address2` string — Address line 2 (e.g., apartment, suite or unit number)
    - `city` string — City, district, town or village
    - `state` string — State, province or region code
    - `zip` string — ZIP or Postal Code
    - `country` string, required — 2 character [ISO Country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
  - `phone` string, required — Customer phone number.
  - `email` string, required — Customer email address.
  - `dateOfBirth` string — Customer date of birth.
  - `createdAt` integer — The record created date and time as a UNIX timestamp.
  - `updatedAt` integer — The record created date and time as a UNIX timestamp.
  - `customerId` string — A unique Trustly customer identifier.
  - `externalId` string — A unique merchant customer identifier.
  - `merchantId` string — A unique Trustly merchant identifier.
  - `enrollDate` integer — Date of the user's first transaction in your system, regardless of payment method used as a UNIX timestamp.
  - `vip` string — Range that determines how low-risk the customer represents to the merchant
  - `currency` string — Customer currency.
  - `balance` string — Customer account balance (not associated with a financial institution account).
  - `organizationNumber` string — Organization number for business accounts
  - `externalTier` string — It should describe the customer''s rank to the merchant (e.g. Gold, Diamond, 4 stars, etc.)
  - `personId` string — Unique customer identity throughout different banks.
  - `customData` CustomerCustomData — Object for sending merchant-specific custom data.
  - `driverLicense` DriverLicense
    - `number` string, required — Driver License number.
    - `state` string, required — 2 character ISO State code.
  - `nationalId` string — Customer National ID

## Response `200`

OK

- CustomersPostCustomersResponse200
  - `customer` Customer — The Trustly customer object, containing identification details and contact information.
    - `name` string, required — Full name of the Customer
    - `taxId` string — Customer tax ID (e.g. SSN [US], SIN [CA]). *May be required depending on industry and location.*
    - `address` Address, required — Valid mailing or billing address associated with the customer
      - `address1` string — Address line 1 (e.g., street or PO Box)
      - `address2` string — Address line 2 (e.g., apartment, suite or unit number)
      - `city` string — City, district, town or village
      - `state` string — State, province or region code
      - `zip` string — ZIP or Postal Code
      - `country` string, required — 2 character [ISO Country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
    - `phone` string, required — Customer phone number.
    - `email` string, required — Customer email address.
    - `dateOfBirth` string — Customer date of birth.
    - `createdAt` integer — The record created date and time as a UNIX timestamp.
    - `updatedAt` integer — The record created date and time as a UNIX timestamp.
    - `customerId` string — A unique Trustly customer identifier.
    - `externalId` string — A unique merchant customer identifier.
    - `merchantId` string — A unique Trustly merchant identifier.
    - `enrollDate` integer — Date of the user's first transaction in your system, regardless of payment method used as a UNIX timestamp.
    - `vip` string — Range that determines how low-risk the customer represents to the merchant
    - `currency` string — Customer currency.
    - `balance` string — Customer account balance (not associated with a financial institution account).
    - `organizationNumber` string — Organization number for business accounts
    - `externalTier` string — It should describe the customer''s rank to the merchant (e.g. Gold, Diamond, 4 stars, etc.)
    - `personId` string — Unique customer identity throughout different banks.
    - `customData` CustomerCustomData — Object for sending merchant-specific custom data.
    - `driverLicense` DriverLicense
      - `number` string, required — Driver License number.
      - `state` string, required — 2 character ISO State code.
    - `nationalId` string — Customer National ID

---

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