Base URL
Every API request targets the following base URL:/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 theContent-Type header on any request that carries a body:
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 theAuthorization 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.| Code | Meaning | When you see it |
|---|---|---|
200 OK | Request succeeded | The resource was retrieved or updated successfully. |
201 Created | Resource created | A new resource was persisted. The response body contains the created object. |
202 Accepted | Request queued | The request was accepted for asynchronous processing (for example, a bulk import). Poll the relevant status endpoint for the result. |
400 Bad Request | Invalid request | The request body is malformed, a required field is missing, or a value fails validation. Inspect the error field for details. |
401 Unauthorized | Missing or invalid token | The Authorization header is absent or the Bearer token has expired or is invalid. Refresh your token and retry. |
403 Forbidden | Insufficient permissions | Your token is valid but your role does not permit this action, or a required claim is missing from your token. |
404 Not Found | Resource missing | The requested resource does not exist or is not visible to your tenant. |
429 Too Many Requests | Rate limit exceeded | You have sent too many requests in a short window. Wait for the number of seconds in the Retry-After response header before retrying. |
500 Internal Server Error | Server error | An unexpected error occurred on Synq’s side. Retry the request using exponential backoff. If the problem persists, contact support. |
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:| Header | Description |
|---|---|
X-RateLimit-Limit | The maximum number of requests allowed in the current window. |
X-RateLimit-Remaining | The number of requests you have left in the current window. |
Retry-After | Seconds to wait before retrying (only present on 429 responses). |
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.