Medusa
Store APIAdmin API
Store APIAdmin API
Discord
Twitter
Linkedin
Github
  1. Customers
  • Getting Started
    • Introduction
    • Authentication
    • HTTP Compression
    • Publishable API Key
    • Expanding Fields
    • Selecting Fields
    • Query Parameter Types
    • Pagination
  • Auth
    • Check if Email Exists
      GET
    • Customer Login (JWT)
      POST
    • Customer Login (JWT)
      POST
    • Customer Log out
      DELETE
    • Get Current Customer
      GET
    • Customer Login
      POST
  • Carts
    • Create Payment Sessions
      POST
    • Update a Payment Session
      POST
    • Delete a Payment Session
      DELETE
    • Create a Cart
      POST
    • Get a Cart
      GET
    • Update a Cart
      POST
    • Remove Discount
      DELETE
    • Add a Line Item
      POST
    • Update a Line Item
      POST
    • Delete a Line Item
      DELETE
    • Select a Payment Session
      POST
    • Refresh a Payment Session
      POST
    • Add Shipping Method
      POST
    • Calculate Cart Taxes
      POST
    • Complete a Cart
      POST
  • Customers
    • Get Saved Payment Methods
      GET
    • Request Password Reset
      POST
    • Update a Shipping Address
      POST
    • Delete an Address
      DELETE
    • Create a Customer
      POST
    • Get a Customer
      GET
    • Update Customer
      POST
    • Add a Shipping Address
      POST
    • Reset Password
      POST
    • List Orders
      GET
  • Gift Cards
    • Get Gift Card by Code
  • Orders
    • Claim Order
    • Verify Order Claim
    • Look Up an Order
    • Get by Cart ID
    • Get an Order
  • Order Edits
    • Retrieve an Order Edit
    • Decline an Order Edit
    • Complete an Order Edit
  • Payment Collections
    • Refresh a Payment Session
    • Authorize Payment Session
    • Get a PaymentCollection
    • Create a Payment Session
    • Manage Payment Sessions
    • Authorize Payment Sessions
  • Products
    • Search Products
    • Get a Product
    • List Products
  • Product Variants
    • Get Product Variants
    • Get a Product Variant
  • Product Categories
    • Get a Product Category
    • List Product Categories
  • Product Collections
    • List Collections
    • Get a Collection
  • Product Tags
    • List Product Tags
  • Product Types
    • List Product Types
  • Regions
    • Get a Region
    • List Regions
  • Returns
    • Create Return
  • Return Reasons
    • List Return Reasons
    • Get a Return Reason
  • Shipping Options
    • List for Cart
    • Get Shipping Options
  • Swaps
    • Create a Swap
    • Get by Cart ID
  1. Customers

Create a Customer

POST
/store/customers
Customers
Register a new customer. This will also automatically authenticate the customer and set their login session in the response Cookie header. The cookie session can be used in subsequent requests to authenticate the customer. When using Medusa's JS or Medusa React clients, the cookie is automatically attached to subsequent requests.

Request

Body Params application/json
The details of the customer to create.
first_name
string 
required
The customer's first name.
last_name
string 
required
The customer's last name.
email
string <email>
required
The customer's email.
password
string <password>
required
The customer's password.
phone
string 
optional
The customer's phone number.
Example
{
    "first_name": "string",
    "last_name": "string",
    "email": "user@example.com",
    "password": "pa$$word",
    "phone": "string"
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.medusa-commerce.com/store/customers' \
--header 'Content-Type: application/json' \
--data-raw '{
    "first_name": "string",
    "last_name": "string",
    "email": "user@example.com",
    "password": "pa$$word",
    "phone": "string"
}'

Responses

🟢200OK
application/json
Body
The customer's details.
customer
object (Customer) 
required
A customer can make purchases in your store and manage their profile.
id
string 
required
The customer's ID
Example:
cus_01G2SG30J8C85S4A5CHM2S1NS2
email
string <email>
required
The customer's email
first_name
string  | null 
required
The customer's first name
Example:
Arno
last_name
string  | null 
required
The customer's last name
Example:
Willms
billing_address_id
string  | null 
required
The customer's billing address ID
Example:
addr_01G8ZH853YPY9B94857DY91YGW
phone
string  | null 
required
The customer's phone number
Example:
16128234334802
has_account
boolean 
required
Whether the customer has an account or not
Default:
false
created_at
string <date-time>
required
The date with timezone at which the resource was created.
updated_at
string <date-time>
required
The date with timezone at which the resource was updated.
deleted_at
string <date-time> | null 
required
The date with timezone at which the resource was deleted.
orders
array [object] 
optional
The details of the orders this customer placed.
metadata
object  | null 
required
An optional key-value map with additional details
Example:
{"car":"white"}
groups
array[object (Customer Group) {8}] 
optional
The customer groups the customer belongs to.
billing_address
object (Address) 
optional
An address is used across the Medusa backend within other schemas and object types. For example, a customer's billing and shipping addresses both use the Address entity.
shipping_addresses
array[object (Address) {18}] 
optional
The details of the shipping addresses associated with the customer.
Example
{
    "customer": {
        "id": "cus_01G2SG30J8C85S4A5CHM2S1NS2",
        "email": "user@example.com",
        "first_name": "Arno",
        "last_name": "Willms",
        "billing_address_id": "addr_01G8ZH853YPY9B94857DY91YGW",
        "phone": 16128234334802,
        "has_account": false,
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z",
        "deleted_at": "2019-08-24T14:15:22Z",
        "orders": [
            {}
        ],
        "metadata": {
            "car": "white"
        },
        "groups": [
            {
                "id": "cgrp_01G8ZH853Y6TFXWPG5EYE81X63",
                "name": "VIP",
                "created_at": "2019-08-24T14:15:22Z",
                "updated_at": "2019-08-24T14:15:22Z",
                "deleted_at": "2019-08-24T14:15:22Z",
                "customers": [
                    {}
                ],
                "price_lists": [
                    {}
                ],
                "metadata": {
                    "car": "white"
                }
            }
        ],
        "billing_address": {
            "id": "addr_01G8ZC9VS1XVE149MGH2J7QSSH",
            "customer_id": "cus_01G2SG30J8C85S4A5CHM2S1NS2",
            "customer": {},
            "company": "Acme",
            "first_name": "Arno",
            "last_name": "Willms",
            "address_1": "14433 Kemmer Court",
            "address_2": "Suite 369",
            "city": "South Geoffreyview",
            "province": "Kentucky",
            "postal_code": 72093,
            "phone": 16128234334802,
            "created_at": "2019-08-24T14:15:22Z",
            "updated_at": "2019-08-24T14:15:22Z",
            "deleted_at": "2019-08-24T14:15:22Z",
            "country_code": "st",
            "metadata": {
                "car": "white"
            },
            "country": {
                "id": 109,
                "name": "ITALY",
                "display_name": "Italy",
                "region_id": "reg_01G1G5V26T9H8Y0M4JNE3YGA4G",
                "region": {},
                "iso_2": "it",
                "iso_3": "ita",
                "num_code": 380
            }
        },
        "shipping_addresses": [
            {
                "id": "addr_01G8ZC9VS1XVE149MGH2J7QSSH",
                "customer_id": "cus_01G2SG30J8C85S4A5CHM2S1NS2",
                "customer": {},
                "company": "Acme",
                "first_name": "Arno",
                "last_name": "Willms",
                "address_1": "14433 Kemmer Court",
                "address_2": "Suite 369",
                "city": "South Geoffreyview",
                "province": "Kentucky",
                "postal_code": 72093,
                "phone": 16128234334802,
                "created_at": "2019-08-24T14:15:22Z",
                "updated_at": "2019-08-24T14:15:22Z",
                "deleted_at": "2019-08-24T14:15:22Z",
                "country_code": "st",
                "metadata": {
                    "car": "white"
                },
                "country": {
                    "id": 109,
                    "name": "ITALY",
                    "display_name": "Italy",
                    "region_id": "reg_01G1G5V26T9H8Y0M4JNE3YGA4G",
                    "region": {},
                    "iso_2": "it",
                    "iso_3": "ita",
                    "num_code": 380
                }
            }
        ]
    }
}
🟠400Client Error or Multiple Errors
🟠404Not Found Error
🟠409Invalid State Error
🟠422A customer with the same email exists
🔴500Server Error
Modified at 2024-01-06 03:57:20
Previous
Delete an Address
Next
Get a Customer
Built with