Skip to main content
object

Requires read_customers access scope or read_companies access scope. Also: The API client must be installed on a Shopify Plus store.

A business entity that purchases from the shop as part of B2B commerce. Companies organize multiple locations and contacts who can place orders on behalf of the organization. CompanyLocation objects can have custom pricing through Catalog and PriceList configurations.

•CompanyContactRoleConnection!
non-null

The list of roles for the company contacts.

Arguments

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.

•CompanyContactRoleSortKeys
Default:ID

Sort the underlying list by the given key.


•CompanyContactConnection!
non-null

The list of contacts in the company.

Arguments

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.

•CompanyContactSortKeys
Default:ID

Sort the underlying list by the given key.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to company_id
•id
Anchor to company_location_id
•id
Anchor to created_at
•time
•string
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to location_name
•string
•string
Anchor to role_name
•string
•string
Anchor to updated_at
•time

•Count

The number of contacts that belong to the company.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company was created in Shopify.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company became the customer.

•String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

•CompanyContactRole

The role proposed by default for a contact at the company.

•DraftOrderConnection!
non-null

The list of the company's draft orders.

Arguments

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.

•DraftOrderSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to created_at
•time
Anchor to customer_id
•id
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
•string
•string
•string
Anchor to updated_at
•time

•EventConnection!
non-null

The paginated list of events associated with the host subject.

Arguments

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.

•EventSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

•string

The action that occured.

Example:

  • action:create
Anchor to comments
•boolean

Whether or not to include comment-events in your search, passing false will exclude comment-events, any other value will include comment-events.

Example:

  • false
  • true
Anchor to created_at
•time

Filter by the date and time when the event occurred. Event data is retained for 1 year.

Example:

  • created_at:>2025-10-21
  • created_at:<now
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to subject_type
•string

The resource type affected by this event. See EventSubjectType for possible values.

Example:

  • PRODUCT_VARIANT
  • PRODUCT
  • COLLECTION

•String

A unique externally-supplied ID for the company.

•Boolean!
non-null

Whether the merchant added a timeline comment to the company.

•ID!
non-null

A globally-unique ID.

•String!
non-null

The lifetime duration of the company, since it became a customer of the shop. Examples: 2 days, 3 months, 1 year.

•CompanyLocationConnection!
non-null

The list of locations in the company.

Arguments

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.

•CompanyLocationSortKeys
Default:ID

Sort the underlying list by the given key.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to company_id
•id
Anchor to created_at
•time
Anchor to external_id
•string
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
•string
Anchor to metafields.{namespace}.{key}
•mixed

Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.

Example:

  • metafields.custom.on_sale:true
  • metafields.product.material:"gid://shopify/Metaobject/43458085"
•string
Anchor to updated_at
•time

•Count

The number of locations that belong to the company.

•CompanyContact

The main contact for the company.

•Metafield

A custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

Arguments

•String

The container the metafield belongs to. If omitted, the app-reserved namespace will be used.

•String!
required

The key for the metafield.


•MetafieldConnection!
non-null

A list of custom fields that a merchant associates with a Shopify resource.

Arguments

•String

The metafield namespace to filter by. If omitted, all metafields are returned.

•[String!]

List of keys of metafields in the format namespace.key, will be returned in the same format.

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.


Anchor to metafieldsByIdentifiersmetafieldsByIdentifiers
•[Metafield]!
non-null

The metafields associated with the resource matching the supplied list of namespaces and keys.

Arguments

•[HasMetafieldsIdentifier!]!
required

The list of metafields to retrieve by namespace and key.


•String!
non-null

The name of the company.

•String

A note about the company.

•OrderConnection!
non-null

The list of the company's orders.

Arguments

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.

•OrderSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to cart_token
•string

Filter by the cart token's unique value to track abandoned cart conversions or troubleshoot checkout issues. The token references the cart that's associated with an order.

Example:

  • cart_token:abc123
Anchor to channel
•string

Filter by the channel information handle (ChannelInformation.channelDefinition.handle) field.

Example:

  • channel:web
  • channel:web,pos
Anchor to channel_id
•id

Filter by the channel id field.

Example:

  • channel_id:123
Anchor to chargeback_status
•string

Filter by the order's chargeback status. A chargeback occurs when a customer questions the legitimacy of a charge with their financial institution.

Valid values:

  • accepted
  • charge_refunded
  • lost
  • needs_response
  • under_review
  • won

Example:

  • chargeback_status:accepted
Anchor to checkout_token
•string

Filter by the checkout token's unique value to analyze conversion funnels or resolve payment issues. The checkout token's value references the checkout that's associated with an order.

Example:

  • checkout_token:abc123
Anchor to confirmation_number
•string

Filter by the randomly generated alpha-numeric identifier for an order that can be displayed to the customer instead of the sequential order name. This value isn't guaranteed to be unique.

Example:

  • confirmation_number:ABC123
Anchor to created_at
•time

Filter by the date and time when the order was created in Shopify's system.

Example:

  • created_at:2020-10-21T23:39:20Z
  • created_at:<now
  • created_at:<=2024
Anchor to credit_card_last4
•string

Filter by the last four digits of the payment card that was used to pay for the order. This filter matches only the last four digits of the card for heightened security.

Example:

  • credit_card_last4:1234
Anchor to current_total_price
•float

Filter by the current total price of the order in the shop currency, including any returns/refunds/removals. This filter supports both exact values and ranges.

Example:

  • current_total_price:10
  • current_total_price:>=5.00 current_total_price:<=20.99
Anchor to customer_id
•id

Filter orders by the customer id field.

Example:

  • customer_id:123
Anchor to delivery_method
•string

Filter by the delivery methodType field.

Valid values:

  • shipping
  • pick-up
  • retail
  • local
  • pickup-point
  • none

Example:

  • delivery_method:shipping
Anchor to discount_code
•string

Filter by the case-insensitive discount code that was applied to the order at checkout. Limited to the first discount code used on an order. Maximum characters: 255.

Example:

  • discount_code:ABC123
•string

Filter by the email address that's associated with the order to provide customer support or analyze purchasing patterns.

Example:

  • email:example@shopify.com
Anchor to financial_status
•string

Filter by the order displayFinancialStatus field.

Valid values:

  • paid
  • pending
  • authorized
  • partially_paid
  • partially_refunded
  • refunded
  • voided
  • expired

Example:

  • financial_status:authorized
Anchor to fraud_protection_level
•string

Filter by the level of fraud protection that's applied to the order. Use this filter to manage risk or handle disputes.

Valid values:

  • fully_protected
  • partially_protected
  • not_protected
  • pending
  • not_eligible
  • not_available

Example:

  • fraud_protection_level:fully_protected
Anchor to fulfillment_location_id
•id

Filter by the fulfillment location id (Fulfillment.location.id) field.

Example:

  • fulfillment_location_id:123
Anchor to fulfillment_status
•string

Filter by the displayFulfillmentStatus field to prioritize shipments or monitor order processing.

Valid values:

  • unshipped
  • shipped
  • fulfilled
  • partial
  • scheduled
  • on_hold
  • unfulfilled
  • request_declined

Example:

  • fulfillment_status:fulfilled
Anchor to gateway
•string

Filter by the paymentGatewayNames field. Use this filter to find orders that were processed through specific payment providers like Shopify Payments, PayPal, or other custom payment gateways.

Example:

  • gateway:shopify_payments
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to location_id
•id

Filter by the location id that's associated with the order to view and manage orders for specific locations. For POS orders, locations must be defined in the Shopify admin under Settings > Locations. If no ID is provided, then the primary location of the shop is returned.

Example:

  • location_id:123
Anchor to metafields.{namespace}.{key}
•mixed

Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.

Example:

  • metafields.custom.on_sale:true
  • metafields.product.material:"gid://shopify/Metaobject/43458085"
•string

Filter by the order name field.

Example:

  • name:1001-A
Anchor to payment_id
•string

Filter by the payment ID that's associated with the order to reconcile financial records or troubleshoot payment issues.

Example:

  • payment_id:abc123
Anchor to payment_provider_id
•id

Filter by the ID of the payment provider that's associated with the order to manage payment methods or troubleshoot transactions.

Example:

  • payment_provider_id:123
Anchor to po_number
•string

Filter by the order poNumber field.

Example:

  • po_number:P01001
Anchor to processed_at
•time

Filter by the order processedAt field.

Example:

  • processed_at:2021-01-01T00:00:00Z
Anchor to reference_location_id
•id

Filter by the ID of a location that's associated with the order, such as locations from fulfillments, refunds, or the shop's primary location.

Example:

  • reference_location_id:123
Anchor to return_status
•string

Filter by the order's returnStatus to monitor returns processing and track which orders have active returns.

Valid values:

  • return_requested
  • in_progress
  • inspection_complete
  • returned
  • return_failed
  • no_return

Example:

  • return_status:in_progress
Anchor to risk_level
•string

Filter by the order risk assessment riskLevel field.

Valid values:

  • high
  • medium
  • low
  • none
  • pending

Example:

  • risk_level:high
Anchor to sales_channel
•string

Filter by the sales channel where the order was made to analyze performance or manage fulfillment processes.

Example:

  • sales_channel: some_sales_channel
Anchor to shipping_address_validation_result_summary
•string

Filter by the validation status of the shipping address. Learn more about validating addresses.

Valid values:

  • has_issues
  • no_issues
  • not_validated

Example:

  • shipping_address_validation_result_summary:no_issues
•string

Filter by the product variant sku field. Learn more about SKUs.

Example:

  • sku:ABC123
Anchor to source_identifier
•string

Filter by the ID of the order placed on the originating platform, such as a unique POS or third-party identifier. This value doesn't correspond to the Shopify ID that's generated from a completed draft order.

Example:

  • source_identifier:1234-12-1000
Anchor to source_name
•string

Filter by the platform where the order was placed to distinguish between web orders, POS sales, draft orders, or third-party channels. Use this filter to analyze sales performance across different ordering methods.

Example:

  • source_name:web
  • source_name:shopify_draft_order
•string

Filter by the order's status to manage workflows or analyze the order lifecycle.

Valid values:

  • open
  • closed
  • cancelled
  • not_closed

Example:

  • status:open
Anchor to subtotal_line_items_quantity
•string

Filter by the total number of items across all line items in an order. This filter supports both exact values and ranges, and is useful for identifying bulk orders or analyzing purchase volume patterns.

Example:

  • subtotal_line_items_quantity:10
  • subtotal_line_items_quantity:5..20
•string

Filter objects by the tag field.

Example:

  • tag:my_tag
Anchor to tag_not
•string

Filter by objects that don’t have the specified tag.

Example:

  • tag_not:my_tag
•boolean

Filter by test orders. Test orders are made using the Shopify Bogus Gateway or a payment provider with test mode enabled.

Example:

  • test:true
Anchor to total_weight
•string

Filter by the order weight. This filter supports both exact values and ranges, and is to be used to filter orders by the total weight of all items (excluding packaging). It takes a unit of measurement as a suffix. It accepts the following units: g, kg, lb, oz.

Example:

  • total_weight:10.5kg
  • total_weight:>=5g total_weight:<=20g
  • total_weight:.5 lb
Anchor to updated_at
•time

Filter by the date and time when the order was last updated in Shopify's system.

Example:

  • updated_at:2020-10-21T23:39:20Z
  • updated_at:<now
  • updated_at:<=2024

•Count

The total number of orders placed for this company, across all its locations.

•MoneyV2!
non-null

The total amount spent by this company, across all its locations.

•DateTime!
non-null

The date and time (ISO 8601 format) at which the company was last modified.

Deprecated fields

•Int!
non-nullDeprecated
Anchor to metafieldDefinitionsmetafieldDefinitions
•MetafieldDefinitionConnection!
non-nullDeprecated

Arguments

•String

Filter metafield definitions by namespace.

•MetafieldDefinitionPinnedStatus
Default:ANY

Filter by the definition's pinned status.

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.

•MetafieldDefinitionSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to created_at
•time

Filter by the date and time when the metafield definition was created.

Example:

  • created_at:>2020-10-21T23:39:20Z
  • created_at:<now
  • created_at:<=2024
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
•string

Filter by the metafield definition key field.

Example:

  • key:some-key
Anchor to namespace
•string

Filter by the metafield definition namespace field.

Example:

  • namespace:some-namespace
Anchor to owner_type
•string

Filter by the metafield definition ownerType field.

Example:

  • owner_type:PRODUCT
•string

Filter by the metafield definition type field.

Example:

  • type:single_line_text_field
Anchor to updated_at
•time

Filter by the date and time when the metafield definition was last updated.

Example:

  • updated_at:>2020-10-21T23:39:20Z
  • updated_at:<now
  • updated_at:<=2024


Was this section helpful?

•query

A paginated list of companies in the shop. Company objects are business entities that purchase from the merchant.

Use the query argument to filter companies by attributes like name or externalId. Sort and paginate results to handle large datasets efficiently. Learn more about Shopify API search syntax.

Arguments

•Int

The first n elements from the paginated list.

•String

The elements that come after the specified cursor.

•Int

The last n elements from the paginated list.

•String

The elements that come before the specified cursor.

•Boolean
Default:false

Reverse the order of the underlying list.

•CompanySortKeys
Default:ID

Sort the underlying list by the given key.

•String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
•string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to active_customers_count
•integer
Anchor to created_at
•time
Anchor to external_id
•id
•id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to metafields.{namespace}.{key}
•mixed

Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.

Example:

  • metafields.custom.on_sale:true
  • metafields.product.material:"gid://shopify/Metaobject/43458085"
•string
Anchor to since_date
•time
Anchor to updated_at
•time

•query

Returns a Company resource by ID.

Arguments

•ID!
required

The ID of the Company to return.



Was this section helpful?

•mutation

Assigns the main contact for the company.

Arguments

•ID!
required

The ID of the company to assign the main contact to.

•ID!
required

The ID of the company contact to be assigned as the main contact.


•mutation

Creates a Company for B2B commerce. This mutation creates the company and can optionally create an initial CompanyContact and CompanyLocation in a single operation. Company contacts are people who place orders on behalf of the company. Company locations are branches or offices with their own billing and shipping addresses.


Note

Creating a company without a name returns an error.


Learn more about creating companies for B2B.

Arguments

•CompanyCreateInput!
required

The fields to use when creating the company.


•mutation

Revokes the main contact from the company.

Arguments

•ID!
required

The ID of the company to revoke the main contact from.


•mutation

Updates a Company with new information. Companies represent business customers that can have multiple contacts and locations with specific pricing, payment terms, and checkout settings.

The mutation accepts the company's ID and an input object containing the fields to update. You can modify the company name, add or update internal notes, set an external ID for integration with other systems, or adjust the customer relationship start date.

Learn more about building B2B features.

Arguments

•ID!
required

The ID of the company to be updated.

•CompanyInput!
required

The input fields to update the company.



Was this section helpful?

•interface

Was this section helpful?