Module airbyte_agent_sdk.connectors.shopify.connector
Shopify connector.
Classes
AbandonedCheckoutsQuery(connector: ShopifyConnector)
: Query class for AbandonedCheckouts entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: AbandonedCheckoutsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[AbandonedCheckoutsSearchData]
: Search abandoned_checkouts records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (AbandonedCheckoutsSearchFilter):
- id: Unique identifier for the abandoned checkout
- token: Unique token identifying the checkout
- email: Email address provided for the checkout
- phone: Phone number provided for the checkout
- name: Shopify-assigned display name for the checkout (e.g.
#C12345) - currency: ISO 4217 currency code for the checkout totals
- total_price: Total price of the checkout in the shop's currency
- created_at: ISO 8601 timestamp when the checkout was created
- updated_at: ISO 8601 timestamp when the checkout was last updated
- completed_at: ISO 8601 timestamp when the checkout was completed, if applicable
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: AbandonedCheckoutsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, limit: int | None = None, since_id: int | None = None, created_at_min: str | None = None, created_at_max: str | None = None, updated_at_min: str | None = None, updated_at_max: str | None = None, status: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[AbandonedCheckout], AbandonedCheckoutsListResultMeta]
: Returns a list of abandoned checkouts
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID created_at_min: Show checkouts created after date (ISO 8601 format) created_at_max: Show checkouts created before date (ISO 8601 format) updated_at_min: Show checkouts last updated after date (ISO 8601 format) updated_at_max: Show checkouts last updated before date (ISO 8601 format) status: Filter checkouts by status **kwargs: Additional parameters
Returns: AbandonedCheckoutsListResult
ArticlesQuery(connector: ShopifyConnector)
: Query class for Articles entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: ArticlesSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[ArticlesSearchData]
: Search articles records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (ArticlesSearchFilter):
- id: Unique identifier for the article
- title: Title of the article
- handle: URL-friendly handle for the article
- author: Name of the author of the article
- blog_id: Identifier of the blog the article belongs to
- body_html: HTML content of the article body
- summary_html: Summary of the article in HTML
- tags: Comma-separated list of tags for the article
- published_at: ISO 8601 timestamp when the article was published
- created_at: ISO 8601 timestamp when the article was created
- updated_at: ISO 8601 timestamp when the article was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: ArticlesSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
create(self, article: ArticlesCreateParamsArticle, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ArticleCreatePayload
: Creates a new blog article via GraphQL mutation.
Args: article: Parameter article **kwargs: Additional parameters
Returns: ArticleCreatePayload
delete(self, id: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ArticleDeletePayload
: Deletes a blog article via GraphQL mutation.
Args: id: The GraphQL GID of the article to delete **kwargs: Additional parameters
Returns: ArticleDeletePayload
get(self, blog_id: str, article_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Article
: Retrieves a single article by ID from a blog
Args: blog_id: The blog ID article_id: The article ID **kwargs: Additional parameters
Returns: Article
list(self, blog_id: str, limit: int | None = None, since_id: int | None = None, created_at_min: str | None = None, created_at_max: str | None = None, updated_at_min: str | None = None, updated_at_max: str | None = None, published_status: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Article], ArticlesListResultMeta]
: Returns a list of articles from a specific blog
Args: blog_id: The blog ID limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID created_at_min: Show articles created after date (ISO 8601 format) created_at_max: Show articles created before date (ISO 8601 format) updated_at_min: Show articles last updated after date (ISO 8601 format) updated_at_max: Show articles last updated before date (ISO 8601 format) published_status: Filter by published status (published, unpublished, any) **kwargs: Additional parameters
Returns: ArticlesListResult
update(self, article: ArticlesUpdateParamsArticle, id: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ArticleUpdatePayload
: Updates an existing blog article via GraphQL mutation.
Args: id: The GraphQL GID of the article to update article: Parameter article **kwargs: Additional parameters
Returns: ArticleUpdatePayload
BalanceTransactionsQuery(connector: ShopifyConnector)
: Query class for BalanceTransactions entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: BalanceTransactionsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[BalanceTransactionsSearchData]
: Search balance_transactions records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (BalanceTransactionsSearchFilter):
- id: Unique identifier of the balance transaction
- type_: Type of the transaction (charge, refund, dispute, reserve, adjustment, credit, debit, payout, etc.)
- amount: Gross amount of the transaction
- fee: Total fees deducted from the transaction
- net: Net amount of the transaction
- currency: ISO 4217 currency code of the transaction
- payout_id: Identifier of the payout the transaction was paid out in
- payout_status: Status of the associated payout
- source_type: Type of the resource that led to this transaction
- source_order_id: Identifier of the source order, if applicable
- processed_at: ISO 8601 timestamp when the transaction was processed
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: BalanceTransactionsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, limit: int | None = None, since_id: int | None = None, payout_id: int | None = None, payout_status: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[BalanceTransaction], BalanceTransactionsListResultMeta]
: Returns a list of Shopify Payments balance transactions
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID payout_id: Filter to transactions in a specific payout payout_status: Filter by payout status **kwargs: Additional parameters
Returns: BalanceTransactionsListResult
BlogsQuery(connector: ShopifyConnector)
: Query class for Blogs entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: BlogsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[BlogsSearchData]
: Search blogs records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (BlogsSearchFilter):
- id: Unique identifier for the blog
- title: Title of the blog
- handle: URL-friendly handle for the blog
- commentable: Whether readers can post comments (no, moderate, yes)
- tags: Comma-separated tags from the blog's articles
- created_at: ISO 8601 timestamp when the blog was created
- updated_at: ISO 8601 timestamp when the blog was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: BlogsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
create(self, blog: BlogsCreateParamsBlog, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.BlogCreatePayload
: Creates a new blog on the online store via GraphQL mutation.
Args: blog: Parameter blog **kwargs: Additional parameters
Returns: BlogCreatePayload
delete(self, id: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.BlogDeletePayload
: Deletes a blog from the online store via GraphQL mutation.
Args: id: The GraphQL GID of the blog to delete **kwargs: Additional parameters
Returns: BlogDeletePayload
get(self, blog_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Blog
: Retrieves a single blog by ID
Args: blog_id: The blog ID **kwargs: Additional parameters
Returns: Blog
list(self, limit: int | None = None, since_id: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Blog], BlogsListResultMeta]
: Returns a list of blogs for the store
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID **kwargs: Additional parameters
Returns: BlogsListResult
update(self, blog: BlogsUpdateParamsBlog, id: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.BlogUpdatePayload
: Updates an existing blog via GraphQL mutation.
Args: id: The GraphQL GID of the blog to update blog: Parameter blog **kwargs: Additional parameters
Returns: BlogUpdatePayload
CollectsQuery(connector: ShopifyConnector)
: Query class for Collects entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: CollectsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[CollectsSearchData]
: Search collects records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (CollectsSearchFilter):
- id: Unique identifier for the collect
- collection_id: Identifier of the collection the product belongs to
- product_id: Identifier of the product in the collection
- position: Position of the product within the collection
- created_at: ISO 8601 timestamp when the collect was created
- updated_at: ISO 8601 timestamp when the collect was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: CollectsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, collect_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Collect
: Retrieves a single collect by ID
Args: collect_id: The collect ID **kwargs: Additional parameters
Returns: Collect
list(self, limit: int | None = None, since_id: int | None = None, collection_id: int | None = None, product_id: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Collect], CollectsListResultMeta]
: Returns a list of collects (links between products and collections)
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID collection_id: Filter by collection ID product_id: Filter by product ID **kwargs: Additional parameters
Returns: CollectsListResult
CountriesQuery(connector: ShopifyConnector)
: Query class for Countries entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: CountriesSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[CountriesSearchData]
: Search countries records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (CountriesSearchFilter):
- id: Unique identifier for the country tax row
- name: Human-readable country name
- code: ISO 3166-1 alpha-2 country code
- tax_name: Localized name of the tax applied in this country
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: CountriesSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, country_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Country
: Retrieves a single country by ID
Args: country_id: The country ID **kwargs: Additional parameters
Returns: Country
list(self, since_id: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Country], CountriesListResultMeta]
: Returns a list of countries
Args: since_id: Restrict results to after the specified ID **kwargs: Additional parameters
Returns: CountriesListResult
CustomCollectionsQuery(connector: ShopifyConnector)
: Query class for CustomCollections entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: CustomCollectionsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[CustomCollectionsSearchData]
: Search custom_collections records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (CustomCollectionsSearchFilter):
- id: Unique identifier for the custom collection
- handle: URL-friendly handle for the custom collection
- title: Display title of the custom collection
- sort_order: How products are sorted within the collection (e.g.
best-selling) - published_scope: Publishing scope (
weborglobal) - published_at: ISO 8601 timestamp when the collection was published
- updated_at: ISO 8601 timestamp when the collection was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: CustomCollectionsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
create(self, input: CustomCollectionsCreateParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.CollectionCreatePayload
: Creates a new collection (custom or smart) via GraphQL mutation.
For smart collections, provide ruleSet with rules.
Args: input: Parameter input **kwargs: Additional parameters
Returns: CollectionCreatePayload
delete(self, input: CustomCollectionsDeleteParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.CollectionDeletePayload
: Deletes a collection via GraphQL mutation.
Args: input: Parameter input **kwargs: Additional parameters
Returns: CollectionDeletePayload
get(self, collection_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.CustomCollection
: Retrieves a single custom collection by ID
Args: collection_id: The collection ID **kwargs: Additional parameters
Returns: CustomCollection
list(self, limit: int | None = None, since_id: int | None = None, title: str | None = None, product_id: int | None = None, updated_at_min: str | None = None, updated_at_max: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[CustomCollection], CustomCollectionsListResultMeta]
: Returns a list of custom collections
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID title: Filter by collection title product_id: Filter by product ID updated_at_min: Show collections last updated after date (ISO 8601 format) updated_at_max: Show collections last updated before date (ISO 8601 format) **kwargs: Additional parameters
Returns: CustomCollectionsListResult
update(self, input: CustomCollectionsUpdateParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.CollectionUpdatePayload
: Updates an existing collection via GraphQL mutation.
Rule-based membership recompute is async for smart collections.
Args: input: Parameter input **kwargs: Additional parameters
Returns: CollectionUpdatePayload
CustomerAddressQuery(connector: ShopifyConnector)
: Query class for CustomerAddress entity operations.
Initialize query with connector reference.
Methods
get(self, customer_id: str, address_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.CustomerAddress
: Retrieves a single customer address by ID
Args: customer_id: The customer ID address_id: The address ID **kwargs: Additional parameters
Returns: CustomerAddress
list(self, customer_id: str, limit: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[CustomerAddress], CustomerAddressListResultMeta]
: Returns a list of addresses for a customer
Args: customer_id: The customer ID limit: Maximum number of results to return (max 250) **kwargs: Additional parameters
Returns: CustomerAddressListResult
CustomersQuery(connector: ShopifyConnector)
: Query class for Customers entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: CustomersSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[CustomersSearchData]
: Search customers records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (CustomersSearchFilter):
- id: Unique identifier for the customer
- email: Primary email address of the customer
- phone: Primary phone number of the customer
- first_name: First name of the customer
- last_name: Last name of the customer
- state: Account state (
disabled,invited,enabled,declined) - orders_count: Number of orders placed by the customer
- total_spent: Total lifetime amount spent by the customer
- currency: ISO 4217 currency code for the customer's total spend
- created_at: ISO 8601 timestamp when the customer record was created
- updated_at: ISO 8601 timestamp when the customer record was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: CustomersSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
create(self, input: CustomersCreateParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.CustomerCreatePayload
: Creates a new customer in the store via GraphQL mutation.
Requires at least one of: email, phone, firstName, or lastName.
Args: input: CustomerInput object **kwargs: Additional parameters
Returns: CustomerCreatePayload
delete(self, input: CustomersDeleteParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.CustomerDeletePayload
: Deletes a customer from the store via GraphQL mutation.
Only succeeds if the customer has no orders. This action is irreversible.
Args: input: Parameter input **kwargs: Additional parameters
Returns: CustomerDeletePayload
get(self, customer_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Customer
: Retrieves a single customer by ID
Args: customer_id: The customer ID **kwargs: Additional parameters
Returns: Customer
list(self, limit: int | None = None, since_id: int | None = None, created_at_min: str | None = None, created_at_max: str | None = None, updated_at_min: str | None = None, updated_at_max: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Customer], CustomersListResultMeta]
: Returns a list of customers from the store
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID created_at_min: Show customers created after date (ISO 8601 format) created_at_max: Show customers created before date (ISO 8601 format) updated_at_min: Show customers last updated after date (ISO 8601 format) updated_at_max: Show customers last updated before date (ISO 8601 format) **kwargs: Additional parameters
Returns: CustomersListResult
update(self, input: CustomersUpdateParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.CustomerUpdatePayload
: Updates an existing customer via GraphQL mutation.
All fields except id are optional for partial updates.
Args: input: CustomerInput object with id **kwargs: Additional parameters
Returns: CustomerUpdatePayload
DiscountCodesQuery(connector: ShopifyConnector)
: Query class for DiscountCodes entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: DiscountCodesSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[DiscountCodesSearchData]
: Search discount_codes records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (DiscountCodesSearchFilter):
- id: Unique identifier for the discount code
- price_rule_id: Identifier of the parent price rule
- code: Discount code string shoppers enter at checkout
- usage_count: Number of times the code has been redeemed
- created_at: ISO 8601 timestamp when the code was created
- updated_at: ISO 8601 timestamp when the code was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: DiscountCodesSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
create(self, basic_code_discount: DiscountCodesCreateParamsBasiccodediscount, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.DiscountCodeBasicCreatePayload
: Creates a basic discount code via GraphQL mutation.
Supports percentage, fixed amount, or free shipping discounts.
Args: basic_code_discount: Parameter basicCodeDiscount **kwargs: Additional parameters
Returns: DiscountCodeBasicCreatePayload
delete(self, id: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.DiscountCodeDeletePayload
: Deletes a discount code via GraphQL mutation.
Args: id: The GraphQL GID of the discount code node to delete **kwargs: Additional parameters
Returns: DiscountCodeDeletePayload
get(self, price_rule_id: str, discount_code_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.DiscountCode
: Retrieves a single discount code by ID
Args: price_rule_id: The price rule ID discount_code_id: The discount code ID **kwargs: Additional parameters
Returns: DiscountCode
list(self, price_rule_id: str, limit: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[DiscountCode], DiscountCodesListResultMeta]
: Returns a list of discount codes for a price rule
Args: price_rule_id: The price rule ID limit: Maximum number of results to return (max 250) **kwargs: Additional parameters
Returns: DiscountCodesListResult
update(self, basic_code_discount: DiscountCodesUpdateParamsBasiccodediscount, id: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.DiscountCodeBasicUpdatePayload
: Updates an existing basic discount code via GraphQL mutation.
Args: id: The GraphQL GID of the discount code node to update basic_code_discount: Parameter basicCodeDiscount **kwargs: Additional parameters
Returns: DiscountCodeBasicUpdatePayload
DisputesQuery(connector: ShopifyConnector)
: Query class for Disputes entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: DisputesSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[DisputesSearchData]
: Search disputes records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (DisputesSearchFilter):
- id: Unique identifier for the dispute
- order_id: Identifier of the order the dispute belongs to
- type_: Whether the dispute is an inquiry or chargeback
- amount: Disputed amount
- currency: ISO 4217 currency code of the dispute amount
- reason: Reason for the dispute provided by the cardholder's bank
- network_reason_code: Network reason code from the cardholder's bank
- status: Current state of the dispute (needs_response, under_review, charge_refunded, accepted, won, lost)
- evidence_due_by: ISO 8601 deadline for evidence submission
- initiated_at: ISO 8601 timestamp when the dispute was initiated
- finalized_on: ISO 8601 timestamp when the dispute was resolved
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: DisputesSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, dispute_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Dispute
: Retrieves a single Shopify Payments dispute by ID
Args: dispute_id: The dispute ID **kwargs: Additional parameters
Returns: Dispute
list(self, limit: int | None = None, since_id: int | None = None, status: str | None = None, initiated_at: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Dispute], DisputesListResultMeta]
: Returns a list of Shopify Payments disputes (chargebacks and inquiries)
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID status: Filter by dispute status initiated_at: Filter by initiated date (ISO 8601 format) **kwargs: Additional parameters
Returns: DisputesListResult
DraftOrderCompleteQuery(connector: ShopifyConnector)
: Query class for DraftOrderComplete entity operations.
Initialize query with connector reference.
Methods
update(self, id: str | None = None, payment_pending: bool | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.DraftOrderCompletePayload
: Completes a draft order, converting it to a regular order via GraphQL mutation.
Args: id: The GraphQL GID of the draft order to complete payment_pending: Whether payment is pending (true) or mark as paid (false/omit) **kwargs: Additional parameters
Returns: DraftOrderCompletePayload
DraftOrdersQuery(connector: ShopifyConnector)
: Query class for DraftOrders entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: DraftOrdersSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[DraftOrdersSearchData]
: Search draft_orders records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (DraftOrdersSearchFilter):
- id: Unique identifier for the draft order
- name: Shopify-assigned display name for the draft order (e.g.
#D12345) - email: Email address associated with the draft order
- status: Status of the draft order (
open,invoice_sent,completed) - currency: ISO 4217 currency code for the draft order totals
- total_price: Total price of the draft order
- order_id: Identifier of the completed order, if the draft has been completed
- created_at: ISO 8601 timestamp when the draft order was created
- updated_at: ISO 8601 timestamp when the draft order was last updated
- completed_at: ISO 8601 timestamp when the draft order was completed, if applicable
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: DraftOrdersSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
create(self, input: DraftOrdersCreateParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.DraftOrderCreatePayload
: Creates a new draft order via GraphQL mutation.
Draft orders can be completed to become regular orders.
Args: input: DraftOrderInput object **kwargs: Additional parameters
Returns: DraftOrderCreatePayload
delete(self, input: DraftOrdersDeleteParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.DraftOrderDeletePayload
: Deletes a draft order via GraphQL mutation.
Only open draft orders can be deleted.
Args: input: Parameter input **kwargs: Additional parameters
Returns: DraftOrderDeletePayload
get(self, draft_order_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.DraftOrder
: Retrieves a single draft order by ID
Args: draft_order_id: The draft order ID **kwargs: Additional parameters
Returns: DraftOrder
list(self, limit: int | None = None, since_id: int | None = None, status: str | None = None, updated_at_min: str | None = None, updated_at_max: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[DraftOrder], DraftOrdersListResultMeta]
: Returns a list of draft orders
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID status: Filter draft orders by status updated_at_min: Show draft orders last updated after date (ISO 8601 format) updated_at_max: Show draft orders last updated before date (ISO 8601 format) **kwargs: Additional parameters
Returns: DraftOrdersListResult
update(self, input: DraftOrdersUpdateParamsInput, id: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.DraftOrderUpdatePayload
: Updates an existing draft order via GraphQL mutation.
Only open draft orders can be updated.
Args: id: The GraphQL GID of the draft order to update input: DraftOrderInput object with updated fields **kwargs: Additional parameters
Returns: DraftOrderUpdatePayload
FulfillmentOrdersQuery(connector: ShopifyConnector)
: Query class for FulfillmentOrders entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: FulfillmentOrdersSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[FulfillmentOrdersSearchData]
: Search fulfillment_orders records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (FulfillmentOrdersSearchFilter):
- id: Unique identifier for the fulfillment order
- order_id: Identifier of the parent order
- shop_id: Identifier of the shop that owns the fulfillment order
- assigned_location_id: Identifier of the location assigned to fulfill the order
- status: Fulfillment order status (e.g.
open,in_progress,closed) - request_status: Status of the fulfillment request (e.g.
unsubmitted,submitted) - created_at: ISO 8601 timestamp when the fulfillment order was created
- updated_at: ISO 8601 timestamp when the fulfillment order was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: FulfillmentOrdersSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, fulfillment_order_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.FulfillmentOrder
: Retrieves a single fulfillment order by ID
Args: fulfillment_order_id: The fulfillment order ID **kwargs: Additional parameters
Returns: FulfillmentOrder
list(self, order_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[FulfillmentOrder], FulfillmentOrdersListResultMeta]
: Returns a list of fulfillment orders for a specific order
Args: order_id: The order ID **kwargs: Additional parameters
Returns: FulfillmentOrdersListResult
FulfillmentsQuery(connector: ShopifyConnector)
: Query class for Fulfillments entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: FulfillmentsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[FulfillmentsSearchData]
: Search fulfillments records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (FulfillmentsSearchFilter):
- id: Unique identifier for the fulfillment
- order_id: Identifier of the parent order
- status: Fulfillment status (e.g.
pending,open,success,cancelled) - shipment_status: Carrier shipment status (e.g.
delivered,in_transit) - tracking_company: Name of the shipping carrier
- tracking_number: Primary tracking number for the shipment
- location_id: Identifier of the fulfilling location
- created_at: ISO 8601 timestamp when the fulfillment was created
- updated_at: ISO 8601 timestamp when the fulfillment was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: FulfillmentsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, order_id: str, fulfillment_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Fulfillment
: Retrieves a single fulfillment by ID
Args: order_id: The order ID fulfillment_id: The fulfillment ID **kwargs: Additional parameters
Returns: Fulfillment
list(self, order_id: str, limit: int | None = None, since_id: int | None = None, created_at_min: str | None = None, created_at_max: str | None = None, updated_at_min: str | None = None, updated_at_max: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Fulfillment], FulfillmentsListResultMeta]
: Returns a list of fulfillments for an order
Args: order_id: The order ID limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID created_at_min: Show fulfillments created after date (ISO 8601 format) created_at_max: Show fulfillments created before date (ISO 8601 format) updated_at_min: Show fulfillments last updated after date (ISO 8601 format) updated_at_max: Show fulfillments last updated before date (ISO 8601 format) **kwargs: Additional parameters
Returns: FulfillmentsListResult
InventoryAdjustQuery(connector: ShopifyConnector)
: Query class for InventoryAdjust entity operations.
Initialize query with connector reference.
Methods
create(self, input: InventoryAdjustCreateParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.InventoryAdjustQuantitiesPayload
: Adjusts inventory quantities relatively (add/subtract) for items at locations via GraphQL mutation.
Args: input: Parameter input **kwargs: Additional parameters
Returns: InventoryAdjustQuantitiesPayload
InventoryItemsQuery(connector: ShopifyConnector)
: Query class for InventoryItems entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: InventoryItemsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[InventoryItemsSearchData]
: Search inventory_items records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (InventoryItemsSearchFilter):
- id: Unique identifier for the inventory item
- sku: Stock keeping unit associated with the inventory item
- tracked: Whether Shopify is tracking inventory for this item
- requires_shipping: Whether the item requires shipping
- country_code_of_origin: ISO country code of the item's country of origin
- created_at: ISO 8601 timestamp when the inventory item was created
- updated_at: ISO 8601 timestamp when the inventory item was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: InventoryItemsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, inventory_item_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.InventoryItem
: Retrieves a single inventory item by ID
Args: inventory_item_id: The inventory item ID **kwargs: Additional parameters
Returns: InventoryItem
list(self, ids: str, limit: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[InventoryItem], InventoryItemsListResultMeta]
: Returns a list of inventory items
Args: ids: Comma-separated list of inventory item IDs limit: Maximum number of results to return (max 250) **kwargs: Additional parameters
Returns: InventoryItemsListResult
InventoryLevelsQuery(connector: ShopifyConnector)
: Query class for InventoryLevels entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: InventoryLevelsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[InventoryLevelsSearchData]
: Search inventory_levels records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (InventoryLevelsSearchFilter):
- inventory_item_id: Identifier of the inventory item
- location_id: Identifier of the location holding the inventory
- available: Number of units available at the location
- updated_at: ISO 8601 timestamp when the inventory level was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: InventoryLevelsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, location_id: str, limit: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[InventoryLevel], InventoryLevelsListResultMeta]
: Returns a list of inventory levels for a specific location
Args: location_id: The location ID limit: Maximum number of results to return (max 250) **kwargs: Additional parameters
Returns: InventoryLevelsListResult
InventorySetQuery(connector: ShopifyConnector)
: Query class for InventorySet entity operations.
Initialize query with connector reference.
Methods
create(self, input: InventorySetCreateParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.InventorySetQuantitiesPayload
: Sets absolute inventory quantities for items at locations via GraphQL mutation.
Uses the inventorySetQuantities mutation with a required reason and reference document.
Args: input: Parameter input **kwargs: Additional parameters
Returns: InventorySetQuantitiesPayload
LocationsQuery(connector: ShopifyConnector)
: Query class for Locations entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: LocationsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[LocationsSearchData]
: Search locations records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (LocationsSearchFilter):
- id: Unique identifier for the location
- name: Display name of the location
- address1: Primary street address of the location
- city: City of the location
- province: Province, state, or region of the location
- country: Country name of the location
- country_code: ISO 3166-1 alpha-2 country code of the location
- phone: Phone number for the location
- active: Whether the location is currently active
- created_at: ISO 8601 timestamp when the location was created
- updated_at: ISO 8601 timestamp when the location was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: LocationsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, location_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Location
: Retrieves a single location by ID
Args: location_id: The location ID **kwargs: Additional parameters
Returns: Location
list(self, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Location], LocationsListResultMeta]
: Returns a list of locations for the store
Returns: LocationsListResult
MetafieldArticlesQuery(connector: ShopifyConnector)
: Query class for MetafieldArticles entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldArticlesSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldArticlesSearchData]
: Search metafield_articles records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldArticlesSearchFilter):
- id: Unique identifier for the metafield
- namespace: Container namespace for the metafield
- key: Identifier key for the metafield
- value: The metafield value
- type_: The metafield's information type
- description: Human-readable description of the metafield
- owner_id: Identifier of the article that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
article) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldArticlesSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, blog_id: str, article_id: str, limit: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldArticlesListResultMeta]
: Returns a list of metafields for a specific article
Args: blog_id: The blog ID article_id: The article ID limit: Maximum number of results to return (max 250) **kwargs: Additional parameters
Returns: MetafieldArticlesListResult
MetafieldBlogsQuery(connector: ShopifyConnector)
: Query class for MetafieldBlogs entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldBlogsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldBlogsSearchData]
: Search metafield_blogs records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldBlogsSearchFilter):
- id: Unique identifier for the metafield
- namespace: Container namespace for the metafield
- key: Identifier key for the metafield
- value: The metafield value
- type_: The metafield's information type
- description: Human-readable description of the metafield
- owner_id: Identifier of the blog that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
blog) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldBlogsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, blog_id: str, limit: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldBlogsListResultMeta]
: Returns a list of metafields for a specific blog
Args: blog_id: The blog ID limit: Maximum number of results to return (max 250) **kwargs: Additional parameters
Returns: MetafieldBlogsListResult
MetafieldCustomersQuery(connector: ShopifyConnector)
: Query class for MetafieldCustomers entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldCustomersSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldCustomersSearchData]
: Search metafield_customers records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldCustomersSearchFilter):
- id: Unique identifier for the metafield
- namespace: Namespace group for the metafield
- key: Key of the metafield within its namespace
- value: Serialized value stored in the metafield
- type_: Shopify metafield type (e.g.
single_line_text_field,json) - description: Human-readable description of the metafield
- owner_id: Identifier of the resource that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
product,customer) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldCustomersSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, customer_id: str, limit: int | None = None, since_id: int | None = None, namespace: str | None = None, key: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldCustomersListResultMeta]
: Returns a list of metafields for a customer
Args: customer_id: The customer ID limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID namespace: Filter by namespace key: Filter by key **kwargs: Additional parameters
Returns: MetafieldCustomersListResult
MetafieldDraftOrdersQuery(connector: ShopifyConnector)
: Query class for MetafieldDraftOrders entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldDraftOrdersSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldDraftOrdersSearchData]
: Search metafield_draft_orders records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldDraftOrdersSearchFilter):
- id: Unique identifier for the metafield
- namespace: Namespace group for the metafield
- key: Key of the metafield within its namespace
- value: Serialized value stored in the metafield
- type_: Shopify metafield type (e.g.
single_line_text_field,json) - description: Human-readable description of the metafield
- owner_id: Identifier of the resource that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
product,customer) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldDraftOrdersSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, draft_order_id: str, limit: int | None = None, since_id: int | None = None, namespace: str | None = None, key: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldDraftOrdersListResultMeta]
: Returns a list of metafields for a draft order
Args: draft_order_id: The draft order ID limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID namespace: Filter by namespace key: Filter by key **kwargs: Additional parameters
Returns: MetafieldDraftOrdersListResult
MetafieldLocationsQuery(connector: ShopifyConnector)
: Query class for MetafieldLocations entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldLocationsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldLocationsSearchData]
: Search metafield_locations records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldLocationsSearchFilter):
- id: Unique identifier for the metafield
- namespace: Namespace group for the metafield
- key: Key of the metafield within its namespace
- value: Serialized value stored in the metafield
- type_: Shopify metafield type (e.g.
single_line_text_field,json) - description: Human-readable description of the metafield
- owner_id: Identifier of the resource that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
product,customer) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldLocationsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, location_id: str, limit: int | None = None, since_id: int | None = None, namespace: str | None = None, key: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldLocationsListResultMeta]
: Returns a list of metafields for a location
Args: location_id: The location ID limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID namespace: Filter by namespace key: Filter by key **kwargs: Additional parameters
Returns: MetafieldLocationsListResult
MetafieldOrdersQuery(connector: ShopifyConnector)
: Query class for MetafieldOrders entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldOrdersSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldOrdersSearchData]
: Search metafield_orders records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldOrdersSearchFilter):
- id: Unique identifier for the metafield
- namespace: Namespace group for the metafield
- key: Key of the metafield within its namespace
- value: Serialized value stored in the metafield
- type_: Shopify metafield type (e.g.
single_line_text_field,json) - description: Human-readable description of the metafield
- owner_id: Identifier of the resource that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
product,customer) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldOrdersSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, order_id: str, limit: int | None = None, since_id: int | None = None, namespace: str | None = None, key: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldOrdersListResultMeta]
: Returns a list of metafields for an order
Args: order_id: The order ID limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID namespace: Filter by namespace key: Filter by key **kwargs: Additional parameters
Returns: MetafieldOrdersListResult
MetafieldPagesQuery(connector: ShopifyConnector)
: Query class for MetafieldPages entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldPagesSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldPagesSearchData]
: Search metafield_pages records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldPagesSearchFilter):
- id: Unique identifier for the metafield
- namespace: Container namespace for the metafield
- key: Identifier key for the metafield
- value: The metafield value
- type_: The metafield's information type
- description: Human-readable description of the metafield
- owner_id: Identifier of the page that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
page) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldPagesSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, page_id: str, limit: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldPagesListResultMeta]
: Returns a list of metafields for a specific page
Args: page_id: The page ID limit: Maximum number of results to return (max 250) **kwargs: Additional parameters
Returns: MetafieldPagesListResult
MetafieldProductImagesQuery(connector: ShopifyConnector)
: Query class for MetafieldProductImages entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldProductImagesSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldProductImagesSearchData]
: Search metafield_product_images records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldProductImagesSearchFilter):
- id: Unique identifier for the metafield
- namespace: Namespace group for the metafield
- key: Key of the metafield within its namespace
- value: Serialized value stored in the metafield
- type_: Shopify metafield type (e.g.
single_line_text_field,json) - description: Human-readable description of the metafield
- owner_id: Identifier of the resource that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
product,customer) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldProductImagesSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, product_id: str, image_id: str, limit: int | None = None, since_id: int | None = None, namespace: str | None = None, key: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldProductImagesListResultMeta]
: Returns a list of metafields for a product image
Args: product_id: The product ID image_id: The image ID limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID namespace: Filter by namespace key: Filter by key **kwargs: Additional parameters
Returns: MetafieldProductImagesListResult
MetafieldProductVariantsQuery(connector: ShopifyConnector)
: Query class for MetafieldProductVariants entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldProductVariantsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldProductVariantsSearchData]
: Search metafield_product_variants records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldProductVariantsSearchFilter):
- id: Unique identifier for the metafield
- namespace: Namespace group for the metafield
- key: Key of the metafield within its namespace
- value: Serialized value stored in the metafield
- type_: Shopify metafield type (e.g.
single_line_text_field,json) - description: Human-readable description of the metafield
- owner_id: Identifier of the resource that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
product,customer) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldProductVariantsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, variant_id: str, limit: int | None = None, since_id: int | None = None, namespace: str | None = None, key: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldProductVariantsListResultMeta]
: Returns a list of metafields for a product variant
Args: variant_id: The variant ID limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID namespace: Filter by namespace key: Filter by key **kwargs: Additional parameters
Returns: MetafieldProductVariantsListResult
MetafieldProductsQuery(connector: ShopifyConnector)
: Query class for MetafieldProducts entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldProductsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldProductsSearchData]
: Search metafield_products records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldProductsSearchFilter):
- id: Unique identifier for the metafield
- namespace: Namespace group for the metafield
- key: Key of the metafield within its namespace
- value: Serialized value stored in the metafield
- type_: Shopify metafield type (e.g.
single_line_text_field,json) - description: Human-readable description of the metafield
- owner_id: Identifier of the resource that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
product,customer) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldProductsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, product_id: str, limit: int | None = None, since_id: int | None = None, namespace: str | None = None, key: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldProductsListResultMeta]
: Returns a list of metafields for a product
Args: product_id: The product ID limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID namespace: Filter by namespace key: Filter by key **kwargs: Additional parameters
Returns: MetafieldProductsListResult
MetafieldShopsQuery(connector: ShopifyConnector)
: Query class for MetafieldShops entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldShopsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldShopsSearchData]
: Search metafield_shops records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldShopsSearchFilter):
- id: Unique identifier for the metafield
- namespace: Namespace group for the metafield
- key: Key of the metafield within its namespace
- value: Serialized value stored in the metafield
- type_: Shopify metafield type (e.g.
single_line_text_field,json) - description: Human-readable description of the metafield
- owner_id: Identifier of the resource that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
product,customer) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldShopsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, metafield_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Metafield
: Retrieves a single metafield by ID
Args: metafield_id: The metafield ID **kwargs: Additional parameters
Returns: Metafield
list(self, limit: int | None = None, since_id: int | None = None, namespace: str | None = None, key: str | None = None, type: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldShopsListResultMeta]
: Returns a list of metafields for the shop
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID namespace: Filter by namespace key: Filter by key type: Filter by type **kwargs: Additional parameters
Returns: MetafieldShopsListResult
MetafieldSmartCollectionsQuery(connector: ShopifyConnector)
: Query class for MetafieldSmartCollections entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: MetafieldSmartCollectionsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[MetafieldSmartCollectionsSearchData]
: Search metafield_smart_collections records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (MetafieldSmartCollectionsSearchFilter):
- id: Unique identifier for the metafield
- namespace: Namespace group for the metafield
- key: Key of the metafield within its namespace
- value: Serialized value stored in the metafield
- type_: Shopify metafield type (e.g.
single_line_text_field,json) - description: Human-readable description of the metafield
- owner_id: Identifier of the resource that owns this metafield
- owner_resource: Resource type that owns this metafield (e.g.
product,customer) - created_at: ISO 8601 timestamp when the metafield was created
- updated_at: ISO 8601 timestamp when the metafield was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: MetafieldSmartCollectionsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, collection_id: str, limit: int | None = None, since_id: int | None = None, namespace: str | None = None, key: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Metafield], MetafieldSmartCollectionsListResultMeta]
: Returns a list of metafields for a smart collection
Args: collection_id: The collection ID limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID namespace: Filter by namespace key: Filter by key **kwargs: Additional parameters
Returns: MetafieldSmartCollectionsListResult
MetafieldsQuery(connector: ShopifyConnector)
: Query class for Metafields entity operations.
Initialize query with connector reference.
Methods
create(self, metafields: list[MetafieldsCreateParamsMetafieldsItem], **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.MetafieldsSetPayload
: Sets (creates or updates) up to 25 metafields atomically via GraphQL mutation.
Works across all resource types (products, customers, orders, etc.).
Args: metafields: List of metafields to set **kwargs: Additional parameters
Returns: MetafieldsSetPayload
delete(self, metafields: list[MetafieldsDeleteParamsMetafieldsItem], **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.MetafieldDeletePayload
: Deletes one or more metafields via GraphQL mutation.
Identifies metafields by ownerId + namespace + key.
Args: metafields: List of metafield identifiers to delete **kwargs: Additional parameters
Returns: MetafieldDeletePayload
OrderRefundsQuery(connector: ShopifyConnector)
: Query class for OrderRefunds entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: OrderRefundsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[OrderRefundsSearchData]
: Search order_refunds records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (OrderRefundsSearchFilter):
- id: Unique identifier for the refund
- order_id: Identifier of the refunded order
- user_id: Identifier of the staff user who processed the refund
- note: Merchant-provided note explaining the refund
- created_at: ISO 8601 timestamp when the refund was created
- processed_at: ISO 8601 timestamp when the refund was processed
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: OrderRefundsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, order_id: str, refund_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Refund
: Retrieves a single refund by ID
Args: order_id: The order ID refund_id: The refund ID **kwargs: Additional parameters
Returns: Refund
list(self, order_id: str, limit: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Refund], OrderRefundsListResultMeta]
: Returns a list of refunds for an order
Args: order_id: The order ID limit: Maximum number of results to return (max 250) **kwargs: Additional parameters
Returns: OrderRefundsListResult
OrdersQuery(connector: ShopifyConnector)
: Query class for Orders entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: OrdersSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[OrdersSearchData]
: Search orders records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (OrdersSearchFilter):
- id: Unique identifier for the order
- name: Shopify-assigned display name for the order (e.g.
#1001) - email: Email address associated with the order
- phone: Phone number associated with the order
- order_number: Sequential order number displayed in the Shopify admin
- financial_status: Payment status of the order (e.g.
paid,pending,refunded,partially_refunded) - fulfillment_status: Fulfillment status of the order (e.g.
fulfilled,partial,nullfor unfulfilled) - currency: ISO 4217 currency code for the order totals
- total_price: Total price of the order including taxes and discounts
- subtotal_price: Subtotal of the order before shipping and taxes
- total_tax: Total tax amount applied to the order
- total_discounts: Total discount amount applied to the order
- total_weight: Total weight of all items in the order, in grams
- cancel_reason: Reason the order was cancelled, if applicable
- cancelled_at: ISO 8601 timestamp when the order was cancelled, if applicable
- closed_at: ISO 8601 timestamp when the order was closed, if applicable
- tags: Comma-separated tags attached to the order
- note: Merchant-provided note on the order
- processed_at: ISO 8601 timestamp when the order was processed
- created_at: ISO 8601 timestamp when the order was created
- updated_at: ISO 8601 timestamp when the order was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: OrdersSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
create(self, order: OrdersCreateParamsOrder, options: OrdersCreateParamsOptions | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.OrderCreatePayload
: Creates a new order via GraphQL mutation.
Use line items with either variantId or customAttributes.
Args: order: OrderCreateOrderInput object options: OrderCreateOptionsInput **kwargs: Additional parameters
Returns: OrderCreatePayload
delete(self, order_id: str, reason: str, restock: bool, notify_customer: bool | None = None, refund: bool | None = None, staff_note: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.OrderCancelPayload
: Cancels an open order via GraphQL mutation.
This action is irreversible. Optional refund and restock parameters.
Args: order_id: The GraphQL GID of the order to cancel reason: Reason for cancellation notify_customer: Whether to notify the customer refund: Whether to refund the order restock: Whether to restock items staff_note: Staff note for the cancellation **kwargs: Additional parameters
Returns: OrderCancelPayload
get(self, order_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Order
: Retrieves a single order by ID
Args: order_id: The order ID **kwargs: Additional parameters
Returns: Order
list(self, limit: int | None = None, since_id: int | None = None, created_at_min: str | None = None, created_at_max: str | None = None, updated_at_min: str | None = None, updated_at_max: str | None = None, status: str | None = None, financial_status: str | None = None, fulfillment_status: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Order], OrdersListResultMeta]
: Returns a list of orders from the store
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID created_at_min: Show orders created after date (ISO 8601 format) created_at_max: Show orders created before date (ISO 8601 format) updated_at_min: Show orders last updated after date (ISO 8601 format) updated_at_max: Show orders last updated before date (ISO 8601 format) status: Filter orders by status financial_status: Filter orders by financial status fulfillment_status: Filter orders by fulfillment status **kwargs: Additional parameters
Returns: OrdersListResult
update(self, input: OrdersUpdateParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.OrderUpdatePayload
: Updates simple fields on an existing order via GraphQL mutation.
For line item changes, use orderEditBegin/orderEditCommit instead.
Args: input: Parameter input **kwargs: Additional parameters
Returns: OrderUpdatePayload
PagesQuery(connector: ShopifyConnector)
: Query class for Pages entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: PagesSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[PagesSearchData]
: Search pages records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (PagesSearchFilter):
- id: Unique identifier for the page
- title: Title of the page
- handle: URL-friendly handle for the page
- author: Name of the page author
- body_html: HTML content of the page
- published_at: ISO 8601 timestamp when the page was published
- created_at: ISO 8601 timestamp when the page was created
- updated_at: ISO 8601 timestamp when the page was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: PagesSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
create(self, page: PagesCreateParamsPage, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.PageCreatePayload
: Creates a new page on the online store via GraphQL mutation.
Args: page: Parameter page **kwargs: Additional parameters
Returns: PageCreatePayload
delete(self, id: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.PageDeletePayload
: Deletes a page from the online store via GraphQL mutation.
Args: id: The GraphQL GID of the page to delete **kwargs: Additional parameters
Returns: PageDeletePayload
get(self, page_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Page
: Retrieves a single page by ID
Args: page_id: The page ID **kwargs: Additional parameters
Returns: Page
list(self, limit: int | None = None, since_id: int | None = None, created_at_min: str | None = None, created_at_max: str | None = None, updated_at_min: str | None = None, updated_at_max: str | None = None, published_status: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Page], PagesListResultMeta]
: Returns a list of static pages for the store
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID created_at_min: Show pages created after date (ISO 8601 format) created_at_max: Show pages created before date (ISO 8601 format) updated_at_min: Show pages last updated after date (ISO 8601 format) updated_at_max: Show pages last updated before date (ISO 8601 format) published_status: Filter by published status (published, unpublished, any) **kwargs: Additional parameters
Returns: PagesListResult
update(self, page: PagesUpdateParamsPage, id: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.PageUpdatePayload
: Updates an existing page on the online store via GraphQL mutation.
Args: id: The GraphQL GID of the page to update page: Parameter page **kwargs: Additional parameters
Returns: PageUpdatePayload
PriceRulesQuery(connector: ShopifyConnector)
: Query class for PriceRules entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: PriceRulesSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[PriceRulesSearchData]
: Search price_rules records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (PriceRulesSearchFilter):
- id: Unique identifier for the price rule
- title: Administrative title of the price rule
- value_type: How the discount value is interpreted (
fixed_amountorpercentage) - value: Discount value applied by the rule
- target_type: Type of target the rule applies to (
line_itemorshipping_line) - target_selection: Which target items the rule applies to (
allorentitled) - allocation_method: How the discount is allocated (
eachoracross) - starts_at: ISO 8601 timestamp when the rule starts being active
- ends_at: ISO 8601 timestamp when the rule stops being active, if applicable
- created_at: ISO 8601 timestamp when the rule was created
- updated_at: ISO 8601 timestamp when the rule was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: PriceRulesSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, price_rule_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.PriceRule
: Retrieves a single price rule by ID
Args: price_rule_id: The price rule ID **kwargs: Additional parameters
Returns: PriceRule
list(self, limit: int | None = None, since_id: int | None = None, created_at_min: str | None = None, created_at_max: str | None = None, updated_at_min: str | None = None, updated_at_max: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[PriceRule], PriceRulesListResultMeta]
: Returns a list of price rules
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID created_at_min: Show price rules created after date (ISO 8601 format) created_at_max: Show price rules created before date (ISO 8601 format) updated_at_min: Show price rules last updated after date (ISO 8601 format) updated_at_max: Show price rules last updated before date (ISO 8601 format) **kwargs: Additional parameters
Returns: PriceRulesListResult
ProductImagesQuery(connector: ShopifyConnector)
: Query class for ProductImages entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: ProductImagesSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[ProductImagesSearchData]
: Search product_images records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (ProductImagesSearchFilter):
- id: Unique identifier for the product image
- product_id: Identifier of the product the image belongs to
- position: Display position of the image within the product
- alt: Alt text for the image
- width: Image width in pixels
- height: Image height in pixels
- src: Public URL of the image
- created_at: ISO 8601 timestamp when the image was created
- updated_at: ISO 8601 timestamp when the image was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: ProductImagesSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, product_id: str, image_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ProductImage
: Retrieves a single product image by ID
Args: product_id: The product ID image_id: The image ID **kwargs: Additional parameters
Returns: ProductImage
list(self, product_id: str, since_id: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[ProductImage], ProductImagesListResultMeta]
: Returns a list of images for a product
Args: product_id: The product ID since_id: Restrict results to after the specified ID **kwargs: Additional parameters
Returns: ProductImagesListResult
ProductVariantsQuery(connector: ShopifyConnector)
: Query class for ProductVariants entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: ProductVariantsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[ProductVariantsSearchData]
: Search product_variants records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (ProductVariantsSearchFilter):
- id: Unique identifier for the product variant
- product_id: Identifier of the parent product
- title: Display title of the variant
- sku: Stock keeping unit for the variant
- price: Price of the variant in the shop's currency
- compare_at_price: Original (compare-at) price of the variant, if set
- position: Display position of the variant within the product
- inventory_policy: Behaviour when out of stock (
denyorcontinue) - created_at: ISO 8601 timestamp when the variant was created
- updated_at: ISO 8601 timestamp when the variant was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: ProductVariantsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
create(self, product_id: str, variants: list[ProductVariantsCreateParamsVariantsItem], **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ProductVariantsBulkCreatePayload
: Creates one or more product variants via GraphQL mutation.
Variants are created in bulk for a given product.
Args: product_id: The GraphQL GID of the product (e.g. gid://shopify/Product/123) variants: List of variants to create **kwargs: Additional parameters
Returns: ProductVariantsBulkCreatePayload
delete(self, product_id: str, variants_ids: list[str], **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ProductVariantsBulkDeletePayload
: Deletes one or more product variants via GraphQL mutation.
Cannot delete the last variant of a product.
Args: product_id: The GraphQL GID of the product variants_ids: List of variant GIDs to delete **kwargs: Additional parameters
Returns: ProductVariantsBulkDeletePayload
get(self, variant_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ProductVariant
: Retrieves a single product variant by ID
Args: variant_id: The variant ID **kwargs: Additional parameters
Returns: ProductVariant
list(self, product_id: str, limit: int | None = None, since_id: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[ProductVariant], ProductVariantsListResultMeta]
: Returns a list of variants for a product
Args: product_id: The product ID limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID **kwargs: Additional parameters
Returns: ProductVariantsListResult
update(self, product_id: str, variants: list[ProductVariantsUpdateParamsVariantsItem], **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ProductVariantsBulkUpdatePayload
: Updates one or more product variants via GraphQL mutation.
Variants are updated in bulk for a given product.
Args: product_id: The GraphQL GID of the product variants: List of variants to update (each must include id) **kwargs: Additional parameters
Returns: ProductVariantsBulkUpdatePayload
ProductsQuery(connector: ShopifyConnector)
: Query class for Products entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: ProductsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[ProductsSearchData]
: Search products records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (ProductsSearchFilter):
- id: Unique identifier for the product
- title: Product title
- body_html: Product description in HTML
- vendor: Product vendor or manufacturer
- product_type: Product type used for categorization
- handle: URL-friendly handle for the product
- status: Product status (
active,archived, ordraft) - tags: Comma-separated tags attached to the product
- published_scope: Publishing scope (
weborglobal) - published_at: ISO 8601 timestamp when the product was published
- created_at: ISO 8601 timestamp when the product was created
- updated_at: ISO 8601 timestamp when the product was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: ProductsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
create(self, product: ProductsCreateParamsProduct, media: list[ProductsCreateParamsMediaItem] | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ProductCreatePayload
: Creates a new product via GraphQL mutation.
Creates the product with a default variant. Use productVariantsBulkCreate
to add additional variants afterwards.
Args: product: ProductCreateInput object media: Media to attach to the product **kwargs: Additional parameters
Returns: ProductCreatePayload
delete(self, input: ProductsDeleteParamsInput, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ProductDeletePayload
: Deletes a product from the store via GraphQL mutation.
This action is irreversible.
Args: input: Parameter input **kwargs: Additional parameters
Returns: ProductDeletePayload
get(self, product_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Product
: Retrieves a single product by ID
Args: product_id: The product ID **kwargs: Additional parameters
Returns: Product
list(self, limit: int | None = None, since_id: int | None = None, created_at_min: str | None = None, created_at_max: str | None = None, updated_at_min: str | None = None, updated_at_max: str | None = None, status: str | None = None, product_type: str | None = None, vendor: str | None = None, collection_id: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Product], ProductsListResultMeta]
: Returns a list of products from the store
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID created_at_min: Show products created after date (ISO 8601 format) created_at_max: Show products created before date (ISO 8601 format) updated_at_min: Show products last updated after date (ISO 8601 format) updated_at_max: Show products last updated before date (ISO 8601 format) status: Filter products by status product_type: Filter by product type vendor: Filter by vendor collection_id: Filter by collection ID **kwargs: Additional parameters
Returns: ProductsListResult
update(self, product: ProductsUpdateParamsProduct, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ProductUpdatePayload
: Updates an existing product via GraphQL mutation.
All fields except id are optional for partial updates.
Args: product: ProductUpdateInput object **kwargs: Additional parameters
Returns: ProductUpdatePayload
ShopQuery(connector: ShopifyConnector)
: Query class for Shop entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: ShopSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[ShopSearchData]
: Search shop records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (ShopSearchFilter):
- id: Unique identifier for the shop
- name: Display name of the shop
- email: Primary contact email for the shop
- domain: Custom domain configured for the shop, if any
- myshopify_domain: Canonical
*.myshopify.comdomain for the shop - country_code: ISO 3166-1 alpha-2 country code of the shop
- currency: ISO 4217 currency code used by the shop
- timezone: Timezone configured for the shop (e.g.
(GMT-05:00) Eastern Time) - plan_name: Shopify plan identifier (e.g.
shopify_plus,basic) - created_at: ISO 8601 timestamp when the shop was created
- updated_at: ISO 8601 timestamp when the shop was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: ShopSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Shop
: Retrieves the shop's configuration
Returns: Shop
ShopifyConnector(auth_config: ShopifyAuthConfig | AirbyteAuthConfig | BaseModel | None = None, on_token_refresh: Any | None = None, shop: str | None = None)
: Type-safe Shopify API connector.
Auto-generated from OpenAPI specification with full type safety.
Initialize a new shopify connector instance.
Supports both local and hosted execution modes:
- Local mode: Provide connector-specific auth config (e.g., ShopifyAuthConfig)
- Hosted mode: Provide
AirbyteAuthConfigwith client credentials and eitherconnector_idorworkspace_name
Args: auth_config: Either connector-specific auth config for local mode, or AirbyteAuthConfig for hosted mode on_token_refresh: Optional callback for OAuth2 token refresh persistence. Called with new_tokens dict when tokens are refreshed. Can be sync or async. Example: lambda tokens: save_to_database(tokens) shop: Your Shopify store name (e.g., 'my-store' from my-store.myshopify.com) Examples:
Local mode (direct API calls)
connector = ShopifyConnector(auth_config=ShopifyAuthConfig(api_key="..."))
Hosted mode with explicit connector_id (no lookup needed)
connector = ShopifyConnector( auth_config=AirbyteAuthConfig( airbyte_client_id="client_abc123", airbyte_client_secret="secret_xyz789", connector_id="existing-source-uuid" ) )
Hosted mode with lookup by workspace_name
connector = ShopifyConnector( auth_config=AirbyteAuthConfig( workspace_name="user-123", organization_id="00000000-0000-0000-0000-000000000123", airbyte_client_id="client_abc123", airbyte_client_secret="secret_xyz789" ) )
Class variables
connector_name
: The type of the None singleton.
connector_version
: The type of the None singleton.
sdk_version
: The type of the None singleton.
Static methods
agent_tool(role: AgentToolRole | None = None, *, inspect_tool: str | None = None, docs_tool: str | None = None, max_output_chars: int | None | Unset = UNSET, framework: FrameworkName = 'none', internal_retries: int = 0, should_internal_retry: Callable[[Exception, tuple[Any, ...], dict[str, Any]], bool] | None = None, exhausted_runtime_failure_message: Callable[[Exception, tuple[Any, ...], dict[str, Any]], str | None] | None = None) ‑> Callable[[~_F], ~_F]
: Framework-agnostic decorator for user-written connector tool functions.
The progressive-docs sibling of tool_utils: instead of baking the full
entity/action reference into the docstring, it instructs the agent to
call this connector's inspect and docs tools before executing. Tool
failures raise :class:airbyte_agent_sdk.AirbyteToolError by default
(framework="none", no auto-detection) — pass framework=... to
translate to a supported framework's signal instead.
Decorate three functions per connector — execute, inspect and docs.
The role is inferred from each function's signature (extra parameters
are allowed); a signature matching more than one role, a generic
(*args, **kwargs) wrapper, or a callable whose signature cannot
be read must pass the role explicitly:
(entity, action, ...)->"execute"(section, ...)->"read_skill_docs"()->"inspect_connector"
Usage: connector = ShopifyConnector(...)
@ShopifyConnector.agent_tool() async def execute(entity: str, action: str, params: dict | None = None): return await connector.execute(entity=entity, action=action, params=params or {})
@ShopifyConnector.agent_tool() async def inspect_connector(): return await connector.inspect_connector()
@ShopifyConnector.agent_tool() async def read_skill_docs(section: str | None = None): return await connector.read_skill_docs(section)
Args:
role: "execute" | "inspect_connector" | "read_skill_docs".
None (default) infers the role from the decorated function's
signature; an explicit role validates the canonical
parameters are present (functions accepting **kwargs, or
callables whose signature cannot be read, pass validation).
inspect_tool: Exact registered name of the sibling inspect tool,
woven into the execute docstring for tighter steering.
Defaults to generic phrasing.
docs_tool: Exact registered name of the sibling docs tool (see
inspect_tool).
max_output_chars: Max serialized output size before failing.
Defaults per role: execute -> DEFAULT_MAX_OUTPUT_CHARS, docs
tools -> None.
framework: Translation target for tool failures. Defaults to
"none" (raise AirbyteToolError); never auto-detects.
internal_retries: How many transient runtime failures (429/5xx,
network, timeout) to retry silently before surfacing.
Forwarded to
:func:airbyte_agent_sdk.translation.translate_exceptions.
should_internal_retry: Optional predicate (error, args, kwargs) -> bool further restricting which retryable errors are safe
for this specific tool. Forwarded to
:func:airbyte_agent_sdk.translation.translate_exceptions.
exhausted_runtime_failure_message: Optional callback (error, args, kwargs) -> str | None invoked after internal retries
are exhausted or skipped. Forwarded to
:func:airbyte_agent_sdk.translation.translate_exceptions.
tool_utils(func: _F | None = None, *, update_docstring: bool = True, max_output_chars: int | None = 100000, framework: FrameworkName | None = None, internal_retries: int = 0, should_internal_retry: Callable[[Exception, tuple[Any, ...], dict[str, Any]], bool] | None = None, exhausted_runtime_failure_message: Callable[[Exception, tuple[Any, ...], dict[str, Any]], str | None] | None = None) ‑> ~_F | Callable[[~_F], ~_F]
: Add connector-specific documentation and runtime safeguards to one tool.
For new agents, prefer build_connector_tools. It returns progressive
inspect_connector, read_skill_docs, and execute tools so the agent
can load only the connector guidance it needs:
from airbyte_agent_sdk import build_connector_tools
from pydantic_ai import Agent
tools = build_connector_tools(connector, framework="pydantic_ai")
agent = Agent("openai:gpt-4o", tools=tools.as_list())
Legacy: one generated-description tool
Existing integrations can keep using tool_utils for one broad
execute tool with the connector's full generated catalog in its
description:
from fastmcp import FastMCP
connector = ShopifyConnector()
mcp = FastMCP("Connector Agent")
@mcp.tool()
@ShopifyConnector.tool_utils
async def execute(entity: str, action: str, params: dict):
...
Configure documentation, output limits, framework translation, and retries when needed:
@mcp.tool()
@ShopifyConnector.tool_utils(update_docstring=False, max_output_chars=None)
async def execute(entity: str, action: str, params: dict):
...
@mcp.tool()
@ShopifyConnector.tool_utils(framework="pydantic_ai", internal_retries=2)
async def execute(entity: str, action: str, params: dict):
...
This decorator composes translate_exceptions for runtime wrapping,
output-size checks, framework signal translation, and optional internal
retries, then adds connector-specific docstring augmentation.
Args:
update_docstring: When True, append connector capabilities to __doc__.
max_output_chars: Max serialized output size before raising. Use None to disable.
framework: One of "pydantic_ai" | "langchain" | "openai_agents" | "mcp".
Defaults to None, which auto-detects each framework's canonical
import in order. Explicit always wins.
internal_retries: How many transient runtime failures (429/5xx, network,
timeout) to retry silently before surfacing. Default 0. Forwarded to
airbyte_agent_sdk.translation.translate_exceptions.
should_internal_retry: Optional predicate (error, args, kwargs) -> bool
further restricting which retryable errors are safe for this specific
tool. Forwarded to airbyte_agent_sdk.translation.translate_exceptions.
exhausted_runtime_failure_message: Optional callback
(error, args, kwargs) -> str | None. Invoked after internal retries
are exhausted or were skipped because should_internal_retry returned
False. Forwarded to airbyte_agent_sdk.translation.translate_exceptions.
Instance variables
connector_id: str | None
: Get the connector/source ID (only available in hosted mode).
Returns: The connector ID if in hosted mode, None if in local mode.
Methods
check(self) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyCheckResult
: Perform a health check to verify connectivity and credentials.
Executes a lightweight list operation (limit=1) to validate that the connector can communicate with the API and credentials are valid.
Returns: ShopifyCheckResult with status ("healthy" or "unhealthy") and optional error message
Example: result = await connector.check() if result.status == "healthy": print("Connection verified!") else: print(f"Check failed: {result.error}")
close(self)
: Close the connector and release resources.
entity_schema(self, entity: str) ‑> dict[str, typing.Any] | None
: Get the JSON schema for an entity.
Args: entity: Entity name (e.g., "contacts", "companies")
Returns: JSON schema dict describing the entity structure, or None if not found.
Example: schema = connector.entity_schema("contacts") if schema: print(f"Contact properties: {list(schema.get('properties', {}).keys())}")
execute(self, entity: str, action: "Literal['list', 'get', 'create', 'update', 'delete', 'context_store_search']", params: Mapping[str, Any] | None = None, *, select_fields: list[str] | None = None, exclude_fields: list[str] | None = None, skip_truncation: bool = True) ‑> Any
: Execute an entity operation with full type safety.
This is the recommended interface for blessed connectors as it:
- Uses the same signature as non-blessed connectors
- Provides full IDE autocomplete for entity/action/params
- Makes migration from generic to blessed connectors seamless
Args: entity: Entity name (e.g., "customers") action: Operation action (e.g., "create", "get", "list") params: Operation parameters (typed based on entity+action) select_fields: Optional allowlist of dot-notation fields to include exclude_fields: Optional blocklist of dot-notation fields to remove skip_truncation: Disable long-text truncation for collection actions
Returns: Typed response based on the operation
Example: customer = await connector.execute( entity="customers", action="get", params={"id": "cus_123"} )
inspect_connector(self) ‑> dict[str, typing.Any]
: Inspect this connector's hosted metadata/readiness and resolve its docs skill id.
Call this before read_skill_docs in the normal hosted flow. For local/offline connectors this returns a local-mode payload with a warning instead of a hosted inspection.
Example: info = await connector.inspect_connector() print(info["docs_skill_id"])
list_entities(self) ‑> list[dict[str, typing.Any]]
: Get structured data about available entities, actions, and parameters.
Returns a list of entity descriptions with:
- entity_name: Name of the entity (e.g., "contacts", "deals")
- description: Entity description from the first endpoint
- available_actions: List of actions (e.g., ["list", "get", "create"])
- parameters: Dict mapping action -> list of parameter dicts
Example: entities = connector.list_entities() for entity in entities: print(f"{entity['entity_name']}: {entity['available_actions']}")
read_skill_docs(self, section: str | None = None) ‑> str
: Read this connector's usage docs, rendered to text.
Omit section for the outline and general guidance; pass an exact section id from the outline for full details. For local/offline connectors the full generated docs are returned and section is ignored.
Example: outline = await connector.read_skill_docs() details = await connector.read_skill_docs(section="entity:contacts")
SmartCollectionsQuery(connector: ShopifyConnector)
: Query class for SmartCollections entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: SmartCollectionsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[SmartCollectionsSearchData]
: Search smart_collections records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (SmartCollectionsSearchFilter):
- id: Unique identifier for the smart collection
- handle: URL-friendly handle for the smart collection
- title: Display title of the smart collection
- sort_order: How products are sorted within the collection
- published_scope: Publishing scope (
weborglobal) - published_at: ISO 8601 timestamp when the collection was published
- updated_at: ISO 8601 timestamp when the collection was last updated
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: SmartCollectionsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
get(self, collection_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.SmartCollection
: Retrieves a single smart collection by ID
Args: collection_id: The collection ID **kwargs: Additional parameters
Returns: SmartCollection
list(self, limit: int | None = None, since_id: int | None = None, title: str | None = None, product_id: int | None = None, updated_at_min: str | None = None, updated_at_max: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[SmartCollection], SmartCollectionsListResultMeta]
: Returns a list of smart collections
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID title: Filter by collection title product_id: Filter by product ID updated_at_min: Show collections last updated after date (ISO 8601 format) updated_at_max: Show collections last updated before date (ISO 8601 format) **kwargs: Additional parameters
Returns: SmartCollectionsListResult
TenderTransactionsQuery(connector: ShopifyConnector)
: Query class for TenderTransactions entity operations.
Initialize query with connector reference.
Methods
context_store_search(self, query: TenderTransactionsSearchQuery, limit: int | None = None, cursor: str | None = None, fields: list[list[str]] | None = None) ‑> airbyte_agent_sdk.connectors.shopify.models.AirbyteSearchResult[TenderTransactionsSearchData]
: Search tender_transactions records from Airbyte cache.
This operation searches cached data from Airbyte syncs. Only available in hosted execution mode.
Available filter fields (TenderTransactionsSearchFilter):
- id: Unique identifier for the tender transaction
- order_id: Identifier of the order the transaction belongs to
- user_id: Identifier of the staff user who processed the transaction
- amount: Amount of the transaction in the shop's currency
- currency: ISO 4217 currency code for the transaction amount
- payment_method: Payment method used (e.g.
credit_card,paypal) - test: Whether the transaction was a test transaction
- processed_at: ISO 8601 timestamp when the transaction was processed
Args: query: Filter and sort conditions. Supports operators like eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or. Example: {"filter": {"eq": {"status": "active"}}} limit: Maximum results to return (default 1000) cursor: Pagination cursor from previous response's meta.cursor fields: Field paths to include in results. Each path is a list of keys for nested access. Example: [["id"], ["user", "name"]] returns id and user.name fields.
Returns: TenderTransactionsSearchResult with typed records, pagination metadata, and optional search metadata
Raises: NotImplementedError: If called in local execution mode
list(self, limit: int | None = None, since_id: int | None = None, processed_at_min: str | None = None, processed_at_max: str | None = None, order: str | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[TenderTransaction], TenderTransactionsListResultMeta]
: Returns a list of tender transactions
Args: limit: Maximum number of results to return (max 250) since_id: Restrict results to after the specified ID processed_at_min: Show tender transactions processed after date (ISO 8601 format) processed_at_max: Show tender transactions processed before date (ISO 8601 format) order: Order of results **kwargs: Additional parameters
Returns: TenderTransactionsListResult
TransactionsQuery(connector: ShopifyConnector)
: Query class for Transactions entity operations.
Initialize query with connector reference.
Methods
get(self, order_id: str, transaction_id: str, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.Transaction
: Retrieves a single transaction by ID
Args: order_id: The order ID transaction_id: The transaction ID **kwargs: Additional parameters
Returns: Transaction
list(self, order_id: str, since_id: int | None = None, **kwargs) ‑> airbyte_agent_sdk.connectors.shopify.models.ShopifyExecuteResultWithMeta[list[Transaction], TransactionsListResultMeta]
: Returns a list of transactions for an order
Args: order_id: The order ID since_id: Restrict results to after the specified ID **kwargs: Additional parameters
Returns: TransactionsListResult