{"openapi":"3.1.0","info":{"title":"Vieunite Collection API for CMS","description":"Server API used by CMS tenants to discover, select, persist, resolve, and synchronize Vieunite artwork references.","version":"1.0.0"},"servers":[{"url":"https://collection.vieunite.com"}],"paths":{"/v1":{"get":{"tags":["platform"],"summary":"Discovery","operationId":"discovery_v1_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Discovery V1 Get"}}}}},"x-vieunite-required-scope":null}},"/v1/health":{"get":{"tags":["platform"],"summary":"Health","operationId":"health_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health V1 Health Get"}}}}},"x-vieunite-required-scope":null}},"/v1/capabilities":{"get":{"tags":["platform"],"summary":"Capabilities","operationId":"capabilities_v1_capabilities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Capabilities V1 Capabilities Get"}}}}},"x-vieunite-required-scope":null}},"/v1/collections":{"get":{"tags":["catalog"],"summary":"List Collections","operationId":"list_collections_v1_collections_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Level"}},{"name":"orientation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Orientation"}},{"name":"category_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Id"}},{"name":"category_level_1_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Level 1 Id"}},{"name":"category_level_2_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Level 2 Id"}},{"name":"category_level_3_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Level 3 Id"}},{"name":"min_public_artwork_count","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Public Artwork Count"}},{"name":"min_quality_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Quality Score"}},{"name":"max_quality_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Quality Score"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fields"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Collections V1 Collections Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"collections:read"}},"/v1/collections/batch":{"post":{"tags":["catalog"],"summary":"Batch Collections","operationId":"batch_collections_v1_collections_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Batch Collections V1 Collections Batch Post"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"HTTPBearer":[]}],"x-vieunite-required-scope":"collections:read"}},"/v1/collections/{collection_id}":{"get":{"tags":["catalog"],"summary":"Get Collection Endpoint","operationId":"get_collection_endpoint_v1_collections__collection_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fields"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Collection Endpoint V1 Collections  Collection Id  Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Resource not found or not visible","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"collections:read"}},"/v1/collections/{collection_id}/artworks":{"get":{"tags":["catalog"],"summary":"List Collection Artworks","operationId":"list_collection_artworks_v1_collections__collection_id__artworks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"collection_id","in":"path","required":true,"schema":{"type":"string","title":"Collection Id"}},{"name":"audience","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"ranking","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fields"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Collection Artworks V1 Collections  Collection Id  Artworks Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Resource not found or not visible","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":["collections:read","artworks:read"]}},"/v1/artworks":{"get":{"tags":["catalog"],"summary":"List Artworks","operationId":"list_artworks_v1_artworks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"artist_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Artist Id"}},{"name":"artist_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Artist Name"}},{"name":"resource_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Type"}},{"name":"orientation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Match when any currently available artwork version has this orientation.","title":"Orientation"},"description":"Match when any currently available artwork version has this orientation."},{"name":"audience","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience"}},{"name":"audience_rating","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience Rating"}},{"name":"sensitivity","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sensitivity"}},{"name":"genre","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Genre"}},{"name":"discipline","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Discipline"}},{"name":"medium","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Medium"}},{"name":"movement","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Movement"}},{"name":"seasonal","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonal"}},{"name":"holding_collection","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Holding Collection"}},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tags"}},{"name":"objects","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Objects"}},{"name":"search_aliases","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search Aliases"}},{"name":"license","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},{"name":"rights_holder","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rights Holder"}},{"name":"min_quality_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Quality Score"}},{"name":"max_quality_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Quality Score"}},{"name":"has_asset_variant","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Has Asset Variant"}},{"name":"collection_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collection Id"}},{"name":"production_start_year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Production Start Year"}},{"name":"production_end_year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Production End Year"}},{"name":"include_sensitive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Sensitive"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fields"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Artworks V1 Artworks Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"artworks:read"}},"/v1/artworks/batch":{"post":{"tags":["catalog"],"summary":"Batch Artworks","operationId":"batch_artworks_v1_artworks_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Batch Artworks V1 Artworks Batch Post"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"HTTPBearer":[]}],"x-vieunite-required-scope":"artworks:read"}},"/v1/artworks/{artwork_id}/schema.org":{"get":{"tags":["catalog"],"summary":"Get Artwork Schema Org","operationId":"get_artwork_schema_org_v1_artworks__artwork_id__schema_org_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"artwork_id","in":"path","required":true,"schema":{"type":"string","title":"Artwork Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Artwork Schema Org V1 Artworks  Artwork Id  Schema Org Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Resource not found or not visible","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"artworks:read"}},"/v1/artworks/{artwork_id}":{"get":{"tags":["catalog"],"summary":"Get Artwork Endpoint","operationId":"get_artwork_endpoint_v1_artworks__artwork_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"artwork_id","in":"path","required":true,"schema":{"type":"string","title":"Artwork Id"}},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fields"}},{"name":"include_sensitive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Sensitive"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Artwork Endpoint V1 Artworks  Artwork Id  Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Resource not found or not visible","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"artworks:read"}},"/v1/artists":{"get":{"tags":["catalog"],"summary":"List Artists","operationId":"list_artists_v1_artists_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Artists V1 Artists Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"artists:read"}},"/v1/artists/{artist_id}":{"get":{"tags":["catalog"],"summary":"Get Artist","operationId":"get_artist_v1_artists__artist_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"artist_id","in":"path","required":true,"schema":{"type":"string","title":"Artist Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Artist V1 Artists  Artist Id  Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Resource not found or not visible","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"artists:read"}},"/v1/artists/{artist_id}/artworks":{"get":{"tags":["catalog"],"summary":"List Artist Artworks","operationId":"list_artist_artworks_v1_artists__artist_id__artworks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"artist_id","in":"path","required":true,"schema":{"type":"string","title":"Artist Id"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Artist Artworks V1 Artists  Artist Id  Artworks Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Resource not found or not visible","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":["artists:read","artworks:read"]}},"/v1/categories":{"get":{"tags":["catalog"],"summary":"List Categories","operationId":"list_categories_v1_categories_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tree","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Tree"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Categories V1 Categories Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"categories:read"}},"/v1/categories/{category_id}":{"get":{"tags":["catalog"],"summary":"Get Category","operationId":"get_category_v1_categories__category_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"string","title":"Category Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Category V1 Categories  Category Id  Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Resource not found or not visible","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"categories:read"}},"/v1/categories/{category_id}/collections":{"get":{"tags":["catalog"],"summary":"List Category Collections","operationId":"list_category_collections_v1_categories__category_id__collections_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"string","title":"Category Id"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Category Collections V1 Categories  Category Id  Collections Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Resource not found or not visible","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":["categories:read","collections:read"]}},"/v1/search":{"get":{"tags":["discovery"],"summary":"Search Get","operationId":"search_get_v1_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"types","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"artwork,collection","title":"Types"}},{"name":"orientation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"For artworks, match any currently available version; for collections, match the collection's declared orientation.","title":"Orientation"},"description":"For artworks, match any currently available version; for collections, match the collection's declared orientation."},{"name":"audience","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience"}},{"name":"resource_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Type"}},{"name":"medium","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Medium"}},{"name":"movement","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Movement"}},{"name":"seasonal","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seasonal"}},{"name":"holding_collection","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Holding Collection"}},{"name":"license","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License"}},{"name":"sensitivity","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sensitivity"}},{"name":"facets","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facets"}},{"name":"sort","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fields"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Get V1 Search Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"search:read"},"post":{"tags":["discovery"],"summary":"Search Post","operationId":"search_post_v1_search_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Post V1 Search Post"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"search:read"}},"/v1/references/resolve":{"post":{"tags":["references"],"summary":"Resolve References","operationId":"resolve_references_v1_references_resolve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveReferencesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Resolve References V1 References Resolve Post"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"HTTPBearer":[]}],"x-vieunite-required-scope":"references:resolve"}},"/v1/references/validate":{"post":{"tags":["references"],"summary":"Validate References","operationId":"validate_references_v1_references_validate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateReferencesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Validate References V1 References Validate Post"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"HTTPBearer":[]}],"x-vieunite-required-scope":"references:resolve"}},"/v1/assets/signed-urls":{"post":{"tags":["assets"],"summary":"Signed Urls","operationId":"signed_urls_v1_assets_signed_urls_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignedUrlRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignedUrlResponse"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"HTTPBearer":[]}],"x-vieunite-required-scope":"assets:signed_url:create"}},"/v1/picker/sessions":{"post":{"tags":["picker"],"summary":"Create Picker Session","operationId":"create_picker_session_v1_picker_sessions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PickerSessionCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Picker Session V1 Picker Sessions Post"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"HTTPBearer":[]}],"x-vieunite-required-scope":"picker:create"}},"/v1/picker/sessions/{session_id}":{"get":{"tags":["picker"],"summary":"Get Picker Session","operationId":"get_picker_session_v1_picker_sessions__session_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Picker Session V1 Picker Sessions  Session Id  Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Resource not found or not visible","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"picker:create"}},"/v1/picker/selections/redeem":{"post":{"tags":["picker"],"summary":"Redeem Selection","operationId":"redeem_selection_v1_picker_selections_redeem_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PickerSelectionRedeem"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Redeem Selection V1 Picker Selections Redeem Post"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"409":{"description":"Selection was already redeemed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"410":{"description":"Selection capability expired","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"picker:selection:redeem"}},"/v1/sync":{"get":{"tags":["sync"],"summary":"Sync","operationId":"sync_v1_sync_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"types","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Types"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Sync V1 Sync Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"sync:read"}},"/v1/webhooks/endpoints":{"get":{"tags":["webhooks"],"summary":"List Webhook Endpoints","operationId":"list_webhook_endpoints_v1_webhooks_endpoints_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Webhook Endpoints V1 Webhooks Endpoints Get"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"HTTPBearer":[]}],"x-vieunite-required-scope":"webhooks:manage"},"post":{"tags":["webhooks"],"summary":"Create Webhook Endpoint","operationId":"create_webhook_endpoint_v1_webhooks_endpoints_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Webhook Endpoint V1 Webhooks Endpoints Post"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"HTTPBearer":[]}],"x-vieunite-required-scope":"webhooks:manage"}},"/v1/webhooks/events":{"get":{"tags":["webhooks"],"summary":"List Webhook Events","operationId":"list_webhook_events_v1_webhooks_events_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"types","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Types"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Webhook Events V1 Webhooks Events Get"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"webhooks:manage"}},"/v1/webhooks/events/{event_id}/deliver":{"post":{"tags":["webhooks"],"summary":"Deliver Webhook Event","operationId":"deliver_webhook_event_v1_webhooks_events__event_id__deliver_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Deliver Webhook Event V1 Webhooks Events  Event Id  Deliver Post"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Resource not found or not visible","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"webhooks:manage"}},"/v1/webhooks/endpoints/{endpoint_id}":{"delete":{"tags":["webhooks"],"summary":"Delete Webhook Endpoint","operationId":"delete_webhook_endpoint_v1_webhooks_endpoints__endpoint_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","title":"Endpoint Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Webhook Endpoint V1 Webhooks Endpoints  Endpoint Id  Delete"}}}},"422":{"description":"Request validation failed","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"401":{"description":"Missing or invalid tenant token","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"403":{"description":"Token type, scope, or visibility denied","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"400":{"description":"Invalid request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Resource not found or not visible","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"x-vieunite-required-scope":"webhooks:manage"}}},"components":{"schemas":{"BatchRequest":{"properties":{"ids":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Ids"},"fields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Fields"}},"type":"object","title":"BatchRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"PickerHostCapabilities":{"properties":{"credit_display":{"type":"boolean","title":"Credit Display","default":false}},"additionalProperties":false,"type":"object","title":"PickerHostCapabilities"},"PickerSelectionRedeem":{"properties":{"session_id":{"type":"string","maxLength":191,"minLength":8,"title":"Session Id"},"selection_code":{"type":"string","maxLength":512,"minLength":24,"title":"Selection Code"}},"type":"object","required":["session_id","selection_code"],"title":"PickerSelectionRedeem"},"PickerSessionCreate":{"properties":{"allowed_types":{"items":{"type":"string","enum":["artwork","collection"]},"type":"array","title":"Allowed Types"},"selection_mode":{"type":"string","enum":["single","multiple"],"title":"Selection Mode","default":"single"},"max_selection":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Max Selection","description":"Maximum selections; 0 means unlimited in multiple mode","default":1},"default_filters":{"additionalProperties":true,"type":"object","title":"Default Filters"},"host_capabilities":{"$ref":"#/components/schemas/PickerHostCapabilities","description":"Immutable capabilities declared by the CMS host. These are enforced by the Picker runtime and cannot be changed by the Picker user."},"return_fields":{"items":{"type":"string"},"type":"array","title":"Return Fields","description":"Reserved for legacy session compatibility. Picker redemption returns canonical references; resolve metadata separately.","deprecated":true},"expires_in":{"type":"integer","maximum":900.0,"minimum":60.0,"title":"Expires In","default":600},"callback_origin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Callback Origin"}},"type":"object","title":"PickerSessionCreate"},"ReferenceIn":{"properties":{"type":{"type":"string","enum":["artwork","collection"],"title":"Type"},"id":{"type":"string","title":"Id"},"rendition":{"anyOf":[{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]*$"},{"type":"null"}],"title":"Rendition","description":"Opaque uploaded-version key returned by available_versions. Do not infer this value from resolution, ratio, or orientation."},"ratio":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Ratio"}},"type":"object","required":["type","id"],"title":"ReferenceIn"},"ResolveReferencesRequest":{"properties":{"references":{"items":{"$ref":"#/components/schemas/ReferenceIn"},"type":"array","maxItems":100,"title":"References"},"fields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Fields"},"context":{"additionalProperties":true,"type":"object","title":"Context"}},"type":"object","title":"ResolveReferencesRequest"},"SearchPage":{"properties":{"limit":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Limit","default":20},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},"type":"object","title":"SearchPage"},"SearchRequest":{"properties":{"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query"},"types":{"items":{"type":"string","enum":["artwork","collection"]},"type":"array","title":"Types"},"filters":{"additionalProperties":true,"type":"object","title":"Filters"},"facets":{"items":{"type":"string"},"type":"array","title":"Facets"},"sort":{"items":{"$ref":"#/components/schemas/SearchSort"},"type":"array","title":"Sort"},"page":{"$ref":"#/components/schemas/SearchPage"},"fields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Fields"}},"type":"object","title":"SearchRequest"},"SearchSort":{"properties":{"field":{"type":"string","title":"Field"},"order":{"type":"string","enum":["asc","desc"],"title":"Order","default":"asc"}},"type":"object","required":["field"],"title":"SearchSort"},"SignedUrlDenial":{"properties":{"artwork_id":{"type":"string","title":"Artwork Id"},"variant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Variant","description":"Requested version key when one specific version was denied."},"reason":{"type":"string","enum":["unavailable","missing_uploaded_version","version_unavailable","unavailable_asset","restricted","missing_storage_key"],"title":"Reason"}},"type":"object","required":["artwork_id","reason"],"title":"SignedUrlDenial"},"SignedUrlGrant":{"properties":{"asset_id":{"type":"string","title":"Asset Id","description":"Identifier of the physical delivery asset."},"artwork_id":{"type":"string","title":"Artwork Id"},"variant":{"type":"string","title":"Variant","description":"Physical delivery asset role. This can differ from version_key and must not be stored as the selected rendition."},"version_key":{"type":"string","title":"Version Key","description":"The requested selectable version key. Join this value to the CMS reference rendition and available_versions[].key."},"url":{"type":"string","title":"Url","description":"Short-lived HTTPS URL for the binary delivery asset."},"expires_at":{"type":"string","title":"Expires At","description":"UTC expiry time in RFC 3339 format."},"access":{"type":"string","const":"signed_url","title":"Access"}},"type":"object","required":["asset_id","artwork_id","variant","version_key","url","expires_at","access"],"title":"SignedUrlGrant"},"SignedUrlItem":{"properties":{"artwork_id":{"type":"string","title":"Artwork Id"},"variant":{"anyOf":[{"type":"string","maxLength":64,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]*$"},{"type":"null"}],"title":"Variant","description":"One opaque artwork version key from available_versions. Despite the legacy field name, this is a rendition key, not an assets-map variant, ratio, resolution label, or orientation."},"variants":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Variants","description":"Opaque artwork version keys from available_versions. Omit both variant and variants to request the current default version."}},"type":"object","required":["artwork_id"],"title":"SignedUrlItem"},"SignedUrlRequest":{"properties":{"requests":{"items":{"$ref":"#/components/schemas/SignedUrlItem"},"type":"array","maxItems":100,"title":"Requests","description":"Artwork delivery requests. Use this field for new integrations."},"assets":{"items":{"$ref":"#/components/schemas/SignedUrlItem"},"type":"array","maxItems":100,"title":"Assets","description":"Legacy alias for requests.","deprecated":true},"expires_in":{"type":"integer","maximum":3600.0,"minimum":60.0,"title":"Expires In","description":"Signed delivery URL lifetime in seconds.","default":900}},"type":"object","title":"SignedUrlRequest"},"SignedUrlResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SignedUrlGrant"},"type":"array","title":"Data","description":"Successfully issued delivery grants."},"denied":{"items":{"$ref":"#/components/schemas/SignedUrlDenial"},"type":"array","title":"Denied","description":"Per-version denials. A 200 response can contain both data and denied."}},"type":"object","required":["data","denied"],"title":"SignedUrlResponse","example":{"data":[{"access":"signed_url","artwork_id":"art_456","asset_id":"asset_art_456_display__1080p","expires_at":"2026-07-16T16:45:00Z","url":"https://assets.example.com/protected/artworks/art_456/display.jpg?<signed-query>","variant":"display__1080p","version_key":"auto_1080p"}],"denied":[{"artwork_id":"art_456","reason":"restricted","variant":"original"}]}},"ValidateReferencesRequest":{"properties":{"references":{"items":{"$ref":"#/components/schemas/ReferenceIn"},"type":"array","maxItems":100,"title":"References"},"fields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Fields"},"context":{"additionalProperties":true,"type":"object","title":"Context"}},"type":"object","title":"ValidateReferencesRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WebhookDeliveryRequest":{"properties":{"endpoint_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint Id"},"dry_run":{"type":"boolean","title":"Dry Run","default":true},"timeout_seconds":{"type":"number","maximum":30.0,"minimum":0.5,"title":"Timeout Seconds","default":5.0}},"type":"object","title":"WebhookDeliveryRequest"},"WebhookEndpointCreate":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url"},"event_types":{"items":{"type":"string"},"type":"array","title":"Event Types"}},"type":"object","required":["url"],"title":"WebhookEndpointCreate"},"ProblemDetails":{"type":"object","required":["type","title","status","detail"],"properties":{"type":{"type":"string","format":"uri"},"title":{"type":"string"},"status":{"type":"integer"},"detail":{"type":"string"},"instance":{"type":["string","null"]},"request_id":{"type":["string","null"]}},"example":{"type":"https://collection.vieunite.com/problems/invalid_request","title":"Invalid request","status":400,"detail":"The request could not be processed.","request_id":"req_example"}}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer","description":"CMS tenant server token. Store it only on the CMS backend."}}},"tags":[{"name":"platform","description":"Discovery, health, and supported capabilities."},{"name":"catalog","description":"Artwork, collection, artist, and category records."},{"name":"discovery","description":"Cross-resource search, filters, facets, and sorting."},{"name":"references","description":"Resolve and validate durable CMS references."},{"name":"assets","description":"Short-lived delivery URLs for authorized artwork assets."},{"name":"picker","description":"Create Picker sessions and redeem completed selections."},{"name":"sync","description":"Cursor-based catalog change synchronization."},{"name":"webhooks","description":"Webhook endpoints, events, and delivery controls."}],"externalDocs":{"description":"CMS tenant documentation","url":"https://collection.vieunite.com/docs"},"x-vieunite-audience":"cms-tenant"}