The first two calls in every walk: connections, then a brand's collections.
Every request on this page requires account, the id of the retailer account you are acting for. See Generating an Auth Token for how you obtain and send your bearer token.
Connections
GET /v4/connections
The brands your account is connected to. This is the entry point: each id is the brand_id the next call takes.
Parameters
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
account | integer | yes | The account you are acting for | |
limit | integer | no | 100 | 1 to 100 |
cursor | string | no | Opaque cursor from the previous page | |
status | string | no | connected | Only connected is supported today. The parameter exists so other statuses can be added without a breaking change. Any other value is a 400, INVALID_CHOICE |
Request
curl -G https://api.jooraccess.com/v4/connections \
-H "Authorization: Bearer $TOKEN" \
-d account=40975 \
-d limit=100Response
{
"data": [
{ "id": 73516, "name": "Gianvito Rossi", "alias": "GIANVITO ROSSI", "code": "GR-001" },
{ "id": 7204, "name": "Magda Butrym", "alias": null, "code": null }
],
"errors": [],
"pagination": {
"limit": 100,
"next_cursor": "WzcyMDRd",
"next_page": "/v4/connections?account=40975&limit=100&cursor=WzcyMDRd"
}
}| Field | Type | Notes |
|---|---|---|
id | integer | The brand's account id. Feed this to the collections endpoint |
name | string | The brand's profile name |
alias | string or null | Your own alias for that brand, if you have set one |
code | string or null | Your own customer code for that brand, if you have set one |
alias and code are your labels, not the brand's. They are there so you can reconcile against your internal naming without maintaining a mapping table.
An account with no connections returns "data": [] and "next_cursor": null. That is a valid answer, not an error.
Errors
| Code | When |
|---|---|
400 | account missing or not an integer, limit out of range, malformed cursor, status outside the allowed set |
401 | Missing, invalid or expired token |
403 | The account is not yours to act for, or is not a retailer account |
405 | Any verb other than GET |
429 | Out of credits |
Collections
GET /v4/retailers/brands/{brand_id}/collections
The collections that brand has made visible to you. Headers only, no products.
Parameters
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
account | integer | yes | ||
limit | integer | no | 100 | 1 to 100 |
cursor | string | no |
Request
curl -G https://api.jooraccess.com/v4/retailers/brands/73516/collections \
-H "Authorization: Bearer $TOKEN" \
-d account=40975Response
{
"data": [
{
"id": 1146216,
"code": "27SPREW",
"name": "27S PRE Woman",
"season": { "id": 12, "name": "Pre-Spring" },
"year": "2027",
"brand": { "id": 73516, "name": "Gianvito Rossi" },
"delivery_window": { "start": "2026-11-01", "end": "2026-12-15" },
"cutoff_date": "2026-10-15",
"can_buy": true,
"made_to_order": false,
"updated_at": "2026-08-08T09:12:44Z"
}
],
"errors": [],
"pagination": { "limit": 100, "next_cursor": null, "next_page": null }
}| Field | Type | Notes |
|---|---|---|
id | integer | |
code | string or null | The brand's own code for the collection |
name | string | |
season | object or null | {id, name} |
year | string or null | Confirmed as a string on the wire, not a number. Parse it yourself if you need it numerically |
brand | object | {id, name} |
delivery_window | object | {start, end}, calendar dates, either can be null |
cutoff_date | date or null | The last day the brand accepts orders |
can_buy | boolean | Whether you can order from this collection |
made_to_order | boolean | |
updated_at | timestamp |
Important. Changes to the fields on this object, the name, the season, the delivery window, the cutoff date and
can_buy, do not generate webhooks. See Coverage. Re walk this endpoint on a schedule.
There is no single collection endpoint on this page, so reading one collection's current metadata means paging that brand's list until you find it. That is the reason the daily re walk is written as a walk of the whole list rather than a lookup.
Errors
| Code | When |
|---|---|
400 | account missing or not an integer, limit out of range, malformed cursor |
401 | Missing, invalid or expired token |
403 | The account is not a retailer account, or is not yours to act for |
404 | The brand does not exist, or you are not connected to it |
405 | Any verb other than GET |
429 | Out of credits |
