Skip to main content
POST
Create Customer

Create Customer

Creates a new customer record in the store. Requires the write_customers scope.

Request

Body Parameters

email
string
required
Customer email address (must be unique)
first_name
string
Customer’s first name
last_name
string
Customer’s last name
phone
string
Customer’s phone number
accepts_marketing
boolean
default:"false"
Whether customer has opted in to marketing emails
note
string
Internal notes about the customer
tags
array
Array of tags. Accepted by the request but not persisted — a customer record has no tags field.
addresses
array
Array of address objects. Only the first address is persisted, and only its flat fields (address1, city, province, country, zip, phone) are stored on the customer record — there is no separate addresses collection. Subsequent addresses are ignored.
A customer record stores a single combined name (built from first_name + last_name), one phone number, the marketing flag, a note, and one flat address. Tags are not stored, and only the first address is persisted.

Response

The response is a bare object keyed by customer containing the newly created, Shopify-shaped customer object (the same shape returned by the read endpoints). There is no { status, data } envelope.
customer
object
The created customer object

Example Response

Errors

Errors are returned as a Shopify-style { "errors": { "base": ["..."] } } body with the corresponding HTTP status code.
StatusDescription
400email is missing, or a customer with this email already exists
401Invalid or missing access token
403App doesn’t have the write_customers scope