The series a collector collects: how many of each one’s issues they have, and the gaps.
/collection/runsThe series you collect, with how many of each one’s issues you have and how many you’re missing. Run and gap tracking comes with the Collector and Pro plans.
collector.listRuns()collection:readIf-None-MatchX-Request-IdcursorstringThe nextCursor of the previous page. Omit for the first page.
at most 1000 characters
limitintegerItems per page, 1–200 (default 50).
1–200 · default 50
sortstringSort by title, lastAddedAt, missing; a leading "-" sorts descending, a comma adds a tiebreak. Default title.
at most 200 characters
filter[complete]enumComplete runs (true) or ones with gaps (false).
01truefalse200OKA page of runs.
object
nextCursorstring or nullrequiredPass as ?cursor= for the next page; null on the last page.
304Not ModifiedNot modified: your copy (the ETag in If-None-Match) is current.
invalid_requestinvalid_cursorinvalid_filterinvalid_sort
invalid_request: The query or body doesn’t match the schema (see errors[]).
invalid_cursor: The cursor isn’t one this list (in this order) gave out.
invalid_filter: A filter[field] the list doesn’t have, or a value it refuses.
invalid_sort: A sort field the list doesn’t have.
unauthorized: Not signed in (no session or token, or an expired one).
feature_required: Run and gap tracking comes with the Collector and Pro plans.
rate_limitedtemporarily_blocked
rate_limited: Over the caller’s limit: the per-minute burst or the per-day quota (RateLimit headers; wait Retry-After seconds).
temporarily_blocked: Too many refused requests in a row: blocked for a while (Retry-After says how long).
internal: Something went wrong on our side (quote the requestId).
/collection/runs/{seriesId}Every issue of a series, how many copies you have of each, and the ones you’re missing.
collector.getRun()collection:readIf-None-MatchX-Request-IdseriesIdstring (uuid)required200OKThe run.
object
seriesobjectrequiredidstring (uuid)requiredtitlestringrequiredslugstringrequiredstartYearinteger or nullrequiredvolumeinteger or nullrequiredcatalogIssuesintegerrequiredownedIssuesintegerrequiredwishlistIssuesintegerrequiredmissingIssuesintegerrequiredThe issues you have no copy of, in order.
304Not ModifiedNot modified: your copy (the ETag in If-None-Match) is current.
unauthorized: Not signed in (no session or token, or an expired one).
feature_required: Run and gap tracking comes with the Collector and Pro plans.
not_found: Nothing at that address.
series_not_found: No series with that id.
rate_limitedtemporarily_blocked
rate_limited: Over the caller’s limit: the per-minute burst or the per-day quota (RateLimit headers; wait Retry-After seconds).
temporarily_blocked: Too many refused requests in a row: blocked for a while (Retry-After says how long).
internal: Something went wrong on our side (quote the requestId).