Shopify Customer API

The Customer API from Shopify — 30 operation(s) for customer.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

shopify-customer-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Shopify Admin REST About Customer API
  description: The Shopify Admin REST API lets you build apps and integrations that extend and enhance the Shopify admin. Access products, customers, orders, inventory, fulfillment, and more. Endpoints are organized by resource type and versioned by release date.
  version: 2025-01
  contact:
    name: Shopify
    url: https://shopify.dev/docs/api/admin-rest
    email: api@shopify.com
  license:
    name: Shopify API Terms
    url: https://www.shopify.com/legal/api-terms
  x-date: '2026-03-04'
servers:
- url: https://{store}.myshopify.com/admin/api/2025-01
  description: Shopify Admin REST API
  variables:
    store:
      default: my-store
      description: The Shopify store subdomain
security:
- AccessToken: []
tags:
- name: Customer
paths:
  /admin/api/2020-01/customers.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                summary: Create a new customer record
              example2:
                value:
                  customer:
                    email: null
                    first_name: null
                    last_name: null
                summary: Creating a customer without an email or name fails and returns an error
              example3:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                    metafields:
                    - key: new
                      value: newvalue
                      value_type: string
                      namespace: global
                summary: Create a customer with a metafield
              example4:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                    send_email_invite: true
                summary: Create a customer with send_email_invite
              example5:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                    password: newpass
                    password_confirmation: newpass
                    send_email_welcome: false
                summary: Create a customer with password and password_confirmation and skip sending the welcome email
      summary: Shopify Creates A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#create-2020-01
      parameters: []
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_customers
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/customers/{customer_id}.json:
    get:
      summary: Shopify Retrieves A Single Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#show-2020-01
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      - in: query
        name: fields
        description: Show only certain fields, specified by a comma-separated list of field names.
        schema: {}
        required: false
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_get_customers_param_customer_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  customer:
                    id: 207119551
                    email: changed@email.address.com
                    note: Customer is a great guy
                summary: Update details for a customer
              example2:
                value:
                  customer:
                    id: 207119551
                    metafields:
                    - key: new
                      value: newvalue
                      value_type: string
                      namespace: global
                summary: Add metafield to an existing customer
              example3:
                value:
                  customer:
                    id: 207119551
                    tags: New Customer, Repeat Customer
                summary: Update a customer's tags
              example4:
                value:
                  customer:
                    id: 207119551
                    accepts_marketing: true
                    accepts_marketing_updated_at: '2020-11-01T16:46:41-05:00'
                    marketing_opt_in_level: confirmed_opt_in
                summary: Update a customer's marketing opt-in state
      summary: Shopify Updates A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#update-2020-01
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_update_customers_param_customer_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    delete:
      summary: Shopify Deletes A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#destroy-2020-01
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_delete_customers_param_customer_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/customers/{customer_id}/account_activation_url.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Creating an account activation URL for an enabled customer fails and returns an error
              example2:
                value: {}
                summary: Create an account activation URL for an invited or disabled customer
      summary: Shopify Generate An Account Activation Url For A Customer Whose Account Is Not Yet Enabled
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#account_activation_url-2020-01
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_customers_param_customer_id_account_activation_url
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/customers/{customer_id}/send_invite.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  customer_invite: {}
                summary: Send the default invite
              example2:
                value:
                  customer_invite:
                    to: new_test_email@shopify.com
                    from: noaccesssteve@jobs.com
                    bcc:
                    - noaccesssteve@jobs.com
                    subject: Welcome to my new shop
                    custom_message: My awesome new store
                summary: Send a customized invite
      summary: Shopify Sends An Account Invite To A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#send_invite-2020-01
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_customers_param_customer_id_send_invite
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/customers/{customer_id}/orders.json:
    get:
      summary: Shopify Retrieves All Orders Belonging To A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#orders-2020-01
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_get_customers_param_customer_id_orders
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/customers.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                summary: Create a new customer record
              example2:
                value:
                  customer:
                    email: null
                    first_name: null
                    last_name: null
                summary: Creating a customer without an email or name fails and returns an error
              example3:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                    metafields:
                    - key: new
                      value: newvalue
                      value_type: string
                      namespace: global
                summary: Create a customer with a metafield
              example4:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                    send_email_invite: true
                summary: Create a customer with send_email_invite
              example5:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                    password: newpass
                    password_confirmation: newpass
                    send_email_welcome: false
                summary: Create a customer with password and password_confirmation and skip sending the welcome email
      summary: Shopify Creates A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#create-2020-04
      parameters: []
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_create_customers
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/customers/{customer_id}.json:
    get:
      summary: Shopify Retrieves A Single Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#show-2020-04
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      - in: query
        name: fields
        description: Show only certain fields, specified by a comma-separated list of field names.
        schema: {}
        required: false
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_get_customers_param_customer_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  customer:
                    id: 207119551
                    email: changed@email.address.com
                    note: Customer is a great guy
                summary: Update details for a customer
              example2:
                value:
                  customer:
                    id: 207119551
                    metafields:
                    - key: new
                      value: newvalue
                      value_type: string
                      namespace: global
                summary: Add metafield to an existing customer
              example3:
                value:
                  customer:
                    id: 207119551
                    tags: New Customer, Repeat Customer
                summary: Update a customer's tags
              example4:
                value:
                  customer:
                    id: 207119551
                    accepts_marketing: true
                    accepts_marketing_updated_at: '2020-11-01T16:46:41-05:00'
                    marketing_opt_in_level: confirmed_opt_in
                summary: Update a customer's marketing opt-in state
      summary: Shopify Updates A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#update-2020-04
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_update_customers_param_customer_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    delete:
      summary: Shopify Deletes A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#destroy-2020-04
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_delete_customers_param_customer_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/customers/{customer_id}/account_activation_url.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Creating an account activation URL for an enabled customer fails and returns an error
              example2:
                value: {}
                summary: Create an account activation URL for an invited or disabled customer
      summary: Shopify Generate An Account Activation Url For A Customer Whose Account Is Not Yet Enabled
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#account_activation_url-2020-04
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_create_customers_param_customer_id_account_activation_url
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/customers/{customer_id}/send_invite.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  customer_invite: {}
                summary: Send the default invite
              example2:
                value:
                  customer_invite:
                    to: new_test_email@shopify.com
                    from: noaccesssteve@jobs.com
                    bcc:
                    - noaccesssteve@jobs.com
                    subject: Welcome to my new shop
                    custom_message: My awesome new store
                summary: Send a customized invite
      summary: Shopify Sends An Account Invite To A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#send_invite-2020-04
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_create_customers_param_customer_id_send_invite
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/customers/{customer_id}/orders.json:
    get:
      summary: Shopify Retrieves All Orders Belonging To A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#orders-2020-04
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_get_customers_param_customer_id_orders
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-07/customers.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                summary: Create a new customer record
              example2:
                value:
                  customer:
                    email: null
                    first_name: null
                    last_name: null
                summary: Creating a customer without an email or name fails and returns an error
              example3:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                    metafields:
                    - key: new
                      value: newvalue
                      value_type: string
                      namespace: global
                summary: Create a customer with a metafield
              example4:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                    send_email_invite: true
                summary: Create a customer with send_email_invite
              example5:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      province: 'ON'
                      phone: 555-1212
                      zip: 123 ABC
                      last_name: Lastnameson
                      first_name: Mother
                      country: CA
                    password: newpass
                    password_confirmation: newpass
                    send_email_welcome: false
                summary: Create a customer with password and password_confirmation and skip sending the welcome email
      summary: Shopify Creates A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#create-2020-07
      parameters: []
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_create_customers
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-07/customers/{customer_id}.json:
    get:
      summary: Shopify Retrieves A Single Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#show-2020-07
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      - in: query
        name: fields
        description: Show only certain fields, specified by a comma-separated list of field names.
        schema: {}
        required: false
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_get_customers_param_customer_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  customer:
                    id: 207119551
                    email: changed@email.address.com
                    note: Customer is a great guy
                summary: Update details for a customer
              example2:
                value:
                  customer:
                    id: 207119551
                    metafields:
                    - key: new
                      value: newvalue
                      value_type: string
                      namespace: global
                summary: Add metafield to an existing customer
              example3:
                value:
                  customer:
                    id: 207119551
                    tags: New Customer, Repeat Customer
                summary: Update a customer's tags
              example4:
                value:
                  customer:
                    id: 207119551
                    accepts_marketing: true
                    accepts_marketing_updated_at: '2020-11-01T16:46:41-05:00'
                    marketing_opt_in_level: confirmed_opt_in
                summary: Update a customer's marketing opt-in state
      summary: Shopify Updates A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#update-2020-07
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_update_customers_param_customer_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    delete:
      summary: Shopify Deletes A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#destroy-2020-07
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_delete_customers_param_customer_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-07/customers/{customer_id}/account_activation_url.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Creating an account activation URL for an enabled customer fails and returns an error
              example2:
                value: {}
                summary: Create an account activation URL for an invited or disabled customer
      summary: Shopify Generate An Account Activation Url For A Customer Whose Account Is Not Yet Enabled
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#account_activation_url-2020-07
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_create_customers_param_customer_id_account_activation_url
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-07/customers/{customer_id}/send_invite.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  customer_invite: {}
                summary: Send the default invite
              example2:
                value:
                  customer_invite:
                    to: new_test_email@shopify.com
                    from: noaccesssteve@jobs.com
                    bcc:
                    - noaccesssteve@jobs.com
                    subject: Welcome to my new shop
                    custom_message: My awesome new store
                summary: Send a customized invite
      summary: Shopify Sends An Account Invite To A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#send_invite-2020-07
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_create_customers_param_customer_id_send_invite
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-07/customers/{customer_id}/orders.json:
    get:
      summary: Shopify Retrieves All Orders Belonging To A Customer
      description: https://shopify.dev/docs/admin-api/rest/reference/customers/customer#orders-2020-07
      parameters:
      - in: path
        name: customer_id
        required: true
        schema:
          type: string
        description: customer_id
      tags:
      - Customer
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_get_customers_param_customer_id_orders
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-10/customers.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  customer:
                    first_name: Steve
                    last_name: Lastnameson
                    email: steve.lastnameson@example.com
                    phone: '+15142546011'
                    verified_email: true
                    addresses:
                    - address1: 123 Oak St
                      city: Ottawa
                      prov

# --- truncated at 32 KB (62 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/shopify/refs/heads/main/openapi/shopify-customer-api-openapi.yml