---
title: "Create Customer"
method: POST
path: "/customers"
tags: ["Customers"]
---

# Create Customer

`POST /customers`

This operation is used to created a new customer.

## Request body

- CreateCustomerRequest
  - `idempotencyKey` string, required — A Unique Identifier that is required for handling idempotent requests. Note: Moneris encourages the use of UUID Version 4 in APIs as an idempotency key."
  - `firstName` string, nullable — First name.
  - `middleName` string, nullable — Customer's middle name.
  - `lastName` string, nullable — Last name.
  - `companyName` string, nullable — Identifies the associated company name
  - `address` object, nullable — The postal address including street, town/city, province, and postal code. Optionally an unit number can be provided.
    - `unitNumber` string, nullable — Unit number
    - `streetNumber` string, nullable — Street number
    - `streetName` string, nullable — Street name
    - `city` string, nullable — Identifies the city.
    - `province` string, iso-3166-2, nullable — Province or state ISO 3166-2 code
    - `postalCode` string, nullable — Postal or zip code
    - `country` string, iso-3166, nullable — Provides the two letter country code according the ISO 3166-1 alpha-2 standard. For a complete list of country codes, visit: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.
  - `shippingAddress` object, nullable — The postal address including street, town/city, province, and postal code. Optionally an unit number can be provided.
    - `unitNumber` string, nullable — Unit number
    - `streetNumber` string, nullable — Street number
    - `streetName` string, nullable — Street name
    - `city` string, nullable — Identifies the city.
    - `province` string, iso-3166-2, nullable — Province or state ISO 3166-2 code
    - `postalCode` string, nullable — Postal or zip code
    - `country` string, iso-3166, nullable — Provides the two letter country code according the ISO 3166-1 alpha-2 standard. For a complete list of country codes, visit: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.
  - `phoneNumber` string, nullable — Phone number.
  - `email` string, email, nullable — Contains the customer's email address. For standard email protocols, visit: https://www.rfc-editor.org/rfc/rfc5322
  - `customData` CustomData, nullable — Merchant can send custom meta data with the transaction in this object. Moneris will echo these values back in response.

## Response `201`

Customer operation result response

- Customer
  - `customerId` string, required — Unique Identification for the Customer
  - `merchantId` string, required — Thirteen character long identification provided to merchants by Moneris.
  - `createdAt` string, date-time, required — Time at which the object was created
  - `modifiedAt` string, date-time, nullable — Time at which the object was modified
  - `firstName` string, nullable — First name.
  - `middleName` string, nullable — Customer's middle name.
  - `lastName` string, nullable — Last name.
  - `companyName` string, nullable — Identifies the associated company name
  - `address` object, nullable — The postal address including street, town/city, province, and postal code. Optionally an unit number can be provided.
    - `unitNumber` string, nullable — Unit number
    - `streetNumber` string, nullable — Street number
    - `streetName` string, nullable — Street name
    - `city` string, nullable — Identifies the city.
    - `province` string, iso-3166-2, nullable — Province or state ISO 3166-2 code
    - `postalCode` string, nullable — Postal or zip code
    - `country` string, iso-3166, nullable — Provides the two letter country code according the ISO 3166-1 alpha-2 standard. For a complete list of country codes, visit: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.
  - `shippingAddress` object, nullable — The postal address including street, town/city, province, and postal code. Optionally an unit number can be provided.
    - `unitNumber` string, nullable — Unit number
    - `streetNumber` string, nullable — Street number
    - `streetName` string, nullable — Street name
    - `city` string, nullable — Identifies the city.
    - `province` string, iso-3166-2, nullable — Province or state ISO 3166-2 code
    - `postalCode` string, nullable — Postal or zip code
    - `country` string, iso-3166, nullable — Provides the two letter country code according the ISO 3166-1 alpha-2 standard. For a complete list of country codes, visit: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.
  - `phoneNumber` string, nullable — Phone number.
  - `email` string, email, nullable — Contains the customer's email address. For standard email protocols, visit: https://www.rfc-editor.org/rfc/rfc5322
  - `customData` CustomData, nullable — Merchant can send custom meta data with the transaction in this object. Moneris will echo these values back in response.

## Other responses

- `400` — Bad Request.
- `401` — Not authorized. The user does not have a valid API Key or Access Token.
- `403` — Forbidden. The user does not have permission to access the requested resource.
- `409` — Request could not be completed due to a conflict with resource state or existing idempotency key.
- `422` — The API cannot complete the requested action due to semantic or business validation errors.
- `429` — Too Many Requests
- `500` — Unexpected error.
- `503` — Service Temporarily Unavailable

---

[API](https://skmtc.net/moneris/apis/moneris-api.md) · [All operations](https://skmtc.net/moneris/apis/moneris-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/moneris/moneris-api/revisions/edefcc925b74/schema)
