Shopify
Get OAuth Config
Returns the Shopify OAuth configuration that tells the frontend which connection mode to render.
Create Integration
Create a new Shopify integration instance.
List Integrations
Lists every Shopify integration instance connected to the account. Returns a lightweight summary per instance; use Get Integration for the full configuration.
Get Authorization URL
Returns the Shopify OAuth authorization URL for an integration instance. The frontend redirects the merchant's browser to this URL to begin authorization.
Get Integration
Returns the full configuration of a Shopify integration instance, including its linked store and sales channel, integration settings, granular sync controls (which capabilities sync automatically), and whether the sync schedule is paused.
Update Integration
Updates a Shopify integration instance. All fields are optional - send only what you want to change.
Delete Integration
Disconnects a Shopify integration instance. The webhooks SKU.io registered on the shop are removed first, then deletion of the instance and its synced data is queued as a background operation - the endpoint returns immediately with 204 while cleanup continues asynchronously.
Get Auth Settings
Returns the connection settings for an integration instance with secrets masked (only the last 4 characters are visible), plus the current sync status and shop URL. Useful for showing connection state without exposing credentials.
Show Install (Claim Page)
PUBLIC (no authentication). Reveals the Shopify store being connected on the claim page after an App Store cold install.
Claim Install (Attach to Existing Workspace)
AUTHENTICATED. Attaches a stashed cold install to a workspace the signed-in merchant already belongs to. The merchant MUST already have a SKU.io account — this flow never creates users or tenants.
List Orders
List Shopify orders for an integration instance with advanced filtering, sorting, and pagination.
Get Order
Returns a synced Shopify order by its SKU.io row ID, including its line items (with the mapped SKU.io product for each), the linked SKU.io sales order with its fulfillments, computed billing/shipping names, payment gateways, shipping methods, and a direct Shopify admin link.
Delete Single Order
Delete a single Shopify order from the local database.
Get Latest Sync Info
Get aggregate stats about order sync status. Returns total counts, SKU order coverage, and the sync cursor used for incremental syncs.
Search Shopify Orders
Search for orders directly in the Shopify store via GraphQL API.
Get Order Detail
Get the full ShipHero order detail for the order detail page (by local row id via route-model binding). Returns structured header fields (status, tracking, and `shipping_method` — the requested method/carrier/price from the order's shipping lines), the SKU.io fulfillment cross-link, line items, shipping labels and address, plus the full decoded `json_object`. `has_detailed_data` is false when no raw payload has been cached yet.
Get Raw Order (REST)
Fetch raw order data from the Shopify REST API for debugging. Data is not persisted.
Get Raw Order (GraphQL)
Fetch order data from the Shopify GraphQL API (same query used for order sync). Orders that originated as drafts (source_name = shopify_draft_order) are completed orders and are read via the standard order query with the read_orders scope.
Get Order Line Items
Lazy-load order line items with taxes, discounts, refunds, fulfillment info, and SKU product mapping.
Get Order Shipping Lines
Lazy-load order shipping lines with taxes and discounts.
Get Order Refunds
Lazy-load order refunds with line items, shipping lines, and adjustments.
Get Order Fulfillments
Lazy-load order fulfillments with line items and Shopify location info.
Get Order Transactions
Lazy-load order transactions with Shopify Payments fees.
Get Note Attribute Names
Get unique note attribute names (keys) across all orders for this integration instance.
Get Metafield Keys
Get unique metafield keys across all orders for this integration instance.
Delivery Date Preview
Preview how delivery date configuration rules would apply to existing orders.
Get Instance Order Activity Log
Paginated Spatie activity history for all Shopify orders belonging to this integration instance, newest first.
Get Order Activity Log
Returns a paginated activity log for a single synced Shopify order - sync events, status changes, and the user or system process that caused each one, newest first.
Refresh Orders (Tracked)
Start a tracked order refresh from Shopify. Returns a tracked_job_log_id for progress polling.
Get Refresh Progress
Poll the progress of a tracked order refresh job.
Refresh Orders
Queues a background download of orders from Shopify. The endpoint returns immediately; orders are refreshed asynchronously. For a refresh with progress polling, use Refresh Orders (Tracked) instead.
Refresh Single Order from Shopify
Fetches one order live from the Shopify Admin API by its Shopify order ID, updates the local copy synchronously, and returns the refreshed order.
Create SKU Orders
Creates SKU.io sales orders from synced Shopify orders that do not have one yet. A single order is created synchronously; multiple orders are processed asynchronously and the response includes a tracked_job_log_id for polling progress.
Update SKU Orders
Re-applies the latest synced Shopify order data to the linked SKU.io sales orders (statuses, line items, addresses). By default the work is queued in the background; set use_jobs to false to process synchronously.
Bulk Archive Orders
Archive multiple Shopify orders. Supports filtering with apply_to_all.
Bulk Unarchive Orders
Unarchive multiple Shopify orders.
Bulk Delete Orders
Delete multiple Shopify orders. Single orders deleted synchronously; multiple dispatches a tracked job.
Bulk Delete SKU Orders
Bulk delete the linked SKU sales orders (keeps Shopify orders intact). Dispatches a tracked job for large batches.
Archive Single Order
Archive a single Shopify order.
Unarchive Single Order
Unarchive a single Shopify order.
Delete SKU Order (Keep Shopify Order)
Delete the linked SKU sales order while keeping the Shopify order intact. Optionally archives the Shopify order.
List Shopify Fulfillments
List synced Shopify fulfillments for an integration instance (paginated).
List Pending Fulfillments
List pending SKU sales order fulfillments waiting to sync to Shopify. Includes mismatch data (unlinked Shopify fulfillments).
Get Fulfillment Stats
Get fulfillment page stats: pending sync count, mismatch count, and automatic sync schedule info.
Submit Single Fulfillment
Submit a single SKU sales order fulfillment to Shopify.
Submit Bulk Fulfillments
Submit multiple selected SKU fulfillments to Shopify.
Submit All Pending Fulfillments
Submit all pending SKU fulfillments to Shopify in one operation.
Submit Fulfillment to Shopify
Pushes a SKU.io sales order fulfillment (tracking number, carrier, fulfilled items) to Shopify, marking the corresponding Shopify order as fulfilled. The fulfillment is identified in the request body rather than the URL.
List Fulfillment Mismatches
List SKU fulfillments that have mismatches — not synced to Shopify but the order has unlinked Shopify fulfillments.
Link Fulfillments
Link a SKU fulfillment to an existing Shopify fulfillment to resolve a mismatch. Use force_link=true if tracking numbers differ.
Update Shopify Fulfillment from SKU
Update Shopify fulfillment tracking info from the SKU fulfillment and link them.
Delete SKU Create from Shopify
Delete the SKU fulfillment and create a new one from the Shopify fulfillment data. Resolves mismatches where Shopify is the source of truth.
Get Fulfillment Detailed
Get a single Shopify fulfillment with all relationships eager-loaded (order, location, line items + their order line item, and the related fulfillment orders with their location and line items). The SKU-internal sales order fulfillment this Shopify fulfillment is linked to (`sales_order_fulfillment`), including that fulfillment's internal fulfillment order, is included when present.
List Fulfillment Orders
List synced Shopify fulfillment orders for an integration instance (paginated, default 10 per page).
Get Fulfillment Order Detailed
Get a single Shopify fulfillment order with all relationships eager-loaded (order, location, line items + their order line item, and the related fulfillments with their location and line items). Each related fulfillment includes its linked SKU-internal sales order fulfillment (`sales_order_fulfillment`) and that fulfillment's internal fulfillment order when present.
List Inventory Comparison
Get paginated inventory comparison data showing SKU.io quantities vs Shopify quantities per product/location.
Get Inventory Summary
Get inventory summary statistics: synced count, variance count, needs recalculation count.
Get Inventory Locations
Get available Shopify locations for inventory filtering.
Trigger Inventory Recache
Trigger a job to recache SKU.io inventory quantities. Returns tracked_job_log_id for progress polling.
Get Recache Progress
Poll progress of an inventory recache job.
Trigger Inventory Sync
Trigger a job to sync SKU.io inventory quantities to Shopify. Returns tracked_job_log_id.
Get Sync Progress
Poll progress of an inventory sync job.
Fetch Live Inventory
Trigger a job to fetch live inventory quantities directly from Shopify. Returns tracked_job_log_id.
Get Fetch Live Progress
Poll progress of a fetch-live-inventory job.
List Webhook Events
List webhook events for an integration instance with pagination.
Get Webhook Event Details
Get full details of a specific webhook event including the raw payload JSON.
Get Processing Stats
Get webhook event processing statistics: counts by status, failure rates, etc.
Process Pending Events
Manually trigger processing of pending webhook events for an integration instance.
Retry Failed Events
Retry failed webhook events for an integration instance.
Process Event by ID
Process a specific pending webhook event by ID.
Reprocess Event by ID
Reprocess a webhook event including already-processed events (force retry).
Bulk Reprocess Events
Bulk reprocess multiple webhook events by IDs or by filter.
Bulk Delete Events
Bulk delete webhook events by IDs or by filter. Requires confirmation='YES' to proceed.
Delete All Events for Integration
Delete ALL webhook events for an integration instance. Requires confirmation='YES'.
List Pre-Start-Date Orders
Queries the Shopify Admin API live for orders created before the account's inventory start date and returns them with an eligibility assessment for historical import (eligible, already imported, or the reason they cannot be imported). Orders imported this way are flagged as pre-start-date imports and do not affect inventory.
Search Pre-Start-Date Orders
Searches the Shopify Admin API live for specific orders created before the inventory start date, by order number, Shopify order ID, or customer email. Returns the same shape and eligibility flags as List Pre-Start-Date Orders.
Import Pre-Start-Date Orders
Imports selected pre-start-date orders from Shopify. Each order is fetched from Shopify individually, so the import runs asynchronously: this endpoint enqueues the work and immediately returns a tracked job id. Poll the tracked jobs API with that id to follow progress and read the final imported/skipped counts. Full order data is downloaded and stored flagged as a pre-start-date import so it stays out of inventory calculations. Orders that already exist locally are flagged instead of being re-imported.
Search All Pre-Start-Date Orders (Async)
Start a background search for every order created before the inventory start date. Unlike the synchronous browse endpoint, this fetches ALL matching orders with no page cap and returns a tracked job id immediately. Poll the tracked jobs API with that id; when it completes, read the full result set from the results endpoint.
Get Pre-Start-Date Order Search Results
Return the cached result set produced by a completed Search All job. By default the full set is returned in one response; pass page and per_page for server-side pagination. Results are cached for one hour after the search completes.
List Products
List Shopify products for an integration instance with advanced filtering, sorting, and pagination.
Get Latest Sync Info
Get aggregate stats about product sync status for an integration instance.
Get Product
Returns a synced Shopify product variant by its SKU.io row ID, including the mapped SKU.io product (if linked), the Shopify inventory item with per-location inventory levels, and SKU.io's cached quantities per Shopify location.
Smart Match
Find matching SKU products for a Shopify product using SKU, barcode, and fuzzy matching.
Map Product
Map a Shopify product variant to a SKU product (or subscription offering).
Unmap Product
Remove the mapping between a Shopify product and its SKU product.
Create SKU Product
Create a new SKU product from a Shopify product and map it. If a SKU product with the same SKU already exists, links to it instead.
Archive Single Product
Archive a single Shopify product (sets archived_at timestamp).
Unarchive Single Product
Unarchive a single Shopify product (clears archived_at timestamp).
Get Raw Product from Shopify
Fetch the raw Shopify REST API response for a product. Used for debugging and transparency.
Get Raw Product (GraphQL)
Fetch product data from the Shopify GraphQL API (the same query used for product sync), including variants, inventory items and inventory levels. The data is not persisted — it reflects the live Shopify state.
Get Orders for Product
Get paginated Shopify orders that contain this product variant (matched by variant_id).
Search Shopify Products
Search for products directly in the Shopify store via GraphQL API.
Refresh Single Product from Shopify
Fetch and sync a single Shopify product (all variants) from Shopify by its parent product ID.
Refresh Products (Tracked)
Start a tracked product refresh job from Shopify. Returns a tracked_job_log_id to poll for progress.
Get Refresh Progress
Poll the progress of a tracked product refresh job.
Refresh from Shopify (Enhanced)
Enhanced product refresh from Shopify with mode control. Dispatches a background job.
Refresh Products
Queues a background download of the product catalog from Shopify. The endpoint returns immediately with no payload; products are refreshed asynchronously. For a refresh with progress polling, use Refresh Products (Tracked) instead.
Sync Inventory to Shopify
Pushes SKU.io inventory levels to Shopify for mapped products. With no body, all mapped listings on the instance are synced; pass ids to limit the push to specific products.
Bulk Operation
Execute a bulk operation on Shopify products synchronously.
Bulk Operation (Tracked)
Start a tracked bulk operation on Shopify products. Returns a tracked_job_log_id for progress polling.
Get Bulk Progress
Poll the progress of a tracked bulk product operation job.
Bulk Archive
Archive multiple Shopify products by their IDs.
Bulk Delete
Delete multiple Shopify products from the local database (does not delete in Shopify).
Map Products to SKU Products
Links Shopify product variants to SKU.io products in bulk by SKU. Each entry pairs a Shopify variant ID with a SKU.io product SKU; passing mapped_sku as null (or an empty string) unmaps the variant. Mappings are applied synchronously.
Create SKU Products
Queues creation of SKU.io products from synced Shopify products, using the supplied field mappings to populate product fields. The endpoint returns immediately; products are created in the background.
Archive Products
Archives the given synced Shopify products in SKU.io (hides them from active listings; nothing is changed in Shopify). Use Check Archiveable Products first to see which products can be archived.
Unarchive Products
Restores previously archived Shopify products in SKU.io.
Check Archiveable Products
Checks which of the given Shopify products can be archived. Products that appear on synced Shopify orders cannot be archived; the response lists each product with a boolean and the blocking reason (false when archiveable).
Delete Products
Deletes the local synced copies of the given Shopify products from SKU.io, including their product mappings/listings. The products are not deleted from Shopify - a later product refresh may re-import them if they still exist there.
Check Deleteable Products
Checks which of the given Shopify products can be deleted from SKU.io. The response lists each product with a boolean and the blocking reason (false when deleteable).
Download Bulk Mapping CSV Template
Download a CSV template pre-filled with Shopify product data and current mappings. Users fill in the map_to_sku column and upload back.
Validate Bulk Mapping CSV
Validate an uploaded CSV mapping file. Returns validation results including valid mappings and invalid rows.
Apply Bulk Mapping CSV
Apply validated CSV mappings — creates or updates product listings for each mapping pair.
Import Product Mappings
Queues a background import of product mappings from a previously uploaded CSV file (referenced by its stored name from the file upload step). Rows are keyed by the Shopify variant ID column and link each variant to a SKU.io product. The endpoint returns immediately.
Preview Revenue Conversion
Preview the impact of retroactively converting this product's historical sales-order lines (scoped to **this Shopify integration instance**) into revenue financial lines. Read-only — nothing is changed.
Get Affected Orders
Paginated list of sales orders that would be affected by a revenue-line conversion for this product (scoped to this Shopify integration instance). Powers the conversion wizard's impact step.
Convert Product Lines to Revenue
Flag this product as a revenue line and retroactively convert its historical sales-order lines (scoped to this Shopify integration instance) into revenue financial lines via a tracked background job.
Sync Costs to Shopify
Push each mapped listing's average cost to the Shopify variant's 'Cost per item' field. Runs asynchronously; poll Get Cost Sync Progress with the returned tracked_job_log_id.
Get Cost Sync Progress
Get the progress and results of a cost sync run. The results object reports pushed, skipped_unchanged, skipped_no_cost, skipped_bundle_component, skipped_currency, failed counts and an errors list.
Get Last Cost Sync
Get the most recent cost sync run for this instance (any status), or null when costs have never been synced. The response also includes a currency object (base_currency, store_currency, store_currency_rate, has_rate, differs) describing the base-vs-store currency conversion applied when pushing costs.
List Customers
Returns a paginated list of Shopify customers synced for the integration instance, including their default address and total synced order count.
List Refunds
Returns a paginated list of Shopify refunds synced for the integration instance, with the parent order summary and refund line item totals (quantity, subtotal, tax, and total refunded including adjustments).
List Returns
Returns a paginated list of Shopify returns synced for the integration instance, with the parent order summary, return line item counts, and the linked SKU.io RMA when one has been created.
List Transactions
Returns a paginated list of Shopify payment transactions synced for the integration instance, with the parent order summary and aggregated processing fee totals (converted to the shop currency).
Get Transaction
Returns full details of a single Shopify payment transaction: amounts in shop and presentment currency with the implied exchange rate, the raw gateway receipt, the parent order's financial summary with a Shopify admin link, and each processing fee with its rate breakdown.
List Available Mapping Fields
Returns the vocabulary of fields that can be used when configuring field mappings: every mappable Shopify product field and every mappable SKU.io product field, each with a label, data type, description, and group. Use these field names in the mappings you send to Update Field Mappings.
Get Field Mappings
Returns the field mapping configuration for an integration instance: the built-in default mappings, any custom overrides, and the effective mappings (defaults merged with overrides) that are actually applied when products are linked or created. Also includes the available field catalogs for building an editor.
Update Field Mappings
Replaces the custom field mappings for an integration instance. Each mapping pairs a Shopify field (listing_field) with a SKU.io field (sku_field) and an optional list of value parsers. Field names must come from List Available Mapping Fields.
Map Products to Existing SKUs
Queues a background operation that links Shopify products to existing SKU.io products using the configured field mappings. No new products are created - only matches to products that already exist. The endpoint returns immediately with status 'queued'.
Create Products from Mappings
Queues a background operation that creates new SKU.io products from unmapped Shopify products, populating fields according to the configured field mappings. The endpoint returns immediately with status 'queued'.
Download Product Mappings (CSV)
Downloads every product mapping for the instance as a CSV file for bulk editing. Columns: shopify_variant_id, shopify_product_title, shopify_variant_title, price, shopify_sku, mapped_sku. Edit the mapped_sku column and re-upload via Upload Product Mappings (CSV); clearing mapped_sku unmaps the product.
Upload Product Mappings (CSV)
Uploads a product mappings CSV (multipart/form-data) and applies it synchronously. Each row is keyed by shopify_variant_id (required). A non-empty mapped_sku links the Shopify product to that SKU.io product (creating or updating the listing); an empty mapped_sku removes the existing mapping. Optional listing_sku and price columns override the stored listing values.
List Locations
Returns the shop's locations. Note: this performs a live request to the Shopify Admin API on every call (it is not served from the local database), so responses reflect Shopify's current state and count against Shopify API limits.
Refresh Locations
Fetches the shop's locations live from the Shopify Admin API and returns them. Use this to re-pull locations after adding or renaming one in Shopify before assigning warehouse mappings.
List Warehouse Location Mappings
Lists every synced Shopify location with its current SKU.io warehouse mapping (warehouse_id is null for unmapped locations) plus full location address details. The meta block summarizes how many locations are mapped vs unmapped. These mappings drive fulfillment routing when use_location_mapping_for_new_orders is enabled on the integration.
Bulk Update Warehouse Location Mappings
Sets or clears the SKU.io warehouse assigned to one or more Shopify locations in a single call. Send warehouse_id as null to clear a mapping. Each mapping is applied independently - the response reports per-location success or failure plus an overall summary.
List Shipping Method Mappings
Lists the distinct shipping method values found on the instance's synced Shopify orders together with their current SKU.io shipping method mapping (unmapped entries have a null shipping_method_id). The response also includes all active SKU.io shipping methods for building a mapping editor, and a meta summary of mapped vs unmapped counts.
Bulk Update Shipping Method Mappings
Creates, updates, or removes shipping method mappings in bulk. Providing shipping_method_id maps the Shopify shipping method value to that SKU.io shipping method (upsert); sending null removes any existing mapping for that value. Each entry is processed independently with per-entry results.
Delete Shipping Method Mapping
Removes a shipping method mapping by its ID. Orders imported afterwards with that Shopify shipping method value fall back to the default shipping method behavior.
List Payment Method Mappings
Lists the distinct payment gateways found on the instance's synced Shopify order transactions together with their current SKU.io payment type mapping (unmapped entries have a null payment_type_id). Also returns all active SKU.io payment types and a meta summary of mapped vs unmapped counts. These mappings control which payment type is assigned to payments imported from Shopify.
Bulk Update Payment Method Mappings
Creates, updates, or removes payment method mappings in bulk. Providing payment_type_id maps the Shopify gateway to that SKU.io payment type (upsert); sending null removes any existing mapping for that gateway. Each entry is processed independently with per-entry results.
Delete Payment Method Mapping
Removes a payment method mapping by its ID. Payments imported afterwards with that gateway fall back to the default payment type behavior.
List Webhook Configurations
Lists every webhook topic SKU.io can subscribe to on the connected shop, with its human-readable label and description, the callback URL SKU.io registers, whether the subscription is currently enabled, and the Shopify webhook ID when active.
Enable Webhook Topic
Registers a webhook subscription for the given topic on the connected shop (live call to the Shopify Admin API). If the subscription already exists the call succeeds without creating a duplicate.
Disable Webhook Topic
Removes the webhook subscription for the given topic from the connected shop (live call to the Shopify Admin API). Succeeds even if the subscription was already removed on the Shopify side.
List Access Scopes
List the OAuth access scopes granted to this Shopify app installation, sorted alphabetically by handle. Sourced from the Shopify Admin GraphQL `currentAppInstallation.accessScopes` field.
Get Shop Plan
Fetch the shop plan from Shopify and return whether the store has Customer PII access via GraphQL. Basic/Starter plans do not have PII access — when false, customer email/addresses are excluded from order syncs.
Set Returns Access
Toggle whether the Shopify GraphQL `returns` field should be queried when this integration instance syncs orders. Set to `false` when the app installation lacks the `read_returns` permission scope — Shopify rejects the field with 'Access denied for returns field' otherwise. The system also auto-flips this to `false` the first time that error is observed.
Resume Customer PII Access
Clear the customer PII access blocked state for this Shopify integration instance and re-enable automatic order syncing. Call this after the Shopify store administrator has granted the app access to protected customer data (Shopify Partner Dashboard -> API access -> Protected customer data). The blocked state is set automatically when Shopify rejects an orders query with 'This app is not approved to use the [field] field' (protected customer data), which also disables automatic sync - orders without customer PII are unusable in SKU.io.
Resume Invalid Access Token
Clear the invalid access token state for this Shopify integration instance and re-enable automatic syncing. Call this after the Shopify app has been reauthorized and a fresh access token has been issued (e.g. the app was reinstalled or the token was rotated). The invalid state is set automatically when Shopify rejects an API call with 401 'Invalid API key or access token (unrecognized login or wrong password)', which also disables automatic sync to stop the failed-job retry storm.
List Payouts
Returns a paginated list of Shopify Payments payouts synced for the integration instance. Each payout includes the settlement amount, a normalized summary split of charges, refunds, and adjustments (gross and fee portions), the accounting status, and the number of balance-transaction lines.
Get Payout Filter Options
Returns the available filter values for the payouts list: every payout status and accounting status the system recognises, plus the settlement currencies present in the synced payouts for the integration instance.
Sync Payouts
Queues a background sync that imports Shopify Payments payouts and their transaction lines from eBay for the integration instance. Returns a tracked_job_log_id that can be used to monitor the progress of the sync.
Get Payout
Returns the full detail of a single payout, including the raw Shopify summary breakdown, receipt totals, and every balance-transaction line with its linked local order and payment transaction where resolved. Returns 403 if the payout does not belong to the integration instance.
List Balance Transactions
Returns a paginated list of Shopify Payments balance transaction lines across every payout synced for the integration instance — the line-level detail behind the payout summaries. Each line includes its type, financial code, amount, fee, net, source type, source order ID, adjustment reason, and cross-link blocks for the parent payout and (when matched) the Shopify order.
Get Balance Transaction Filter Options
Returns the distinct filter values present in the synced balance transactions for the integration instance: every balance-transaction type and every financial code, so a client can populate the balance-transaction filters.
List Global Payout Mapping Groups
Returns every global (workspace-wide) payout mapping group, ordered by sort order. Global groups apply to all Shopify integration instances unless an instance defines its own groups. If no global groups exist yet, the two defaults (Shopify Sales as an invoice group and Shopify Fees as a bill group) are created and returned.
Create Global Payout Mapping Group
Creates a global payout mapping group that applies to every Shopify integration instance. Type mappings assigned to the group are combined into a single financial document of the group's document type when a payout is posted.
Reorder Global Payout Mapping Groups
Reorders the global payout mapping groups. Pass the full list of global group IDs in the desired order; each group's sort order is updated to match its position in the list.
Update Global Payout Mapping Group
Updates the name, document type, or sort order of a global payout mapping group.
Delete Global Payout Mapping Group
Deletes a global payout mapping group. Type mappings that referenced the group are kept but left without a group assignment.
List Payout Mapping Groups
Returns the payout mapping groups visible to the integration instance: the instance's own groups first, followed by the global groups. If no global groups exist yet, the two defaults (Shopify Sales as an invoice group and Shopify Fees as a bill group) are created first.
Create Payout Mapping Group
Creates a payout mapping group scoped to the integration instance. Instance groups are listed ahead of the global defaults and can be used to separate the instance's payout lines into their own financial documents.
Reorder Payout Mapping Groups
Reorders the payout mapping groups scoped to the integration instance. Pass the full list of the instance's group IDs in the desired order; each group's sort order is updated to match its position in the list. Global groups are not affected.
Update Payout Mapping Group
Updates the name, document type, or sort order of a payout mapping group scoped to the integration instance.
Delete Payout Mapping Group
Deletes a payout mapping group scoped to the integration instance. Type mappings that referenced the group are kept but left without a group assignment.
List Payout Type Mappings
Returns the resolved payout type mappings for the integration instance: per-instance override rows plus the global default rows they have not overridden. Each row maps a financial code (a normalized type / source / reason combination from Shopify Payments balance transactions) to a general-ledger account and an optional mapping group; is_override indicates an instance-specific row. Before listing, any financial codes newly seen in the instance's synced balance transactions are registered as unmapped global rows so they can be configured.
Update Payout Type Mappings
Updates individual payout type mappings, assigning or clearing the general-ledger account and mapping group of each. Fields omitted from a mapping entry are left unchanged; pass null to clear an assignment.
Bulk Assign Payout Type Mappings
Assigns a general-ledger account and/or a mapping group to several payout type mappings at once. At least one of nominal_code_id or shopify_payout_mapping_group_id must be provided; pass null to clear that assignment on all selected mappings. Only mappings scoped to the integration instance are updated - global rows are not modified.
Get Payout Finance Settings
Returns the resolved payout finance settings for the integration instance: the fallback revenue and expense accounts used for unmapped payout lines, the clearing account payouts settle against, the accounting sync mode (per_order or per_payout; default per_order), and the optional payout accounting start date before which payouts are not posted. Fallback and clearing accounts fall back to the workspace-wide values when the instance has none of its own.
Update Payout Finance Settings
Updates the payout finance settings for the integration instance. All fields are optional; omitted fields keep their current values, and nullable fields can be set to null to clear them. Returns the resolved settings after the update.