Search and browse assets
const url = 'http://localhost:3000/api/v1/assets?review=true&untagged=true&limit=100&offset=0';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'http://localhost:3000/api/v1/assets?review=true&untagged=true&limit=100&offset=0' \ --header 'Authorization: Bearer <token>'Newest first without q. Custom fields filter as f.{key}={value} (repeat to OR) and f.{key}.gte / f.{key}.lte for numbers and dates. A filter on an unknown field is a 422. Of a stack of versions, only the current approved one is listed; GET /api/v1/assets/{id}/versions has the rest.
Scope: read.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Every word must match, each as a prefix
Repeat; assets carrying every tag
Repeat; assets of any of these types
Only this collection: its id, or its name
Repeat; assets in any of these states. Without it, approved (active) and unexpired ones
True: proposed assets and assets with suggested tags, whatever status says
Added on or after this time: a day (YYYY-MM-DD, from its start in UTC) or an ISO date-time
Added before this time, as uploadedSince
Whose license’s last day is before this one: by the end of 2026 is 2027-01-01. Expired ones only with status=expired
True: only assets carrying no tags
Page size
Skip this many
Responses
Section titled “Responses”Matching assets, with facet counts
object
object
The asset’s own values
object
Values inherited from its collections; own values win
object
Draft, proposed (in review), active (approved), archived or rejected
The status; expired for an approved asset past its last day of use; deleted, until restored or purged
Its stack’s current approved version: the others are superseded by it
For a proposal: who made it, a person’s or an API key’s name
Why a person rejected it
Custom field values an agent suggested, waiting for a person to accept or dismiss
object
object
ISO 3166-1 alpha-2; empty: anywhere
Empty: any use
Set by a person; null or missing follows the license (see downloadable on its description)
object
The app that signed it
The signing certificate’s organization, as the file claims it; not verified
IPTC: digitalCapture, trainedAlgorithmicMedia…
The tool the actions name, often the model
Its own flag; it is private too when every collection it is in is
Served at /a/{id} to anyone while it may be used; otherwise to people who can see it, and signed URLs
Every match; page through with offset and limit
object
object
object
Counted over every state, so each is a status filter away
object
object
object
Example
{ "data": [ { "status": "draft", "state": "draft", "rights": { "modelRelease": "released" }, "origin": "shot", "via": "agent" } ]}default
Section titled “default”An error
object
object
Examplegenerated
{ "error": { "code": "example", "message": "example", "detail": "example" }}