Vieunite.Developers
Open quickstart

Custom discovery

Browse and search the collection.

Building your own artwork browser? Fetch results through your CMS backend, show the returned thumbnails and version labels, and save the same reference shape the Picker uses.

Catalog resources

Relationship endpoints can require both resource scopes—for example, collection artworks require collections:read and artworks:read.

Read artwork versions

available_versions contains each selectable composition and its safe thumbnail, source geometry and delivery geometry. Preserve the API order, treat key as opaque, and persist the selected key unchanged.

Version labels describe existing assets; they never request a crop. A portrait work can have portrait 1080p and 4K versions, and Original Ratio keeps its uploaded ratio. The automatic 1080p version is resize-only and never crops, rotates, stretches, pads, changes ratio or upscales.

Cursor pagination

Render the returned data, then use page.next_cursor for the next request. Keep the same search and filters while paging; start again without a cursor when they change. Stop when page.has_more is false.

One-item page · artwork fields shortenedJSON
{
  "data": [{
    "id": "art_456",
    "type": "artwork",
    "name": "Example artwork",
    "version": 7,
    "updated_at": "2026-09-16T12:00:00Z"
  }],
  "page": {
    "limit": 1,
    "total": 137,
    "has_more": true,
    "next_cursor": "eyJvZmZzZXQiOjF9"
  },
  "links": {
    "self": "/v1/artworks?limit=1",
    "next": "/v1/artworks?limit=1&cursor=eyJvZmZzZXQiOjF9"
  }
}
  • Maximum page size is 100.Requested limits are clamped to the supported range.
  • Defaults vary by endpoint.Search GET defaults to 24; relationship lists may default to 50.
  • Invalid cursors return 400.Do not decode, edit or concatenate cursor content.

Field projection

Request only the fields your screen needs. GET endpoints accept comma-separated paths; POST endpoints accept an array of paths. The API always retains id, type, version and updated_at. Request an entire array such as available_versions; array members cannot be projected individually.

projected artwork listcURL
curl --get "https://collection-test.vieunite.com/v1/artworks" \
  -H "Authorization: Bearer $VIEUNITE_TENANT_TOKEN" \
  -H "Accept: application/json" \
  --data-urlencode "fields=id,type,name,artist,assets.thumbnail,version,updated_at"

Sensitive and restricted content

Standard list operations exclude content that is not available for the tenant and context. Using include_sensitive=true requires safety:sensitive:read. Restricted asset delivery can additionally require rights:restricted:read.

Search documentation

Start with “Picker”, “rendition”, or an endpoint path.
    Case study screenshot

    Screenshot preview