---
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`

## Request

- Base URL: `https://api-sandbox.interlace.money`
- URL: `https://api-sandbox.interlace.money/open-api/v3/scan2pay/customer/register`
- Auth: API key in header `x-access-token`

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.

For the request structure, see the
[Register Customer Request Resource](https://developer.interlace.money/docs/scan-to-pay#register-customer-request-resource).
For the response structure, see the
[Customer Resource](https://developer.interlace.money/docs/scan-to-pay#customer-resource).

## 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.
  - `frontImageId` string, required: Numeric string representing the uploaded image identifier for the front of the identity document
  - `backImageId` string, required: Numeric string representing the uploaded image identifier for the back of the identity document
  - `holdImageId` string, required: Numeric string representing the uploaded image identifier for the selfie holding the identity document
  - `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` 'EXECUTIVE' | 'MANAGER' | 'BUSINESS_OWNER' | 'PROFESSIONAL' | 'EMPLOYEE' | 'HOMEMAKER' | 'STUDENT' | 'RETIRED' | 'UNEMPLOYED' | 'OTHER': Customer occupation classification
  - `transactionCountries` string[], required: Transaction country codes to activate for Scan-to-Pay

## Response `200`

Successful operation

- ApiResultCustomerRespDTO: Standard API response wrapper
  - `code` string: Business code, 000000 means success
  - `message` string: Message description
  - `data` CustomerRespDTO: Response data, null if error
    - `customerId` string: Numeric string representing a 64-bit Interlace customer identifier
    - `customerEmail` string: Email address
    - `version` string: API version associated with the customer record
    - `firstName` string: First name
    - `lastName` string: Last name
    - `dateOfBirth` string: Date of birth in YYYY-MM-DD format
    - `gender` string: Gender (M/F)
    - `nationality` string: Nationality (ISO 3166-1 alpha-2)
    - `nationalId` string: Government-issued ID number
    - `idType` string: Government-issued ID type
    - `issueDate` string: ID issue date in YYYY-MM-DD format
    - `expiryDate` string: ID expiry date in YYYY-MM-DD format
    - `nationalAddress` 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.
    - `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.
    - `frontImageId` string: Numeric string representing the uploaded image identifier for the front of the identity document
    - `backImageId` string: Numeric string representing the uploaded image identifier for the back of the identity document
    - `holdImageId` string: Numeric string representing the uploaded image identifier for the selfie holding the identity document
    - `ipAddress` string: IP address captured during customer onboarding
    - `phoneNumber` string: Phone number without the country calling code
    - `phoneCountryCode` string: International calling code, digits only, without the plus sign
    - `occupation` 'EXECUTIVE' | 'MANAGER' | 'BUSINESS_OWNER' | 'PROFESSIONAL' | 'EMPLOYEE' | 'HOMEMAKER' | 'STUDENT' | 'RETIRED' | 'UNEMPLOYED' | 'OTHER': Customer occupation classification

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/interlace/apis/scan-to-pay.md) - [All operations](https://skmtc.dev/interlace/apis/scan-to-pay/llms.txt) - [OpenAPI document](https://skmtc.dev/interlace/apis/scan-to-pay/revisions/81f4c583068b?raw)
