# Complete a shopify oauth connection

> POST /connections/shopify/oauth/connect

Source: https://docs.trykintsugi.com/reference/2026-07-21/complete-a-shopify-oauth-connection

POST /connections/shopify/oauth/connect

Complete a shopify oauth connection

Complete a Shopify app-installation OAuth flow: looks up the access token the OAuth callback captured for `shopUrl` and creates or updates the connection with it. Re-submitting the same `shopUrl` updates its stored token rather than creating a second connection. Returns 404 if no OAuth-issued access token is found for this shop (the install session expired, or authorize was never completed). Returns 400 if the store is closed, or if `linkState` does not match an unexpired, unused link for this shop. A multi-org credential must send an `Organization-Id`, `Connection-Id` or `Entity-Id` selector, or gets a 400.

Category: Connections

Request body:
shopUrl (string, required) - Shopify store domain, e.g. `mystore.myshopify.com`.
historicalSyncStartDate (string) - Import floor for a brand-new connection, as YYYY-MM-DD. Ignored on reconnect. `null` imports all available history.
linkState (string, required) - The one-time link token the Kintsugi app in Shopify Admin issued when the merchant started linking this store. Valid for 10 minutes, for this `shopUrl` only, and once: a connect that then fails because the store is closed still uses it up.

Response fields:
id (string, required) - Kintsugi's unique identifier for the connection.
organizationId (string, required) - Id of the organization this connection belongs to.
platformEntityId (string) - The platform's own identifier for the entity this connection points at (e.g. a QuickBooks realm id, D365 company id, NetSuite subsidiary id). Use it to resolve a connection from an id you already hold. `null` until captured on (re)connect or backfilled.
externalId (string, required) - The connection's own external identifier: an Apideck consumer id for a Vault-backed source, or the platform-specific value the connector stores (e.g. a Shopify shop id, a Stripe publishable key).
source (string, required) - Origin platform of the connection (e.g. SHOPIFY, QUICKBOOKS). Any origin outside the published values is reported as OTHER.
  allowed values: ACUMATICA, AIRWALLEX, AMAZON, API, APPLE_APP_STORE, BESTBUY, BIGCOMMERCE, BILL_COM, BUNNY, CAMPFIRE, CHARGEBEE, CHECKOUTCHAMP (and 58 more, see the reference page)
status (PublicConnectionStatusEnum, required) - Lifecycle status of the connection.
  allowed values: ACTIVE, INACTIVE, CONNECTION_ERROR
[truncated, see the reference page]

---

Index of every page: https://docs.trykintsugi.com/llms.txt
