Skip to content

List a collection’s assets

GET
/v1/collections/{slug}/assets
curl --request GET \
--url 'https://api.digirare.com/v1/collections/example/assets?limit=80&order=catalog'

Paged collection assets. Listed assets sort first by price; remaining inventory sorts by series, card, protocol ordinal, and issuance. Filters narrow that same order, so a cursor is valid only with the filters it was issued under.

slug
required
string
>= 1 characters
limit
integer
default: 80 >= 1 <= 100
cursor
string

Opaque continuation token returned as next_cursor. Valid only with the order and filters it was issued under.

order
string
Allowed values: catalog

Omitted: listed assets first, cheapest floor first, then the collection sequence. catalog: the collection’s own sequence (series, card, protocol ordinal, issuance block, issuance year, asset) with no listed-first step; floors and offers are still returned.

q
string
<= 80 characters

Case-insensitive substring of the asset name or subasset longname, at most 80 characters.

min_price_sats
integer

Lowest floor price to include; excludes unlisted assets.

max_price_sats
integer

Highest floor price to include; excludes unlisted assets.

series
Array<integer>

Repeatable. Any listed series matches.

supply
Array<string>
Allowed values: one small mid large

Repeatable supply bucket key. Any listed bucket matches.

trait
Array<string>

Repeatable name:value editorial trait. Values under one name are alternatives; different names all have to match. At most 20 series, supply and trait terms together.

Paged collection asset market rows

Media typeapplication/json
object
result
required
Array<object>
object
asset
required

Canonical compact Counterparty key. A subasset uses its A ID; asset_longname is display metadata.

string
asset_longname
required
string | null
divisible
required
integer
Allowed values: 0 1
supply_raw
required
string
/^(0|[1-9][0-9]*)$/
supply_units
required
integer
issued_year
required
integer | null
issued_block
required
integer | null
artist
required
string | null
series
required
integer | null
card
required
integer | null
is_primary
required
integer
Allowed values: 0 1
attributes_json
required
string | null
protocol_ordinal
required
integer | null
protocol_subtype
required
string | null
media_kind
required
string | null
Allowed values: image animation video html svg
locked
required
integer
Allowed values: 0 1
floor_sats
required
One of:
integer
>= 1 <= 9007199254740991
listed
required
integer
best_asset_offer
required
One of:
integer
>= 1 <= 9007199254740991
best_collection_offer
required
One of:
integer
>= 1 <= 9007199254740991
best_offer_sats
required
One of:
integer
>= 1 <= 9007199254740991
result_count
required
integer
next_cursor
required
string | null
Example
{
"result": [
{
"divisible": 0,
"is_primary": 0,
"media_kind": "image",
"locked": 0
}
]
}

Stable machine-readable failure

Media typeapplication/json
object
error
required
string
code
required
string
Allowed values: invalid_request unsupported_address_type unauthenticated forbidden not_found method_not_allowed state_changed expired invalid_transaction rate_limited internal_error upstream_unavailable service_unavailable checkout_changed target_unavailable signature_invalid template_mismatch mempool_rejected broadcast_unknown conflict_spend duplicate_funding_slot offer_selection_unavailable attached_delivery_single_item_only insufficient_funds insufficient_asset_balance price_below_minimum listing_price_above_maximum counter_price_invalid self_trade offer_capacity_full open_offer_limit policy_offer_refused
retryable
boolean
mempool_policy

On 422 mempool_rejected from a broadcast: which deterministic node policy refused the bytes. Retrying the same bytes fails the same way. fee_floor: re-quote at a higher fee_rate. chain_too_long: too many unconfirmed ancestors; wait for a confirmation, then retry. truc: a version-3 (TRUC) package rule, such as spending an unconfirmed version-3 output; wait for a confirmation, then retry.

string
Allowed values: fee_floor chain_too_long truc dust nonstandard
mempool_reason

The node’s own reject reason, on mempool_rejected (422) and on state_changed (409) when a broadcast lost to a conflicting or replacing spend.

string
wait_for_confirmation

Present and true when mempool_policy is chain_too_long or truc.

boolean
claims_released

On a checkout or accept completion refused as mempool_rejected: the journaled settlement ended and every listing, bid, and asset claim it held was released (its inputs were proven unspent). The quote or accept is replaced; request a new one.

boolean
refused_listings

Batch listing routes only: every refused item. The first sets the status and code.

Array<object>

One refused item in a batch refusal’s refused_listings array. Nothing in the batch was changed.

object
index
required
integer
listing_id
required
string
status
required
integer
code
required
string
error
required
string
key
additional properties
any
retry_after_seconds

On 429 rate_limited: the exact seconds until the oldest counted request leaves the window; a retry then is admitted (also sent as Retry-After). Limited writes are bucketed per route scope in exact sliding 60-second windows: by session address when a valid x-session-token is present, otherwise by IP, with a per-IP ceiling across sessions. Expensive writes: 20, ceiling 120. Signed completions: 120, ceiling 600. Session minting (/auth/*): 60 per IP. A request refused by any bucket is counted by none.

integer
>= 1
key
additional properties
any
Example
{
"code": "invalid_request",
"mempool_policy": "fee_floor"
}

Stable machine-readable failure

Media typeapplication/json
object
error
required
string
code
required
string
Allowed values: invalid_request unsupported_address_type unauthenticated forbidden not_found method_not_allowed state_changed expired invalid_transaction rate_limited internal_error upstream_unavailable service_unavailable checkout_changed target_unavailable signature_invalid template_mismatch mempool_rejected broadcast_unknown conflict_spend duplicate_funding_slot offer_selection_unavailable attached_delivery_single_item_only insufficient_funds insufficient_asset_balance price_below_minimum listing_price_above_maximum counter_price_invalid self_trade offer_capacity_full open_offer_limit policy_offer_refused
retryable
boolean
mempool_policy

On 422 mempool_rejected from a broadcast: which deterministic node policy refused the bytes. Retrying the same bytes fails the same way. fee_floor: re-quote at a higher fee_rate. chain_too_long: too many unconfirmed ancestors; wait for a confirmation, then retry. truc: a version-3 (TRUC) package rule, such as spending an unconfirmed version-3 output; wait for a confirmation, then retry.

string
Allowed values: fee_floor chain_too_long truc dust nonstandard
mempool_reason

The node’s own reject reason, on mempool_rejected (422) and on state_changed (409) when a broadcast lost to a conflicting or replacing spend.

string
wait_for_confirmation

Present and true when mempool_policy is chain_too_long or truc.

boolean
claims_released

On a checkout or accept completion refused as mempool_rejected: the journaled settlement ended and every listing, bid, and asset claim it held was released (its inputs were proven unspent). The quote or accept is replaced; request a new one.

boolean
refused_listings

Batch listing routes only: every refused item. The first sets the status and code.

Array<object>

One refused item in a batch refusal’s refused_listings array. Nothing in the batch was changed.

object
index
required
integer
listing_id
required
string
status
required
integer
code
required
string
error
required
string
key
additional properties
any
retry_after_seconds

On 429 rate_limited: the exact seconds until the oldest counted request leaves the window; a retry then is admitted (also sent as Retry-After). Limited writes are bucketed per route scope in exact sliding 60-second windows: by session address when a valid x-session-token is present, otherwise by IP, with a per-IP ceiling across sessions. Expensive writes: 20, ceiling 120. Signed completions: 120, ceiling 600. Session minting (/auth/*): 60 per IP. A request refused by any bucket is counted by none.

integer
>= 1
key
additional properties
any
Example
{
"code": "invalid_request",
"mempool_policy": "fee_floor"
}