Creates a customer so you can open a reward for them before they have ever ordered. shop_customer_id is required, along with at least one of first_name, last_name, email or phone_number. The orders Onward later ingests for that customer update this same record instead of creating another.
A customer that already exists returns 409 with no body, and nothing is written. Treat 201 and 409 alike: both mean the customer now exists. Read it with GET /customers/{shopCustomerId} if you need the record after a 409.
Your unique identifier for the Customer. For a Shopify shop, the numeric Shopify customer ID (6072418623), not the GID. Must be unique across your customers and stable over time — Onward uses it to look up and de-duplicate customers, so the same value must always refer to the same customer.
- https://app.useonward.com/api/v1https://app.useonward.com/api/v1/customers
curl -i -X POST \
https://app.useonward.com/api/v1/customers \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'X-API-Key: YOUR_API_KEY_HERE' \
-d '{
"shop_customer_id": "6072418623",
"first_name": "Sally",
"last_name": "Loo",
"email": "sally@example.com",
"phone_number": "+13105551234"
}'The customer was created.
Your unique identifier for the Customer. For a Shopify shop, the numeric Shopify customer ID (6072418623), not the GID. Must be unique across your customers and stable over time — Onward uses it to look up and de-duplicate customers, so the same value must always refer to the same customer.
{ "shop_customer_id": "6072418623", "first_name": "Sally", "last_name": "Loo", "email": "sally@example.com", "phone_number": "+13105551234", "rewards": [ { … } ] }