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.
GET /v1/artworks/{artwork_id}Returns { "data": Artwork }.
GET /v1/artworksReturns Artwork[] with page and link metadata.
GET or POST /v1/searchReturns projected Artwork records alongside other requested resource types.
POST /v1/references/resolvePlaces the current Artwork inside each resolved reference result.
No Artwork fields match this filter. Try a JSON path, concept, or CMS use such as “credit”, “thumbnail”, or “publish”.
Artwork
Identity and editorial content
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
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
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,adultorunknown. 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
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
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
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.
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:Hstring- 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.
Current state
Lifecycle and relationship context
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.
linksobject · requiredRelative links to this resource and its Schema.org form.Tenant onlyProjectable
CMS use. Follow these links against the current API origin. They are navigation conveniences and should not replace the stored resource reference.
links.selfstring- Relative Artwork detail path.
links.schema_orgstring- Relative path to the Schema.org VisualArtwork JSON-LD representation.
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.