Company
Requires access scope or 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. objects can have custom pricing through Catalog and configurations.
Anchor to FieldsFields
- contactRoles (CompanyContactRoleConnection!)
- contacts (CompanyContactConnection!)
- contactsCount (Count)
- createdAt (DateTime!)
- customerSince (DateTime!)
- defaultCursor (String!)
- defaultRole (CompanyContactRole)
- draftOrders (DraftOrderConnection!)
- events (EventConnection!)
- externalId (String)
- hasTimelineComment (Boolean!)
- id (ID!)
- lifetimeDuration (String!)
- locations (CompanyLocationConnection!)
- locationsCount (Count)
- mainContact (CompanyContact)
- metafield (Metafield)
- metafields (MetafieldConnection!)
- metafieldsByIdentifiers ([Metafield]!)
- name (String!)
- note (String)
- orders (OrderConnection!)
- ordersCount (Count)
- totalSpent (MoneyV2!)
- updatedAt (DateTime!)
- Anchor to contactRolescontact•Company
Roles Contact Role Connection! non-null The list of roles for the company contacts.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Company
Key Contact Role Sort Keys Default:ID Sort the underlying list by the given key.
Arguments
- Anchor to contactscontacts•Company
Contact Connection! non-null The list of contacts in the company.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Company
Key Contact Sort Keys Default:ID Sort the underlying list by the given key.
- Anchor to queryquery•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.
query=Bob Normanquery=title:green hoodie- Anchor to company_id•id
- Anchor to company_location_id•id
- Anchor to created_at•time
- Anchor to email•string
- Anchor to location_name•string
- Anchor to name•string
- Anchor to role_name•string
- Anchor to status•string
- Anchor to updated_at•time
Example:
Arguments
- Anchor to contactsCountcontacts•Count
Count The number of contacts that belong to the company.
- Anchor to createdAtcreated•Date
At Time! non-null The date and time (ISO 8601 format) at which the company was created in Shopify.
- Anchor to customerSincecustomer•Date
Since Time! non-null The date and time (ISO 8601 format) at which the company became the customer.
- Anchor to defaultCursordefault•String!
Cursor non-null A default cursor that returns the single next record, sorted ascending by ID.
- Anchor to defaultRoledefault•Company
Role Contact Role The role proposed by default for a contact at the company.
- Anchor to draftOrdersdraft•Draft
Orders Order Connection! non-null The list of the company's draft orders.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Draft
Key Order Sort Keys 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.
- Anchor to queryquery•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.
Arguments
- Anchor to eventsevents•Event
Connection! non-null The paginated list of events associated with the host subject.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Event
Key Sort Keys 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.
- Anchor to queryquery•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 comments•boolean
Whether or not to include comment-events in your search, passing
falsewill exclude comment-events, any other value will include comment-events.falsetrue- Anchor to created_at•time
Filter by the date and time when the event occurred. Event data is retained for 1 year.
created_at:>2025-10-21created_at:<now- Anchor to subject_type•string
The resource type affected by this event. See EventSubjectType for possible values.
PRODUCT_VARIANTPRODUCTCOLLECTION
Example:
Example:
Example:
Arguments
- Anchor to externalIdexternal•String
Id A unique externally-supplied ID for the company.
- Anchor to hasTimelineCommenthas•Boolean!
Timeline Comment non-null Whether the merchant added a timeline comment to the company.
- •ID!non-null
A globally-unique ID.
- Anchor to lifetimeDurationlifetime•String!
Duration non-null The lifetime duration of the company, since it became a customer of the shop. Examples:
2 days,3 months,1 year.- Anchor to locationslocations•Company
Location Connection! non-null The list of locations in the company.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Company
Key Location Sort Keys Default:ID Sort the underlying list by the given key.
- Anchor to queryquery•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.
query=Bob Normanquery=title:green hoodie- Anchor to company_id•id
- Anchor to created_at•time
- Anchor to external_id•string
- Anchor to ids•string
- Anchor to metafields.{namespace}.{key}•mixed
Filters resources by metafield value. Format:
metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.metafields.custom.on_sale:truemetafields.product.material:"gid://shopify/Metaobject/43458085"- Anchor to name•string
- Anchor to updated_at•time
Example:
Example:
Arguments
- Anchor to locationsCountlocations•Count
Count The number of locations that belong to the company.
- Anchor to mainContactmain•Company
Contact Contact The main contact for the company.
- Anchor to metafieldmetafield•Metafield
A custom field, including its
namespaceandkey, that's associated with a Shopify resource for the purposes of adding and storing additional information.- Anchor to namespacenamespace•String
The container the metafield belongs to. If omitted, the app-reserved namespace will be used.
- •String!required
The key for the metafield.
Arguments
- Anchor to metafieldsmetafields•Metafield
Connection! non-null A list of custom fields that a merchant associates with a Shopify resource.
- Anchor to namespacenamespace•String
The metafield namespace to filter by. If omitted, all metafields are returned.
- Anchor to keyskeys•[String!]
List of keys of metafields in the format
namespace.key, will be returned in the same format.- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
Arguments
- Anchor to metafieldsByIdentifiersmetafields•[Metafield]!
By Identifiers non-null The metafields associated with the resource matching the supplied list of namespaces and keys.
- Anchor to identifiersidentifiers•[Has
Metafields Identifier!]! required The list of metafields to retrieve by namespace and key.
Arguments
- Anchor to namename•String!non-null
The name of the company.
- Anchor to notenote•String
A note about the company.
- Anchor to ordersorders•Order
Connection! non-null The list of the company's orders.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Order
Key Sort Keys 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.
- Anchor to queryquery•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.
query=Bob Normanquery=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.
cart_token:abc123- Anchor to channel•string
Filter by the channel information
handle() field.channel:webchannel:web,pos- 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.
acceptedcharge_refundedlostneeds_responseunder_reviewwonchargeback_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.
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.
confirmation_number:ABC123- Anchor to created_at•time
Filter by the date and time when the order was created in Shopify's system.
created_at:2020-10-21T23:39:20Zcreated_at:<nowcreated_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.
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.
current_total_price:10current_total_price:>=5.00 current_total_price:<=20.99- Anchor to delivery_method•string
shippingpick-upretaillocalpickup-pointnonedelivery_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.
discount_code:ABC123- Anchor to email•string
Filter by the email address that's associated with the order to provide customer support or analyze purchasing patterns.
email:example@shopify.com- Anchor to financial_status•string
paidpendingauthorizedpartially_paidpartially_refundedrefundedvoidedexpiredfinancial_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.
fully_protectedpartially_protectednot_protectedpendingnot_eligiblenot_availablefraud_protection_level:fully_protected- Anchor to fulfillment_location_id•id
Filter by the fulfillment location
id(Fulfillment.location.id) field.fulfillment_location_id:123- Anchor to fulfillment_status•string
unshippedshippedfulfilledpartialscheduledon_holdunfulfilledrequest_declinedfulfillment_status:fulfilled- Anchor to location_id•id
Filter by the location
idthat'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.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.metafields.custom.on_sale:truemetafields.product.material:"gid://shopify/Metaobject/43458085"- Anchor to payment_id•string
Filter by the payment ID that's associated with the order to reconcile financial records or troubleshoot payment issues.
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.
payment_provider_id:123- 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.
reference_location_id:123- Anchor to return_status•string
return_requestedin_progressinspection_completereturnedreturn_failedno_returnreturn_status:in_progress- Anchor to sales_channel•string
Filter by the sales channel where the order was made to analyze performance or manage fulfillment processes.
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.
has_issuesno_issuesnot_validatedshipping_address_validation_result_summary:no_issues- Anchor to sku•string
Filter by the product variant
skufield. Learn more about SKUs.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.
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.
source_name:websource_name:shopify_draft_order- Anchor to status•string
Filter by the order's status to manage workflows or analyze the order lifecycle.
openclosedcancellednot_closedstatus: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.
subtotal_line_items_quantity:10subtotal_line_items_quantity:5..20- Anchor to tag_not•string
Filter by objects that don’t have the specified tag.
tag_not:my_tag- Anchor to test•boolean
Filter by test orders. Test orders are made using the Shopify Bogus Gateway or a payment provider with test mode enabled.
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.
total_weight:10.5kgtotal_weight:>=5g total_weight:<=20gtotal_weight:.5 lb- Anchor to updated_at•time
Filter by the date and time when the order was last updated in Shopify's system.
updated_at:2020-10-21T23:39:20Zupdated_at:<nowupdated_at:<=2024
Example:
Example:
Example:
Valid values:
Example:
Example:
Example:
Example:
Example:
Example:
Valid values:
Example:
Example:
Example:
Valid values:
Example:
Valid values:
Example:
Example:
Valid values:
Example:
Example:
Example:
Example:
Example:
Example:
Valid values:
Example:
Example:
Valid values:
Example:
Example:
Example:
Example:
Valid values:
Example:
Example:
Example:
Example:
Example:
Example:
Arguments
- Anchor to ordersCountorders•Count
Count The total number of orders placed for this company, across all its locations.
- Anchor to totalSpenttotal•Money
Spent V2! non-null The total amount spent by this company, across all its locations.
- Anchor to updatedAtupdated•Date
At Time! non-null The date and time (ISO 8601 format) at which the company was last modified.
Deprecated fields
- contactCount (Int!): deprecated
- metafieldDefinitions (MetafieldDefinitionConnection!): deprecated
- Anchor to contactCountcontact•Int!
Count non-nullDeprecated - Anchor to metafieldDefinitionsmetafield•Metafield
Definitions Definition Connection! non-nullDeprecated - Anchor to namespacenamespace•String
Filter metafield definitions by namespace.
- Anchor to pinnedStatuspinned•Metafield
Status Definition Pinned Status Default:ANY Filter by the definition's pinned status.
- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Metafield
Key Definition Sort Keys 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.
- Anchor to queryquery•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.
query=Bob Normanquery=title:green hoodie- Anchor to created_at•time
Filter by the date and time when the metafield definition was created.
created_at:>2020-10-21T23:39:20Zcreated_at:<nowcreated_at:<=2024- Anchor to namespace•string
Filter by the metafield definition
namespacefield.namespace:some-namespace- Anchor to type•string
Filter by the metafield definition
typefield.type:single_line_text_field- Anchor to updated_at•time
Filter by the date and time when the metafield definition was last updated.
updated_at:>2020-10-21T23:39:20Zupdated_at:<nowupdated_at:<=2024
Example:
Example:
Example:
Example:
Example:
Arguments
Anchor to QueriesQueries
- companies (CompanyConnection!)
- company (Company)
- •query
A paginated list of companies in the shop.
Companyobjects are business entities that purchase from the merchant.Use the
queryargument 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.- Anchor to firstfirst•Int
The first
nelements from the paginated list.- Anchor to afterafter•String
The elements that come after the specified cursor.
- Anchor to lastlast•Int
The last
nelements from the paginated list.- Anchor to beforebefore•String
The elements that come before the specified cursor.
- Anchor to reversereverse•BooleanDefault:false
Reverse the order of the underlying list.
- Anchor to sortKeysort•Company
Key Sort Keys Default:ID Sort the underlying list by the given key.
- Anchor to queryquery•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.
query=Bob Normanquery=title:green hoodie- Anchor to active_customers_count•integer
- Anchor to created_at•time
- Anchor to external_id•id
- Anchor to metafields.{namespace}.{key}•mixed
Filters resources by metafield value. Format:
metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.metafields.custom.on_sale:truemetafields.product.material:"gid://shopify/Metaobject/43458085"- Anchor to name•string
- Anchor to since_date•time
- Anchor to updated_at•time
Example:
Example:
Arguments
- •query
Returns a
Companyresource by ID.- •ID!required
The ID of the
Companyto return.
Arguments
- •ID!
Anchor to MutationsMutations
- companyAssignMainContact (CompanyAssignMainContactPayload)
- companyCreate (CompanyCreatePayload)
- companyRevokeMainContact (CompanyRevokeMainContactPayload)
- companyUpdate (CompanyUpdatePayload)
- •mutation
Assigns the main contact for the company.
- Anchor to companyIdcompany•ID!
Id required The ID of the company to assign the main contact to.
- Anchor to companyContactIdcompany•ID!
Contact Id required The ID of the company contact to be assigned as the main contact.
Arguments
- •mutation
Creates a
Companyfor B2B commerce. This mutation creates the company and can optionally create an initialandin 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.NoteCreating a company without a
namereturns an error.Note:Creating a company without a
namereturns an error.Note: Creating a company without a <code>name</code> <a href="https://shopify.dev/docs/api/admin-graphql/latest/mutations/companycreate?example=creating-a-company-without-a-name-returns-an-error">returns an error</a>.
Learn more about creating companies for B2B.
- Anchor to inputinput•Company
Create Input! required The fields to use when creating the company.
Arguments
- •mutation
Revokes the main contact from the company.
- Anchor to companyIdcompany•ID!
Id required The ID of the company to revoke the main contact from.
Arguments
- •mutation
Updates a
Companywith 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.
- Anchor to companyIdcompany•ID!
Id required The ID of the company to be updated.
- Anchor to inputinput•Company
Input! required The input fields to update the company.
Arguments
Anchor to InterfacesInterfaces
- CommentEventSubject
- HasEvents
- HasMetafieldDefinitions
- HasMetafields
- Navigable
- Node
- •interface
- •interface
- •interface
- •interface
- •interface