Requests
List responses
List endpoints are not paginated. They return a complete JSON array of
every matching record your team can see. There are no
page, limit,
offset, or cursor parameters, and no pagination envelope.- Filter server-side where you can.
GET /reseller/catalogacceptscategory,minPrice,maxPrice,zipCode, andsearch; narrowing there is far cheaper than fetching everything and filtering locally. - Do not assume a bounded response size in your client — no fixed buffers, no hard-coded array-length expectations.
- Prefer the detail endpoint when you already know the id.
GET /reseller/orders/{id}beats scanningGET /reseller/orders.
Filtering
Filters are query parameters, and they combine with AND. An unknown query parameter is rejected with400, the same as an unknown body field.
Identifiers
Every resource id is a UUID v4 string.slug, which appears in public URLs and
is a short human-shareable token rather than a UUID.
Timestamps
All timestamps are ISO 8601 in UTC, with milliseconds and a trailingZ.
Money
Monetary values are returned as strings, not numbers.Nulls and optional fields
A field that does not apply isnull rather than absent, so response shapes
stay stable. Two exceptions are genuinely conditional and absent when they do
not apply:
electricity— present only on electricity offersinternet— present only on internet offers
serviceType discriminator ("electricity",
"internet", …), so branch on that rather than probing for the grouped object.
Responses are additive over time. New fields can appear in any response
without notice, so parse permissively and ignore what you do not recognize —
a strict parser that rejects unknown response fields will break on a routine
release. See Versioning.
Idempotency
There is noIdempotency-Key header today. POST /reseller/orders is not
idempotent: two identical requests create two orders.
If a write times out without a response, reconcile before retrying —
GET /reseller/orders will tell you whether the first attempt landed. See
Handling errors.
Reads, PATCH, and DELETE are naturally idempotent and safe to retry.
Next steps
Errors
Every status code and a retry-safe client
Rate limits
What is limited, and what is not
Versioning
What we promise not to break
Authentication
Keys, headers, roles, and rotation