--- title: API terms compliance description: Learn about Shopify's API terms compliance requirements. source_url: html: 'https://shopify.dev/docs/apps/build/compliance/api-terms-compliance' md: 'https://shopify.dev/docs/apps/build/compliance/api-terms-compliance.md' --- ExpandOn this page * [Customer requirements](https://shopify.dev/docs/apps/build/compliance/api-terms-compliance.md#customer-requirements) * [Order requirements](https://shopify.dev/docs/apps/build/compliance/api-terms-compliance.md#order-requirements) # API terms compliance As part of complying with Shopify's [API terms](https://www.shopify.com/legal/api-terms) you agree to sync certain data to the merchant store. *** ## Customer requirements The following table lists the types of customer updates you need to sync with Shopify. These requirements only apply to data collected or updated by your app, and only for customers that originate from the merchant's online store or Shopify POS. Sensitive personal information (as defined in the [API terms](https://www.shopify.com/legal/api-terms)) is excluded from the scope of data listed below. | Via the [REST Admin API Customer resource](https://shopify.dev/docs/api/admin-rest/latest/resources/customer): | Via the [GraphQL Admin API Customer object](https://shopify.dev/docs/api/admin-graphql/latest/objects/customer): | Via the [GraphQL Storefront API Customer object](https://shopify.dev/docs/api/storefront/latest/objects/customer): | | - | - | - | | email\_marketing\_consent | firstName | acceptsMarketing | | state | lastName | firstName | | opt\_in\_level | phone | lastName | | consent\_updated\_at | email | phone | | sms\_marketing\_consent | taxExempt | email | | state | addresses | customerAddress | | opt\_in\_level | | | | consent\_updated\_at | | | | accepts\_marketing | | | | accepts\_marketing\_updated\_at | | | | first\_name | | | | last\_name | | | | addresses | | | | default\_address | | | | phone | | | | currency | | | | email | | | | tax\_exempt | | | *** ## Order requirements There are two types of orders you must sync with Shopify: * Orders created from a Shopify checkout (such as from the online store or Shopify POS) * Orders created from a merchant's product listing on a third-party platform * For example, if a merchant has Product A stored in Shopify and an order with Product A is created on a third-party platform, you need to sync that order with Shopify These requirements only apply to data collected or updated by your app, and sensitive personal information (as defined in the [API terms](https://www.shopify.com/legal/api-terms)) is excluded. ### Orders from a Shopify checkout For orders originating from a Shopify checkout, the following table lists the types of order updates you need to sync with Shopify, along with the corresponding mutations to use. There may be cases where you can't update some orders due to Shopify restrictions. In such cases, try to sync the data. However, if Shopify blocks you, then you don't need to sync. | Type of update | Mutations to use | | - | - | | Line items or quantities | * [orderEditAddVariant](https://shopify.dev/docs/api/admin-graphql/latest/mutations/ordereditaddvariant) * [orderEditAddCustomItem](https://shopify.dev/docs/api/admin-graphql/latest/mutations/ordereditaddcustomitem) * [orderEditSetQuantity](https://shopify.dev/docs/api/admin-graphql/latest/mutations/ordereditsetquantity) * [orderEditAddLineItemDiscount](https://shopify.dev/docs/api/admin-graphql/latest/mutations/ordereditaddlineitemdiscount) | | Discounts | - [orderEditUpdateDiscount](https://shopify.dev/docs/api/admin-graphql/latest/mutations/ordereditupdatediscount) - [orderEditRemoveDiscount](https://shopify.dev/docs/api/admin-graphql/latest/mutations/ordereditremovediscount) | | Shipping fees | * [orderEditAddShippingLine](https://shopify.dev/docs/api/admin-graphql/latest/mutations/ordereditaddshippingline) * [orderEditUpdateShippingLine](https://shopify.dev/docs/api/admin-graphql/latest/mutations/ordereditupdateshippingline) * [orderEditRemoveShippingLine](https://shopify.dev/docs/api/admin-graphql/latest/mutations/ordereditremoveshippingline) | | Customer email or shipping address | - [orderUpdate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/orderupdate) | | Refunds | * [refundCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/refundCreate) | | Returns and exchanges | - [returnCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/returncreate) | | Cancellation | * [orderCancel](https://shopify.dev/docs/api/admin-graphql/latest/mutations/ordercancel) | | Fulfillment information and status | - [fulfillmentCancel](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentcancel) - [fulfillmentCreateV2](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentcreatev2) - [fulfillmentEventCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmenteventcreate) - [fulfillmentOrderAcceptCancellationRequest](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentorderacceptcancellationrequest) - [fulfillmentOrderAcceptFulfillmentRequest](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentorderacceptfulfillmentrequest) - [fulfillmentOrderCancel](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentordercancel) - [fulfillmentOrderClose](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentorderclose) - [fulfillmentOrderHold](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentorderhold) - [fulfillmentOrderLineItemsPreparedForPickup](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentorderlineitemspreparedforpickup) - [fulfillmentOrderMerge](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentordermerge) - [fulfillmentOrderMove](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentordermove) - [fulfillmentOrderOpen](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentorderopen) - [fulfillmentOrderRejectCancellationRequest](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentorderrejectcancellationrequest) - [fulfillmentOrderRejectFulfillmentRequest](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentorderrejectfulfillmentrequest) - [fulfillmentOrderReleaseHold](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentorderreleasehold) - [fulfillmentOrderReschedule](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentorderreschedule) - [fulfillmentOrderSplit](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentordersplit) - [fulfillmentOrdersSetFulfillmentDeadline](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentorderssetfulfillmentdeadline) - [fulfillmentOrderSubmitCancellationRequest](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentordersubmitcancellationrequest) - [fulfillmentOrderSubmitFulfillmentRequest](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentordersubmitfulfillmentrequest) | | Fulfillment tracking | * [fulfillmentTrackingInfoUpdateV2](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmenttrackinginfoupdatev2) | | Fulfillment services | - [fulfillmentServiceCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentservicecreate) - [fulfillmentServiceDelete](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentservicedelete) - [fulfillmentServiceUpdate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentserviceupdate) | ### Orders from a product listing on a third-party platform You'll need to import orders created from a Shopify product listing on a third-party platform using the [orderCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/orderCreate) mutation. Include all data fields on the order, except where Shopify doesn't have the input fields to receive the data. If you update these orders later, sync the changes with Shopify according to the requirements for [orders from a Shopify checkout](#orders-from-a-shopify-checkout). *** * [Customer requirements](https://shopify.dev/docs/apps/build/compliance/api-terms-compliance.md#customer-requirements) * [Order requirements](https://shopify.dev/docs/apps/build/compliance/api-terms-compliance.md#order-requirements)