API reference · Commerce (stores)
List connected stores
GET
https://api.pidgely.com/commerce/storesEvery connected store of the organization with its sync progress and record counts.
Authorization: Bearer pdg_…. An API key with full_access. A sending_access key gets 401 restricted_api_key.
Request
This endpoint is not in the SDKs yet; call it over HTTP.
curl -X GET 'https://api.pidgely.com/commerce/stores' \
-H "Authorization: Bearer $PIDGELY_API_KEY"Response
200 OK
{
"data": [
{
"object": "commerce",
"id": "0199d8a2-6f3c-7c51-9e2a-3b1f0c6d4e21",
"platform": "nuvemshop",
"name": "Example",
"domain": "domain",
"url": "https://acme.com/webhooks/pidgely",
"currency": "currency",
"locale": "locale",
"status": "pending",
"status_reason": "status_reason",
"checkouts_supported": false,
"sync": {
"status": "idle",
"mode": "backfill",
"resource": "customers",
"imported": {},
"error": "error",
"started_at": "2026-10-12 16:44:41.000000+00",
"last_synced_at": "2026-10-12 16:44:41.000000+00",
"next_sync_at": "2026-10-12 16:44:41.000000+00"
},
"counts": {
"customers": 1,
"products": 1,
"orders": 1,
"checkouts": 1
},
"email": {
"from": "Acme <onboarding@acme.com>",
"reply_to": "reply_to",
"locale": "locale",
"effective_locale": "effective_locale"
},
"connected_at": "2026-10-12 16:44:41.000000+00",
"created_at": "2026-10-12 16:44:41.000000+00"
}
]
}Response fields
| Name | Type | Required | Description |
|---|---|---|---|
data |
object[] | Yes | Items of this page. |
data[].object |
string | Yes | Object type. One of store. |
data[].id |
string | Yes | Unique id (UUID). UUID. |
data[].platform |
string | Yes | One of nuvemshop, shopify, woocommerce, vtex. |
data[].name |
string | Yes | Display name. |
data[].domain |
string | Yes | — |
data[].url |
string | Yes | Public https URL that receives the events. |
data[].currency |
string | Yes | — |
data[].locale |
string | Yes | — |
data[].status |
string | Yes | Current status. One of pending, connected, error, disconnected. |
data[].status_reason |
string | No | — |
data[].checkouts_supported |
boolean | Yes | — |
data[].sync |
object | Yes | — |
data[].sync.status |
string | Yes | Current status. One of idle, queued, running, failed. |
data[].sync.mode |
string | No | One of backfill, reconcile, purge. |
data[].sync.resource |
string | No | One of customers, products, orders, checkouts. |
data[].sync.imported |
object (map of integer) | Yes | Records read so far by the current or last sync, per resource. |
data[].sync.error |
string | No | — |
data[].sync.started_at |
string | null | Yes | Format: date-time. |
data[].sync.last_synced_at |
string | null | Yes | Format: date-time. |
data[].sync.next_sync_at |
string | null | Yes | Format: date-time. |
data[].counts |
object | Yes | — |
data[].counts.customers |
integer | Yes | — |
data[].counts.products |
integer | Yes | — |
data[].counts.orders |
integer | Yes | — |
data[].counts.checkouts |
integer | Yes | — |
data[].email |
object | Yes | Email address. |
data[].email.from |
string | Yes | — |
data[].email.reply_to |
string | Yes | Reply-To address or list of addresses. |
data[].email.locale |
string | Yes | — |
data[].email.effective_locale |
string | Yes | — |
data[].connected_at |
string | null | Yes | Format: date-time. |
data[].created_at |
string | Yes | Creation time, YYYY-MM-DD HH:MM:SS.ffffff+00 (UTC). Format: date-time. |
Errors
Errors have the shape {"statusCode", "name", "message"}. See Errors for the full list.
| Status | Name | When |
|---|---|---|
| 401 | missing_api_key, restricted_api_key |
No Authorization: Bearer header, or a sending_access key called an endpoint that needs full_access. |
| 429 | rate_limit_exceeded |
Too many requests per second. Wait for Retry-After seconds. |