Skip to main content
The Synq REST API gives you programmatic access to every resource on the platform — products, orders, inventory, channels, integrations, and more. All communication happens over HTTPS using JSON. Before making your first request, read the Authentication page to learn how to obtain and attach your credentials.

Base URL

Every API request targets the following base URL:
All resource endpoints are prefixed with /api/v1/. Webhook endpoints delivered by Synq to your infrastructure use the /unified/ prefix instead.

Request Format

Send all request bodies as JSON and include the Content-Type header on any request that carries a body:
Requests with a body larger than 10 MB are rejected with 413 Content Too Large.

Response Format

Every response body is JSON. Successful responses contain the requested or mutated resource. Error responses follow a consistent shape:

Authentication

Every protected endpoint requires a valid Bearer token in the Authorization header. The token encodes your identity, tenant, and organization so that each request is automatically scoped to your data. See the Authentication guide for the full details.

API Resources

Products

Create and manage your product catalog, variants, and attributes.

Orders

Place, track, fulfill, and return orders across all your channels.

Inventory

Query stock levels, reserve units, and adjust inventory in real time.

Channels

Configure the sales channels that feed orders into Synq.

Integrations

Connect third-party platforms and manage OAuth callbacks.

Organization

Manage your organization profile, members, and roles.

Settings

Read and update tenant-level configuration and preferences.

Audit

Query the immutable audit log for all actions taken in your tenant.

HTTP Status Codes

Synq uses standard HTTP status codes. The table below covers every code you may encounter.

Rate Limiting

The API enforces a sliding-window rate limit of 100 requests per minute per IP address. Every response includes the following headers so you can track your usage:
When you exceed the limit, the API returns 429 Too Many Requests. Wait for the number of seconds indicated in the Retry-After header before sending your next request.