/collection/imports/{id}/rowsAn import’s rows by number (1 is the first row after the header), each with its outcome, the issue it matched and how many copies it added. filter[outcome]=needs_review lists the rows held back, with the issues each could be: add the right one with POST /collection/items.
collector.listCollectionImportRows()collection:readIf-None-MatchX-Request-Ididstring (uuid)requiredcursorstringThe 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 row; a leading "-" sorts descending, a comma adds a tiebreak. Default row.
at most 200 characters
filter[outcome]enumRows with this outcome (needs_review, not_found...).
pendingcreatedexistingneeds_reviewnot_foundskippedfailed200OKA page of rows.
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).
not_found: Nothing at that address.
import_not_found: No import of yours 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).