Connections & Collections

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

ParameterTypeRequiredDefaultNotes
accountintegeryesThe account you are acting for
limitintegerno1001 to 100
cursorstringnoOpaque cursor from the previous page
statusstringnoconnectedOnly 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=100

Response

{
  "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"
  }
}
FieldTypeNotes
idintegerThe brand's account id. Feed this to the collections endpoint
namestringThe brand's profile name
aliasstring or nullYour own alias for that brand, if you have set one
codestring or nullYour 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

CodeWhen
400account missing or not an integer, limit out of range, malformed cursor, status outside the allowed set
401Missing, invalid or expired token
403The account is not yours to act for, or is not a retailer account
405Any verb other than GET
429Out of credits

Collections

GET /v4/retailers/brands/{brand_id}/collections

The collections that brand has made visible to you. Headers only, no products.

Parameters

ParameterTypeRequiredDefaultNotes
accountintegeryes
limitintegerno1001 to 100
cursorstringno

Request

curl -G https://api.jooraccess.com/v4/retailers/brands/73516/collections \
  -H "Authorization: Bearer $TOKEN" \
  -d account=40975

Response

{
  "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 }
}
FieldTypeNotes
idinteger
codestring or nullThe brand's own code for the collection
namestring
seasonobject or null{id, name}
yearstring or nullConfirmed as a string on the wire, not a number. Parse it yourself if you need it numerically
brandobject{id, name}
delivery_windowobject{start, end}, calendar dates, either can be null
cutoff_datedate or nullThe last day the brand accepts orders
can_buybooleanWhether you can order from this collection
made_to_orderboolean
updated_attimestamp

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

CodeWhen
400account missing or not an integer, limit out of range, malformed cursor
401Missing, invalid or expired token
403The account is not a retailer account, or is not yours to act for
404The brand does not exist, or you are not connected to it
405Any verb other than GET
429Out of credits