Vieunite.Developers
Open quickstart

Artwork schema

Know exactly what an Artwork contains.

This is the canonical field guide for authenticated Artwork responses: what every attribute means, when it appears, and how a CMS should use it.

Top-level fields
26 + 1 conditional
Required scope
artworks:read
Field style
snake_case · JSON

Canonical response

One object, several envelopes.

The same Artwork shape appears inside detail, list, Search, collection relationship and reference-resolution responses. The surrounding envelope changes; the field meanings do not.

Preview
Returned in full by the hosted preview experience.
Limited
Returned with masked content, fewer members or safe thumbnail data only.
Tenant only
Available only from authenticated server-side requests.

Artwork

Identity and editorial content

8 top-level fields

These fields identify the resource and supply its primary editor-facing copy. Persist identity, not labels or routes.

idstring · requiredOpaque, stable Artwork identity.PreviewAlways projected

CMS use. Persist this value in every durable Artwork reference and use it in detail or batch requests. Do not parse meaning from its format.

type"artwork" · requiredResource discriminator for mixed responses.PreviewAlways projected

CMS use. Persist it with id and branch on it when Search, Picker or reference responses can contain more than one resource type.

slugstring | nullHuman-readable catalogue route key.Tenant onlyProjectable

CMS use. Use for readable URLs or diagnostics only. A slug can change and must never replace id as the stored reference.

namestring · requiredDisplay title of the artwork.PreviewProjectable

CMS use. Render as the artwork title and cache only as presentation data. Resolve again when current wording matters.

descriptionstring | nullCurated “About the work” copy.LimitedProjectable

CMS use. This is the canonical long-form editorial description. Preserve its paragraphs and use the authenticated value for publication. Hosted previews expose the configured prefix and mask every remaining character, preserving the source length.

marketingobject · requiredOptional campaign-oriented copy, separate from About the work.Tenant onlyProjectable

CMS use. Prefer this for promotional modules only when present; fall back to your own excerpt of description rather than treating both fields as interchangeable.

marketing.descriptionstring | null
Short promotional or placement-specific description.
quality_scorenumber | nullVieunite catalogue quality signal.PreviewProjectable

CMS use. Use as a discovery or ranking aid, not as a user-facing rating or a permanent eligibility rule. Query current capabilities before hard-coding thresholds.

resource_typestring · requiredMedia family of the artwork record.PreviewProjectable

CMS use. Select the appropriate renderer, such as image or video. Read the supported vocabulary from GET /v1/capabilities.

People and dates

Creators and production

3 top-level fields

The primary artist is a compact summary. Additional contributors retain their role and deliberate display order. Production dates are artwork facts, not API timestamps.

artistobject | nullPrimary creator summary.LimitedProjectable

CMS use. Render artist.name as the primary creator label and use artist.id for artist-specific discovery. Hosted preview omits the slug.

artist.idstring
Stable Artist identity.
artist.namestring
Preferred display name; uses the artist display name when one exists.
artist.slugstring | null
Human-readable Artist route key; tenant-only and not an identity.
contributorsobject[]Ordered secondary creator and contributor credits.Tenant onlyAtomic array

CMS use. Render in the returned order. Request the complete contributors array because field projection does not traverse array items.

contributors[].rolestring
Contribution role, such as artist, photographer or collaborator.
contributors[].artist.idstring
Stable identity of the contributor's Artist resource.
contributors[].artist.namestring
Preferred display name for the contributor.
contributors[].artist.slugstring | null
Human-readable contributor Artist route key.
contributors[].credit_linestring | null
Contributor-specific attribution wording.
contributors[].display_orderinteger
Source ordering value already applied to the returned array.
productionobject · requiredHuman-readable and structured creation facts.LimitedProjectable

CMS use. Prefer date_text for display, the numeric year bounds for filtering, and medium for the material or technique. None of these values is an RFC 3339 API timestamp.

production.date_producedstring | null
Original production-date wording retained from the source metadata.
production.date_textstring | null
Preferred display date; falls back to date_produced.
production.created_datestring | null
Additional source creation-date value; not the API record creation time.
production.mediumstring | null
Materials, medium or production technique.
production.start_yearinteger | null
Numeric lower year bound for ranges and filtering.
production.end_yearinteger | null
Numeric upper year bound for ranges and filtering.

Discovery and policy

Classification and context

5 top-level fields

Classification supports discovery; provenance records source context; audience and safety support responsible display decisions.

classificationobject · requiredCurated taxonomy, depicted objects and search vocabulary.LimitedProjectable

CMS use. Use the named classification fields for facets and editorial metadata. Tags are broad curated terms; objects describe depicted things; search aliases improve discovery and are not display labels. Hosted preview returns at most three tags and objects and reports how many remain hidden.

classification.genrestring | null
Broad artistic genre.
classification.disciplinestring | null
Creative or scholarly discipline.
classification.movementstring | null
Associated artistic movement.
classification.periodstring | null
Historical or stylistic period; tenant-only.
classification.stylesstring[]
Curated style descriptors.
classification.seasonalstring[]
Seasonal discovery labels.
classification.tagsstring[]
Curated topical terms. Preview returns the first three sorted terms plus tags_hidden_count.
classification.objects[].idstring
Stable depicted-object term identity.
classification.objects[].namestring
Human-readable depicted-object term.
classification.objects[].slugstring
Term route/search key; tenant-only.
classification.objects[].sourcestring
Origin of the object assignment, for example manual or imported.
classification.objects[].confidencenumber | null
Confidence for scored assignments; may be null for manual terms.
classification.search_aliasesstring[]
Alternative phrases indexed for search; tenant-only.
provenanceobject · requiredHolding institution and import lineage.LimitedProjectable

CMS use. Display the holding collection when appropriate. Treat source_file as diagnostic lineage only: it is not a public asset URL and must not be rendered or used to construct one.

provenance.holding_collectionstring | null
Name of the museum, institution or collection holding the work; not a Vieunite Collection resource.
provenance.source_filestring | null
Tenant-only source lineage identifier or path.
audienceobject · requiredAudience classification and its derived compatible audiences.PreviewProjectable

CMS use. Apply the rating together with your own editorial and jurisdictional policy; it is not a substitute for legal review.

audience.ratingstring
Canonical audience band such as kids, teen, adult or unknown.
audience.suitable_forstring[]
Compatible audience bands derived from the rating.
safetyobject · requiredSensitivity, warnings and review state.PreviewProjectable

CMS use. Use all three members when deciding where and how to present a work. Visibility policy is applied before serialization; requesting a field does not bypass it.

safety.sensitivitystring
Content sensitivity level used by visibility and display policy.
safety.content_warningsstring[]
Specific warnings associated with the work.
safety.review_statusstring
Current moderation or curatorial review state.
vieunite_creditsobject[]Ordered Vieunite credit labels attached to the work.Tenant onlyAtomic array

CMS use. Use the machine code for logic and the label for display. Do not derive a label from the code.

vieunite_credits[].codestring
Stable credit machine code.
vieunite_credits[].labelstring
Display-ready credit wording.

Record geometry

Dimensions

1 top-level field

Artwork dimensions describe the catalogue record and physical work. Selectable versions carry their own source, delivery and preview geometry.

dimensionsobject · requiredRecord-level pixel and physical geometry.Tenant onlyProjectable

CMS use. Do not use dimensions.pixel.orientation to describe every version. The orientation filter matches an Artwork when any available version has that orientation; read the selected item in available_versions for rendering geometry.

dimensions.pixel.widthinteger | null
Pixel width recorded on the Artwork source record.
dimensions.pixel.heightinteger | null
Pixel height recorded on the Artwork source record.
dimensions.pixel.orientationstring
Record-level orientation; it can differ from one or more available versions.
dimensions.pixel.aspect_rationumber | null
Numeric record-level width-to-height ratio.
dimensions.physical.widthnumber | null
Width of the physical work.
dimensions.physical.heightnumber | null
Height of the physical work.
dimensions.physical.unitstring | null
Unit for both physical dimensions, for example cm.

Permission to publish

Rights

1 top-level field

Rights fields describe attribution and permitted use. They are publication inputs, not decorative metadata.

rightsobject · requiredLicence, attribution, allowed use and expiry.LimitedProjectable

CMS use. Re-resolve rights immediately before publication. Display credit_line when requires_credit_display is true, check both allowed and restricted uses, and stop delivery when rights expire. Hosted preview exposes only the licence, credit line and credit-display requirement.

rights.copyrightstring | null
Copyright statement associated with the work.
rights.detail_descriptionstring | null
Long-form rights notes or qualifications.
rights.licensestring
Licence code used for policy, filtering and display.
rights.source.namestring | null
Name of the rights or source-metadata provider.
rights.source.urlstring | null
Source information page; not an image delivery URL.
rights.source.reference_idstring | null
Identifier in the source rights system.
rights.credit_linestring | null
Exact attribution wording intended for display.
rights.rights_holderstring | null
Named rights holder.
rights.allowed_usesstring[]
Explicitly permitted use cases.
rights.restricted_usesstring[]
Explicitly prohibited or restricted use cases.
rights.requires_credit_displayboolean
Whether the credit line must be displayed with the artwork.
rights.rights_sensitivitystring
Rights-review sensitivity; distinct from visual-content sensitivity.
rights.expires_atRFC 3339 string | null
Rights validity deadline, independent from the Artwork publication window.

Files and compositions

Assets and available versions

2 top-level fields

assets describes physical helper files. available_versions is the editor-selectable rendition contract. The two namespaces are related but not interchangeable.

assetsobject map · requiredReady physical helper assets keyed by variant.LimitedProjectable map

CMS use. Use thumbnail and display entries for presentation helpers, but never persist their URLs. Keys are physical roles such as thumbnail, display or original; they are not selectable rendition keys. Hosted preview replaces this map with safe thumbnail metadata and never returns URLs.

assets.{variant}.idstring
Physical asset identity.
assets.{variant}.variantstring
Physical helper role, repeating the map key.
assets.{variant}.urlstring | null
Current delivery URL when access permits; it can be signed or expire and must not be persisted.
assets.{variant}.accessstring
Delivery access classification.
assets.{variant}.widthinteger | null
Physical file width in pixels.
assets.{variant}.heightinteger | null
Physical file height in pixels.
assets.{variant}.mime_typestring | null
Media type of the physical file.
assets.{variant}.signed_url_requiredboolean · conditional
Additional access hint present only for some protected storage-backed assets. Use the signed-URL workflow for delivery decisions.

Read the complete physical asset descriptor

available_versionsobject[] · requiredApproved selectable compositions and their delivery geometry.LimitedAtomic array

CMS use. Show each returned item as a version choice and persist its opaque key as the reference rendition. Labels, resolution, ratio and orientation describe an existing asset; they do not request a crop. Hosted preview includes every version and safe preview geometry, but never source or delivery geometry.

available_versions[].keystring
Opaque selectable version key; persist unchanged.
available_versions[].namestring
Display label such as Square, 1080p, 4K or Original Ratio; not an identity.
available_versions[].source_kindcrop | derived | original
How this composition entered the catalogue.
available_versions[].resolution_classstring
Resolution tier independent from orientation and ratio.
available_versions[].ratioW:H string
Exact geometry of this composition.
available_versions[].orientationstring
Orientation derived from this version's source geometry.
available_versions[].preview.widthinteger
Safe thumbnail width.
available_versions[].preview.heightinteger
Safe thumbnail height.
available_versions[].preview.mime_typestring | null
Safe thumbnail media type.
available_versions[].is_defaultboolean
Whether this item is the current default version.
available_versions[].source.widthinteger
Uploaded source-composition width. A derived 1080p item retains its parent source geometry.
available_versions[].source.heightinteger
Uploaded source-composition height.
available_versions[].delivery.widthinteger
Width of the bytes delivered for this version.
available_versions[].delivery.heightinteger
Height of the bytes delivered for this version.
available_versions[].delivery.mime_typestring | null
Media type of the deliverable file.

Read the complete version and delivery contract

Current state

Lifecycle and relationship context

7 top-level fields

These fields support publication checks, caching, synchronization and the special case of an Artwork returned inside a Collection.

engagementobject · requiredCurrent interaction-count snapshot.Tenant onlyProjectable

CMS use. Treat these as volatile display signals, not financial, billing or durable analytics records. Missing backing data serializes as zero.

engagement.viewsinteger
Recorded view count.
engagement.praisesinteger
Recorded praise count.
engagement.forwardsinteger
Recorded forward count.
engagement.commentsinteger
Recorded comment count.
availabilityobject · requiredCurrent publication window and visibility state.LimitedProjectable

CMS use. A standard catalogue response has already passed visibility policy, so its status is normally available. Unavailable resources are expressed through HTTP errors, reference resolution and sync events; do not wait for this object to become unavailable before taking action.

availability.status"available"
Availability state for a successfully serialized catalogue Artwork.
availability.published_atRFC 3339 string | null
Publication start time.
availability.expires_atRFC 3339 string | null
Artwork publication-window expiry, distinct from rights expiry.
availability.unavailable_reasonnull
Null on a successfully returned Artwork; resolve responses provide per-reference reasons.
versioninteger · requiredArtwork revision used by metadata cache validation.PreviewAlways projected

CMS use. Compare with the last resolved value to detect revision changes and combine it with updated_at, sync events and reference validation. It is scoped to this Artwork, not a global sequence.

created_atRFC 3339 string · requiredTime the API record was created.Tenant onlyProjectable

CMS use. Use for catalogue chronology or diagnostics. It is unrelated to when the physical artwork was produced.

updated_atRFC 3339 string · requiredLast recorded Artwork update time.PreviewAlways projected

CMS use. Use with version and sync events to decide when cached presentation metadata needs to be refreshed.

collection_relationshipobject · conditionalPlacement metadata present only in a Collection's Artwork list.LimitedContextual

CMS use. Use only for the current Collection listing. It is not an intrinsic Artwork attribute and is absent from ordinary detail, list, Search and batch responses.

collection_relationship.rankinginteger
Ordering value for this Artwork within the current Collection.
collection_relationship.added_atRFC 3339 string
Time the relationship was added; tenant-only.
collection_relationship.is_featuredboolean
Whether this placement is featured in the current Collection.

Search documentation

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