---
title: "Register a customer"
method: POST
path: "/open-api/v3/scan2pay/customer/register"
tags: ["Customer"]
---

# Register a customer

`POST /open-api/v3/scan2pay/customer/register`

Creates a customer profile by submitting identity, contact, and
supporting document information required for compliance review.
Returns the customer record together with the Interlace customer
identifier.

## Request body

- RegisterCustomerReqDTO
  - `customerEmail` string, required — Email address
  - `version` string — API version associated with the customer onboarding request
  - `firstName` string, required — First name
  - `lastName` string, required — Last name
  - `dateOfBirth` string, required — Date of birth in YYYY-MM-DD format
  - `gender` 'M' | 'F', required — Gender code. Use M for male or F for female.
  - `nationality` string, required — Nationality country code (ISO 3166-1 alpha-2)
  - `nationalId` string, required — Government-issued ID number
  - `idType` 'PASSPORT' | 'ID_CARD', required — Government-issued ID type
  - `issueDate` string — Identity document issue date in YYYY-MM-DD format
  - `expiryDate` string — Identity document expiry date in YYYY-MM-DD format
  - `nationalAddress` Address, required — Mailing or billing address
    - `addressLine1` string, required — Primary address line (Street address / PO Box / Company name). English letters only, numbers and common symbols allowed.
    - `addressLine2` string — Secondary address line (Apartment / Suite / Unit / Building). English letters only, numbers and common symbols allowed.
    - `city` string, required — City. English letters and spaces only.
    - `state` string, required — **State / County / Province / Region**: Required for all countries. - For the US and Canada: must provide the subdivision using the two-letter code (e.g., WA for Washington State). - For other countries without a state/province, repeat the country name. - Allowed characters: English letters, numbers, and common symbols.
    - `country` string, required — Two-letter country code, as defined in ISO 3166-1 alpha-2. Example: US
    - `postalCode` string, required — Postal / ZIP code of the address.
  - `mailAddress` Address — Mailing or billing address
    - `addressLine1` string, required — Primary address line (Street address / PO Box / Company name). English letters only, numbers and common symbols allowed.
    - `addressLine2` string — Secondary address line (Apartment / Suite / Unit / Building). English letters only, numbers and common symbols allowed.
    - `city` string, required — City. English letters and spaces only.
    - `state` string, required — **State / County / Province / Region**: Required for all countries. - For the US and Canada: must provide the subdivision using the two-letter code (e.g., WA for Washington State). - For other countries without a state/province, repeat the country name. - Allowed characters: English letters, numbers, and common symbols.
    - `country` string, required — Two-letter country code, as defined in ISO 3166-1 alpha-2. Example: US
    - `postalCode` string, required — Postal / ZIP code of the address.
  - `idFrontId` string, required — Numeric string representing the file identifier for the front of the identity document, returned by the Scan-to-Pay file upload endpoint.
  - `idBackId` string, required — Numeric string representing the file identifier for the back of the identity document, returned by the Scan-to-Pay file upload endpoint.
  - `idHoldId` string, required — Numeric string representing the file identifier for the selfie holding the identity document, returned by the Scan-to-Pay file upload endpoint.
  - `ipAddress` string — IP address captured during customer onboarding
  - `phoneNumber` string, required — Phone number without the country calling code
  - `phoneCountryCode` string, required — International calling code, digits only, without the plus sign
  - `occupation` '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09' | '10' | '11' | '12' | '13' | '14' | '15' | '16' — Occupation code. 01=Office employee, 02=Freelancer, 03=Self-employed business owner, 04=Public sector employee, 05=State-owned enterprise employee, 06=Healthcare professional, 07=Teacher, 08=Construction worker, 09=Ride-hailing or logistics driver, 10=E-commerce professional, 11=Food service employee, 12=Financial services professional, 13=Unemployed or no fixed occupation, 14=Retired, 15=Student, 16=Other
  - `transactionCountries` string[], required — Transaction country codes to activate for Scan-to-Pay

## Response `200`

Successful operation

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.dev/interlace/apis/core-resource.md) · [All operations](https://skmtc.dev/interlace/apis/core-resource/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/interlace/core-resource/revisions/29c08a4da357/schema)
