Store migration data dictionary

The store migration data dictionary includes information about the REST Admin API Customer, Order, and Product resources. The data dictionary a supplementary reference for experienced Partners that are migrating stores to Shopify.

Customer resource properties

The following table lists some useful information about the properties of the REST Admin API Customer resource.

Data about important properties related to the REST Customer resource
Property Values Description Data type Field length Field access Critical required field
accepts_marketing Default: 0 Whether the customer has agreed to receive marketing material. Boolean tinyint(1) Y
accepts_marketing_
updated_at
The date and time in ISO 8601 format when the customer consented or objected to receiving marketing material by email. DateTime
addresses A list of addresses associated with the customer. [{ Address }]
currency The three-letter code in ISO 4217 format for the currency that the customer used when they paid for their last order. String Shop's currency read-only
created_at Default: NULL The date and time in ISO 8601 format when the customer was added to the store. DateTime datetime read-only
default_address The default address for the customer. { Address }
email Default: NULL The unique email address of the customer. String varchar(255)
first_name Default: NULL The customer's first name. String varchar(255)
id Default: NULL A globally-unique identifier. (This value auto increments.) Integer bigint(20) Y
last_name Default: NULL The customer's last name. String varchar(255)
last_order_id Default: NULL The ID of the customer's last order. Integer bigint(20) read-only
last_order_name Default: NULL The name of the customer's last order. String read-only
metafield Default: NULL Returns a metafield by namespace and key that belongs to the resource. { Metafield }
marketing_opt_
in_level
  • null
  • single_opt_in
  • confirmed_opt_in
  • unknown
Default: NULL
The marketing subscription opt-in level (as described by the M3AAWG best practices guideline) that the customer gave when they consented to receive marketing material by email. String, enum
multipass_identifier Default: NULL A unique identifier for the customer that's used with Multipass login. String varchar(255)
note Default: NULL A note about the customer. String mediumtext
orders_count Default: 0 The number of orders that the customer has made at the store in their lifetime. Integer int(11) read-only
phone Default: NULL The unique (across store) phone number (E.164 format) for this customer. String varchar(255)
sms_marketing_
consent
Default: NULL The current SMS marketing state for the customer's phone number. String
state
  • disabled
  • invited
  • enabled
  • declined
Default: disabled
The state of the customer's account with the shop. String, enum varchar(255) read-only
tags Default: NULL A comma separated list of up to 250 tags that have been added to the customer. String 255 per tag
tax_exempt Default: 0 Whether the customer is exempt from being charged taxes on their orders. Boolean tinyint(1) Y
tax_exemptions Refer to the Customer resource for a complete list of values. The list of tax exemptions applied to the customer. String
total_spent Default: 0 The total amount that the customer has spent on orders in their lifetime. Listed in store currency. If using multi-currency, the amount shown would be in default currency without exchange rate. Number decimal(21,3) read-only
updated_at The date and time when the customer was last updated. Based on the Shop's timezone. DateTime datetime read-only
verified_email Default: 1 Whether the customer has verified their email address. Defaults to true if the customer is created through the Shopify admin or API. Boolean tinyint(1) read-only

CustomerAddress resource properties

The following table lists some useful information about the properties of the REST Admin API CustomerAddress resource. There are no critical required fields for this resource.

Data about important properties related to the REST Customer Address resource
Property Values Description Data type Field length Field access
address1 Default: NULL The customer's mailing address. 100 per customer account. String varchar(255)
address2 Default: NULL An additional field for the customer's mailing address. String varchar(255)
city Default: NULL The customer's city, town, or village. String varchar(255)
company Default: NULL The customer's company. String varchar(255)
country Default: NULL The customer's country. String varchar(255)
first_name Default: NULL The customer's first name. String varchar(255)
country_code The two-letter country code corresponding to the customer's country. String read-only
country_name The customer's normalized country name. String
last_name Default: NULL The customer's last name. String varchar(255)
name The customer's first and last names. String
phone Default: NULL The customer's phone number at this address. String varchar(255)
province Default: NULL The customer's region name. Typically a province, a state, or a prefecture. String varchar(255)
province_code The two-letter code for the customer's region. String read-only
zip Default: NULL The customer's postal code, also known as zip, postcode, Eircode, etc. String varchar(255)

Order resource properties

The following table lists some useful information about the properties of the REST Admin API Order resource.

Data about important properties of the REST Order resource
Property Values Description Data type Field length Field access Critical required field
app_id Default: NULL The ID of the app that created the order. integer bigint(20) read-only
billing_address Default: NULL The mailing address associated with the payment method. This address is an optional field that won't be available on orders that do not require a payment method. integer bigint(20)
browser_ip The IP address of the browser used by the customer when they placed the order. Both IPv4 and IPv6 are supported. string varchar(255) read-only
buyer_accepts_marketing Default: 0 Whether the customer consented to receive email updates from the shop. boolean tinyint(1)
cancel_reason
  • customer
  • fraud
  • inventory
  • declined
  • other
Default: NULL
The reason why the order was canceled string varchar(255)
cancelled_at Default: NULL The date and time when the order was canceled. Returns null if the order isn't canceled. date datetime read-only
cart_token Default: NULL A unique value when referencing the cart that's associated with the order. string varchar(255) read-only
checkout_token Default: NULL A unique value when referencing the checkout that's associated with the order. string varchar(64) read-only
client_details
  • accept_language
  • browser_height
  • browser_ip
  • browser_width
  • session_hash
  • user_agent
Information about the browser that the customer used when they placed their order:

accept_language: The languages and locales that the browser understands.
browser_height: The browser screen height in pixels, if available.
browser_ip: The browser IP address.
browser_width: The browser screen width in pixels, if available.
session_hash: A hash of the session.
user_agent: Details of the browsing client, including software and operating versions.
object read-only
closed_at Default: NULL The date and time (ISO 8601 format) when the order was closed. Returns null if the order isn't closed. date datetime read-only
created_at Default: NULL The autogenerated date and time (ISO 8601 format) when the order was created in Shopify. The value for this property cannot be changed. date datetime(6) read-only
currency Default: NULL The three-letter code (ISO 4217 format) for the shop currency. string char(3)
current_subtotal_price The current subtotal price of the order in the shop currency. The value of this field reflects order edits, returns, and refunds. string varchar(255) read-only
current_subtotal_price_set The current subtotal price of the order in shop and presentment currencies. The amount values associated with this field reflect order edits, returns, and refunds. object read-only
current_total_discounts The current total discounts on the order in the shop currency. The value of this field reflects order edits, returns, and refunds. string varchar(255) read-only
current_total_discounts_set The current total discounts on the order in shop and presentment currencies. The amount values associated with this field reflect order edits, returns, and refunds. object read-only
current_total_duties_set The current total duties charged on the order in shop and presentment currencies. The amount values associated with this field reflect order edits, returns, and refunds. object read-only
current_total_price The current total price of the order in the shop currency. The value of this field reflects order edits, returns, and refunds. string varchar(255) read-only
current_total_price_set The current total price of the order in shop and presentment currencies. The amount values associated with this field reflect order edits, returns, and refunds. object read-only
current_total_tax The current total taxes charged on the order in the shop currency. The value of this field reflects order edits, returns, or refunds. string varchar(255) read-only
current_total_tax_set The current total taxes charged on the order in shop and presentment currencies. The amount values associated with this field reflect order edits, returns, and refunds. object read-only
customer Default: NULL Information about the customer. The order might not have a customer and apps should not depend on the existence of a customer object. This value might be null if the order was created through Shopify POS integer bigint(20)
customer_locale Default: NULL The two or three-letter language code, optionally followed by a region modifier. string varchar(255) read-only
discount_applications An ordered list of stacked discount applications.

The discount_applications property includes 3 types: discount_code, manual, and script. All 3 types share a common structure and have some type specific attributes.
array read-only
discount_codes A list of discounts applied to the order. array
email The customer's email address. varchar(255)
estimated_taxes Whether taxes on the order are estimated. Many factors can change between the time a customer places an order and the time the order is shipped, which could affect the calculation of taxes. This property returns false when taxes on the order are finalized and aren't subject to any changes. boolean tinyint(1)
financial_status
  • pending
  • authorized
  • partially_paid
  • paid
  • partially_refunded
  • refunded
Default: NULL
The status of payments associated with the order. Can only be set when the order is created. string varchar(255) read-only
fulfillment_status
  • fulfilled
  • unfulfilled
  • null
  • partial
  • restocked
Default: unfulfilled
The order's status in terms of fulfilled line items. string varchar(255)
fulfillments An array of fulfillments associated with the order array
id Default: NULL The ID of the order, used for API purposes. This is different from the order_number property, which is the ID used by the shop owner and customer. integer bigint(20) read-only
landing_site Default: NULL The URL for the page where the buyer landed when they entered the shop. string varchar(4096) read-only
line_items A list of line item objects, each containing information about an item in the order array Y
location_id Default: NULL The ID of the physical location where the order was processed. If you need to reference the location against an order, then use the FulfillmentOrder resource. integer bigint(20)
name Default: NULL The order name, generated by combining the order_number property with the order prefix and suffix that are set in the merchant's general settings. This is different from the id property, which is the ID of the order used by the API. This field can also be set by the API to be any string value. string varchar(255)
note Default: NULL An optional note that a shop owner can attach to the order. string
note_attributes Default: NULL Extra information that is added to the order. Appears in the Additional details section of an order details page. Each array entry must contain a hash with name and value keys. string
number Default: NULL The order's position in the shop's count of orders. Numbers are sequential and start at 1. integer int(11) read-only
order_number The order's position in the shop's count of orders starting at 1001. Order numbers are sequential. integer bigint(20) read-only
order_status_url The URL pointing to the order status web page, if applicable. string varchar(255) read-only
original_total_duties_set The original total duties charged on the order in shop and presentment currencies. object read-only
payment_gateway_names Default: NULL The list of payment gateways used for the order.
varchar(255) read-only
payment_terms Default: NULL The terms and conditions under which a payment should be processed. object bigint(20) read-only
phone Default: NULL The customer's phone number for receiving SMS notifications. string varchar(255)
presentment_currency Default: NULL The presentment currency that was used to display prices to the customer. string char(3)
processed_at Default: NULL The date and time (ISO 8601 format) when an order was processed. This value is the date that appears on your orders and that's used in the analytic reports. If you're importing orders from an app or another platform, then you can set processed_at to a date and time in the past to match when the original order was created. date datetime(6)
processing_method
  • checkout
  • direct
  • manual
  • offsite
  • express
  • free
How the payment was processed string varchar(255) read-only
referring_site Default: NULL The website where the customer clicked a link to the shop. string varchar(4096)
refunds A list of refunds applied to the order array read-only
shipping_address Default: NULL The mailing address to where the order will be shipped. This address is optional and will not be available on orders that do not require shipping integer bigint(20)
shipping_lines An array of objects, each of which details a shipping method used. array
source_name Default: NULL Where the order originated. Can be set only during order creation, and is not writeable afterwards. Values for Shopify channels are protected and cannot be assigned by other API clients: web, pos, shopify_draft_order, iphone, and android. Orders created via the API can be assigned any other string of your choice. If unspecified, then new orders are assigned the value of your app's ID. string varchar(255)
subtotal_price The price of the order in the shop currency after discounts but before shipping, duties, taxes, and tips. integer bigint(20)
subtotal_price_set The subtotal of the order in shop and presentment currencies after discounts but before shipping, duties, taxes, and tips. object
tags Tags attached to the order, formatted as a string of comma-separated values. Tags are additional short descriptors, commonly used for filtering and searching. Each individual tag is limited to 40 characters in length. string varchar(4096)
tax_lines An array of tax line objects, each of which details a tax applicable to the order. Each object has the following properties:

When creating an order through the API, tax lines can be specified on the order or the line items but not both. Tax lines specified on the order are split across the taxable line items in the created order.
array
taxes_included
  • true
  • false
Default: 0
Whether taxes are included in the order subtotal. boolean tinyint(1)
test
  • true
  • false
Default: 0
Whether this is a test order. boolean tinyint(1) read-only
token Default: NULL A unique value when referencing the order. string varchar(32) read-only
total_discounts Default: 0 The total discounts applied to the price of the order in the shop currency. string decimal(21,3)
total_discounts_set The total discounts applied to the price of the order in shop and presentment currencies. object
total_line_items_price Default: 0 The sum of all line item prices in the shop currency. string decimal(21,3)
total_line_items_price_set The total of all line item prices in shop and presentment currencies. object
total_outstanding Default: 0 The total outstanding amount of the order in the shop currency. string decimal(21,3)
total_price Default: 0 The sum of all line item prices, discounts, shipping, taxes, and tips in the shop currency. Must be positive. string decimal(21,3)
total_price_set The total price of the order in shop and presentment currencies. object
total_shipping_price_set The total shipping price of the order, excluding discounts and returns, in shop and presentment currencies. If taxes_included is set to true, then total_shipping_price_set includes taxes. object
total_tax Default: 0 The sum of all the taxes applied to the order in the shop currency. Must be positive. string decimal(21,3)
total_tax_set The total tax applied to the order in shop and presentment currencies. object
total_tip_received The sum of all the tips in the order in the shop currency. integer bigint(20) read-only
total_weight Default: 0 The sum of all line item weights in grams. The sum is not adjusted as items are removed from the order. integer bigint(20) unsigned
updated_at The date and time (ISO 8601 format) when the order was last modified. date datetime(6) read-only
user_id Default: NULL The ID of the user logged into Shopify POS who processed the order, if applicable. integer bigint(20)

Product resource properties

The following table lists some useful information about the properties of the REST Admin API Product resource.

Data about important properties of the REST Product resource
Property Values Description Data type Field length Field access Critical required field
body_html Default: NULL A description of the product. Supports HTML formatting. string mediumtext
created_at Default: NULL The date and time (ISO 8601 format) when the product was created. date datetime read-only
handle Default: NULL string varchar(255)
id Default: NULL An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops. integer bigint(20) read-only Y
images A list of product image objects, each one representing an image associated with the product. [{ product_image }]
options The custom product properties. For example, Size, Color, and Material. Each product can have up to 3 options and each option value can be up to 255 characters. Product variants are made of up combinations of option values. Options cannot be created without values. To create new options, a variant with an associated option value also needs to be created. array
product_type Default: NULL A categorization for the product used for filtering and searching products. string varchar(255)
published_at Default: NULL The date and time (ISO 8601 format) when the product was published. Can be set to null to unpublish the product from the Online Store channel. date datetime
published_scope
  • web
  • global
Whether the product is published to the Point of Sale channel. string
status
  • active
  • archived
  • draft
Default: active
The status of the product. string varchar(32)
tags A string of comma-separated tags that are used for filtering and search. A product can have up to 250 tags. Each tag can have up to 255 characters. string
template_suffix Default: NULL The suffix of the Liquid template used for the product page. If this property is specified, then the product page uses a template called "product.suffix.liquid", where "suffix" is the value of this property. If this property is "" or null, then the product page uses the default template "product.liquid". string varchar(255)
title Default: NULL The name of the product string varchar(255)
updated_at Default: NULL The date and time (ISO 8601 format) when the product was last modified. A product's updated_at value can change for different reasons. For example, if an order is placed for a product that has inventory tracking set up, then the inventory adjustment is counted as an update. date datetime read-only
variants An array of product variants, each representing a different version of the product. The position property is read-only. The position of variants is indicated by the order in which they are listed. array
vendor Default: NULL The name of the product's vendor. string varchar(255)

ProductImage resource properties

The following table lists some useful information about the properties of the REST Admin API ProductImage resource. There are no read-only or critical required fields for this resource.

Data about important properties related to the REST ProductImage resource
Property Values Description Data type Field length
created_at Default: NULL The date and time when the product image was created. The API returns this value in ISO 8601 format. date datetime
height Default: NULL Height dimension of the image which is determined on upload. smallint(4) unsigned
id Default: NULL A unique numeric identifier for the product image. (auto_increment) integer bigint(20)
position Default: 0 The order of the product image in the list. The first product image is at position 1 and is the "main" image for the product. smallint(5) unsigned
product_id Default: NULL The id of the product associated with the image. bigint(20)
src Specifies the location of the product image. This parameter supports URL filters that you can use to retrieve modified copies of the image. For example, add _small, to the filename to retrieve a scaled copy of the image at 100 x 100 px (for example, ipod-nano_small.png), or add _2048x2048 to retrieve a copy of the image constrained at 2048 x 2048 px resolution (for example, ipod-nano_2048x2048.png).
updated_at Default: NULL The date and time when the product image was last modified. The API returns this value in ISO 8601 format. date datetime
variant_ids An array of variant ids associated with the image.
width Default: NULL Width dimension of the image which is determined on upload. smallint(4) unsigned

ProductVariant resource properties

The following table lists some useful information about the properties of the REST Admin API ProductVariant resource. There are no critical required fields for this resource.

Data about important properties related to the REST ProductVariant resource
Property Values Description Data type Field length Field access
barcode Default: NULL The barcode, UPC, or ISBN number for the product. varchar(255)
compare_at_price Default: NULL The original price of the item before an adjustment or a sale. decimal(20,2)
created_at Default: NULL The date and time in ISO 8601 format when the product variant was created. date datetime
fulfillment_service
  • manual
  • { handle of fulfillment service }
Default: manual
The fulfillment service associated with the product variant. varchar(255)
grams The weight of the product variant in grams.
id Default: NULL The unique numeric identifier for the product variant. This value auto increments. bigint(20)
image_id Default: NULL The unique numeric identifier for a product's image. The image must be associated to the same product as the variant. bigint(20)
inventory_item_id The unique identifier for the inventory item, which is used in the Inventory API to query for inventory information.
inventory_management
  • shopify
  • null
  • { handle of fulfillment service }
  • Default: NULL
    The fulfillment service that tracks the number of items in stock for the product variant. varchar(255)
    inventory_policy
    • deny
    • continue
    Default: deny
    Whether customers are allowed to place an order for the product variant when it's out of stock. varchar(40)
    inventory_quantity Default: 1 An aggregate of inventory across all locations. To adjust inventory at a specific location, use the InventoryLevel resource. int(11) read-only
    option The custom properties that a shop owner uses to define product variants. You can define three options for a product variant: option1, option2, option3. Default value: Default Title. The title field is a concatenation of the option1, option2, and option3 fields. Updating the option fields updates the title field.
    position Default: 0 The order of the product variant in the list of product variants. The first position in the list is 1. The position of variants is indicated by the order in which they are listed. smallint(5) unsigned read-only
    presentment_prices A list of the variant's presentment prices and compare-at prices in each of the shop's enabled presentment currencies. Each price object has the following properties:
    -currency_code: The three-letter code (ISO 4217 format) for one of the shop's enabled presentment currencies.
    -amount: The variant's price or compare-at price in the presentment currency.
    Requires the header 'X-Shopify-Api-Features': 'include-presentment-prices'.
    read-only
    price Default: 0 The price of the product variant. decimal(20,2)
    product_id Default: NULL The unique numeric identifier for the product. bigint(20)
    requires_shipping Default: 1 This property is deprecated. Use the `requires_shipping` property on the InventoryItem resource instead. boolean tinyint(1)
    sku A unique identifier for the product variant in the shop. Required in order to connect to a FulfillmentService. varchar(255)
    tax_code This parameter applies only to the stores that have the Avalara AvaTax app installed. Specifies the Avalara tax code for the product variant.
    taxable Default: 1 Whether a tax is charged when the product variant is sold. boolean tinyint(1)
    title The title of the product variant. The title field is a concatenation of the option1, option2, and option3 fields. You can only update title indirectly using the option fields. varchar(255) read-only
    updated_at Default: NULL The date and time when the product variant was last modified. Gets returned in ISO 8601 format. date datetime
    weight The weight of the product variant in the unit system specified with weight_unit.
    weight_unit
    • g
    • kg
    • oz
    • lb
    Default: NULL
    The unit of measurement that applies to the product variant's weight. If you don't specify a value for weight_unit, then the shop's default unit of measurement is applied. varchar(2)