QR labels for copies and storage locations: make them with what they print, and look up a scanned one.
/labelsQR labels for copies and storage locations, with what each prints, worded as the app prints it (lay them out yourself, or print from the app). A copy or place that already has a label keeps it; replace makes a new one and the old code stops working. Comes with the Collector and Pro plans.
collector.createLabels()labels:writeIdempotency-KeyX-Request-IdcopyIdsarray of string (uuid)Copies to label (up to 1,000).
at most 1000 items · default []
locationIdsarray of string (uuid)Storage locations to label (up to 500).
at most 500 items · default []
replacebooleanMake new labels for ones that already have a label. The old codes stop working: only ask for it when the old label is lost or damaged.
default false
presetenumWhat prints: minimal (title, issue, edition), collector, insurance or seller.
default "minimal"
minimalcollectorinsurancesellerfieldsarray of enumThe fields to print instead of the preset’s, in order.
at most 15 items
gradecertpage_qualitysignatureskey_noteslocationcopy_labelacquired_onprice_paidacquired_fromvalueasking_pricepublishertagscustomcustomLinestring or nullYour own line ("Property of …"), with the custom field.
at most 60 characters
coverbooleanInclude the cover (for labels big enough to show one).
default false
200OKThe labels, in the order asked.
object
invalid_requestinvalid_jsoninvalid_idempotency_keytoo_many_labels
invalid_request: The query or body doesn’t match the schema (see errors[]).
invalid_json: The body isn’t JSON.
invalid_idempotency_key: The Idempotency-Key isn’t 1–255 visible ASCII characters.
too_many_labels: Too many at once.
unauthorized: Not signed in (no session or token, or an expired one).
feature_required: Printing labels comes with the Collector and Pro plans.
idempotency_in_progress: The first request with this key is still running.
payload_too_large: The body is over 1,048,576 bytes, this operation’s limit.
idempotency_key_reused: This key was used for a different request.
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).
/labels/{code}A scanned label’s code (or its link): the copy or storage location it’s on, if it’s yours; for a replaced label, the code that took its place.
collector.resolveLabel()labels:readIf-None-MatchX-Request-IdcodestringrequiredThe code, with or without dashes.
1–80 characters
200OKWhat it’s on.
What a scanned label is on.
codestringrequiredstateenumrequiredownerrevokednot_yourstargetenum or nullrequiredcopylocationidstring (uuid) or nullrequiredcurrentCodestring or nullrequiredrevokedAtstring (date-time) or nullrequired304Not ModifiedNot modified: your copy (the ETag in If-None-Match) is current.
unauthorized: Not signed in (no session or token, or an expired one).
not_found: Nothing at that address.
label_not_found: That isn’t a label code.
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).