---
title: "Create a card-on-file customer"
method: POST
path: "/v1/customers"
tags: ["CUSTOMERS"]
---

# Create a card-on-file customer

`POST /v1/customers`

Creates a card-on-file (COF) customer record for e-commerce transations. If you do not want to save card data for the customer, use the [create a customer](https://docs.clover.com/reference/customerscreatecustomer) in the Platform API.

## Headers

- `User-Agent` string, required

## Request body

- object
  - `ecomind` 'ecom' | 'moto' — Indicates who entered the card data used for a charge - customer (ecom) or merchant (moto).
  - `email` string, required — Customer's email address.
  - `firstName` string — Customer's first name.
  - `lastName` string — Customer's last name.
  - `name` string — Customer's full name.
  - `source` string, required — Payment source to charge, such as `token` or `ACH`.
  - `phone` string — Customer's phone number.
  - `shipping` Shipping
    - `address` Address, required
      - `city` string, nullable — City of the customer's address. Can include district, suburb, town, or village.
      - `country` string, nullable — Country code. Format: 2 characters
      - `line1` string, nullable — First line of the customer's address. Can include the street address, PO box, or company name.
      - `line2` string, nullable — Second line of the customer's address. Can include the apartment, suite, unit, or building number.
      - `postal_code` string, nullable — Postal or ZIP code of the customer's address.
      - `state` string, nullable — State of the customer's address. Can include county, province, or region.
    - `carrier` string, nullable — Delivery service to ship the physical product. Example: DHL, Fedex, US Postal Service (USPS), and so on.
    - `name` string, nullable — Recipient name for the shipped product.
    - `phone` string, nullable — Phone number, including extension, of the recipient.
    - `tracking_number` string, nullable — Shipment number provided by the carrier. Use a comma-separated list for multiple tracking numbers.

## Response `200`

Successful response. Card-on-file (COF) customer record for e-commerce transactions created.

- Customer
  - `created` integer, required — Displays results based on the object's created field. Values: String with a Unix timestamp (in milliseconds). Dictionary of multiple options describing a time range.
  - `currency` string — Three-letter [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html).
  - `default_source` string, nullable — Universally unique identifier (UUID) of the customer's default payment source.
  - `delinquent` boolean, nullable — For an invoice charged automatically, `delinquent` is `true` if the invoice's charge fails. For an invoice that is sent to the customer, `delinquent` is `true` if the invoice is not paid by its due date.
  - `description` string, nullable — Description about the customer.
  - `email` string, nullable — Customer email address.
  - `id` string, required — Unique identifier of the customer.
  - `metadata` object — Set of key-value pairs that you can attach to the object. This parameter is useful for storing additional information about the object in a structured format. Length: Maximum 500 characters
  - `object` 'customer', required — Object type. Objects with the same type have the same value.
  - `shipping` Shipping
    - `address` Address, required
      - `city` string, nullable — City of the customer's address. Can include district, suburb, town, or village.
      - `country` string, nullable — Country code. Format: 2 characters
      - `line1` string, nullable — First line of the customer's address. Can include the street address, PO box, or company name.
      - `line2` string, nullable — Second line of the customer's address. Can include the apartment, suite, unit, or building number.
      - `postal_code` string, nullable — Postal or ZIP code of the customer's address.
      - `state` string, nullable — State of the customer's address. Can include county, province, or region.
    - `carrier` string, nullable — Delivery service to ship the physical product. Example: DHL, Fedex, US Postal Service (USPS), and so on.
    - `name` string, nullable — Recipient name for the shipped product.
    - `phone` string, nullable — Phone number, including extension, of the recipient.
    - `tracking_number` string, nullable — Shipment number provided by the carrier. Use a comma-separated list for multiple tracking numbers.
  - `sources` object, required — Customer's payment `source`s if available
    - `data` string[], required — Payment sources of the customer.
    - `has_more` boolean, required — Set to `true` if there is another page of list items after the current page.
    - `object` 'list', required — Object type, set to list. Objects with the same type have the same value.
    - `url` string, required — URL of the list of sources

## Other responses

- `400` — Bad request.

---

[API](https://skmtc.net/clover/apis/platform-api.md) · [All operations](https://skmtc.net/clover/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clover/platform-api/versions/08da265101a3/schema)
