Authentication
All Integration endpoints require these headers on every request:| Header | Description |
|---|---|
Authorization | Bearer <your API token> |
X-Tenant-ID | Your tenant UUID |
X-Org-ID | Your organization UUID |
Connect a commerce platform
Use the following OAuth flow to connect a new storefront or marketplace to Synq.Call
POST /api/v1/integrations/auth-url to receive a unique OAuth URL scoped to your tenant. Redirect your user to this URL to begin the authorization flow on the target platform.{
"auth_url": "https://api.unified.to/integration/auth?category=commerce&state=a1b2c3d4-0000-0000-0000-000000000001"
}
The full OAuth authorization URL. Redirect your user’s browser to this URL to begin the connection flow on the target platform.
Send your user to the
auth_url returned in step 1. They will be presented with a list of supported commerce platforms (Shopify, WooCommerce, Amazon, etc.) and prompted to authorize Synq’s access.After the user grants access, Synq completes the OAuth handshake and returns a
connection_id to your configured redirect URI along with the category and provider of the connected platform.Store the returned
connection_id in your application’s session or state — you’ll need it in the next step to complete the connection registration in Synq.After authorization, call
POST /api/v1/integrations/callback with the connection_id returned in the OAuth callback. Synq verifies the connection and registers it against your tenant so that product sync and webhook events work automatically.The platform name in lowercase (e.g.
"shopify", "woocommerce", "amazon"). Used as a fallback identifier in non-production environments.{
"connections": [
{
"id": "7e9d1f3c-aaaa-4d2e-b001-112233445566",
"unified_connection_id": "conn_shopify_8f3a2b",
"provider": "shopify",
"status": "ACTIVE",
"created_at": "2024-09-01T12:05:00Z",
"updated_at": "2024-09-01T12:05:00Z"
}
]
}
Array of active integration connection objects.
Synq’s internal UUID for this connection.
The connection ID issued during the OAuth flow.
Lowercase name of the connected platform (e.g.
"shopify", "woocommerce").Current connection status.
ACTIVE means the connection is live and syncing.ISO 8601 timestamp when the connection was first registered.
ISO 8601 timestamp of the last status change.
Sync products to connected platforms
Once you have at least one active connection, push any product in your Synq catalog to all connected storefronts with a single API call.UUID of the product in Synq’s catalog to push.
Sync action to perform. Use
"UPSERT" to create or update the product on all connected storefronts, or "DELETE" to remove it from all connected storefronts.202 Accepted
The
action field accepts two values: "UPSERT" (create or update the product on every connected storefront) and "DELETE" (remove the product from every connected storefront).Product sync is asynchronous. A 202 Accepted response means Synq has queued the sync job — the actual push to each connected storefront happens in the background. Synq fans out the update to every active connection for your tenant with automatic retries and exponential backoff on transient errors.