Skip to content

Update

PUT
/api/managing-entity/{managingEntityIdentifier}/studio/items/{inventoryIdentifier}
curl --request PUT \
--url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/studio/items/3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data null

Updates an existing inventory card identified by its inventory identifier for the given managing entity. Requires MARKETING:WRITE on the account.

managingEntityIdentifier
required
string
""

AffiliateAccount identifier to update item for

Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
inventoryIdentifier
required
string
""

Update inventory with this identifier

Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Updated inventory card definition with revised display details, media, and channel configuration

Media typeapplication/json

Request payload for creating or updating a sellable item, specifying the inventory, display configuration, and media assets to associate with the listing.

object
animate

Create an animated gif instead of a list of images. Feature currently not available. Feel free to enable and it will become available at a later date.

boolean
Example
false
animateDelay

Controls animation delay in milliseconds

integer format: int32
""
Example
800
channelInventoryIdentifier
required

The channel inventory record identifier describing the relationship between supplier and seller

string format: uuid
"" >= 1 characters
Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
channelInventoryType
required

Channel inventory type is a subset of inventory type in that it does not include the HOTEL type. THe way it works is, as a seller you might want to sell a guest room but instead of showing the price of that guest room, you would like to display the best room type price for the property.

string
""
Allowed values: GUEST_ROOM ADD_ON MEETING_ROOM RESTAURANT SPA ATTRACTION PLACE ACTIVITY
Example
GUEST_ROOM
customizationIdentifier
required

Which configuration to use with this item

string format: uuid
"" >= 1 characters
Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
descriptions
required
Array<object>
>= 1 items <= 2147483647 items

Title and description of inventory.

object
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
hashMismatch
boolean
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
Example
en
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
name
required

Use as title or short text description

string
""
Example
An example title
Example
{
"creator": "USER",
"description": "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
"language": "en",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
"name": "Deluxe River View Suite"
}
displayType
required

Indicate which initial values to display first on the front-facing card

string
default: NATIVE
Allowed values: NATIVE HOTEL ROOM
Example
NATIVE
inventoryType
required

The type of inventory being offer up for sale

string
""
Allowed values: HOTEL GUEST_ROOM MEETING_ROOM RESTAURANT SPA ADD_ON ATTRACTION ACTIVITY PLACE
Example
HOTEL
keywords
required
Array<string>
>= 1 items <= 2147483647 items
multimedias
required
Array<object>
>= 1 items <= 2147483647 items

Reference identifiers to Cloudinary media assets

object
angle

Media angle

string
""
Example
-90
attribution

Whether image has attribution properties

Array<object>
""
object
name
required

Name of contributor

string
"" >= 1 characters
Example
Samuel Adams
url

URL to contributor

string format: uri
""
Example
https://maps.google.com/maps/contrib/111628493169070103594
Example
{
"name": "Samuel Adams",
"url": "https://maps.google.com/maps/contrib/111628493169070103594"
}
category

Supported OTA specification PIC code. See OTA geoname data

string
""
Example
1
descriptions

Localized media captions to give user some context about where this media was taken.

Array<object>
""

Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.

object
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
hashMismatch
boolean
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
Example
en
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
name
required

Use as title or short text description

string
""
Example
An example title
Example
{
"creator": "USER",
"description": "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
"language": "en",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
"name": "Deluxe River View Suite"
}
height
required

Media height in pixels.

integer format: int32
"" >= 1
Example
1600
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
Example
cloudinary-image-1
isLandscape

True if media width is greater or equal to height

boolean
Example
true
lifestyleType

Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
Example
LIFESTYLE_HEALTH_FITNESS
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
Example
3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51
published

Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.

boolean
Example
true
sort
required

Sort allows you to control how you want to sort this record in a list of media records.

integer format: int32
default: 999
Example
10
source
required

Currently ONLY using Cloudinary to store all image / video assets.

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
Example
CLOUDINARY
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
Example
IMAGE
width
required

Media width in pixels.

integer format: int32
"" >= 1
Example
2560
Example
{
"angle": null,
"attribution": [],
"category": "2",
"descriptions": [
{
"description": "Elegant lobby of The Siam Residences",
"language": "en",
"title": "Lobby Entrance"
}
],
"height": 1600,
"identifier": "the-siam-residences/lobby-entrance",
"isLandscape": true,
"lifestyleType": null,
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"published": true,
"sort": 10,
"source": "CLOUDINARY",
"type": "IMAGE",
"width": 2560
}
name
required

Descriptive name of this item for seller use

string
"" >= 1 characters
Example
Deluxe Room with Spa Access
sort

The specific badge to display over the image on the Web Component.

string
""
Allowed values: RECOMMENDED PRICE_LOW_TO_HIGH PRICE_HIGH_TO_LOW ECO
Example
POPULARITY
supplierIdentifier
required

Supplier / Hotel identifier that owns this inventory

string format: uuid
"" >= 1 characters
Example
e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18
Example
{
"animate": false,
"animateDelay": 800,
"channelInventoryIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"channelInventoryType": "GUEST_ROOM",
"customizationIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"descriptions": [
{
"creator": "USER",
"description": "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
"language": "en",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
"name": "Deluxe River View Suite"
}
],
"displayType": "NATIVE",
"inventoryType": "HOTEL",
"keywords": [
"luxury-accommodation"
],
"multimedias": [
{
"angle": null,
"attribution": [],
"category": "2",
"descriptions": [
{
"description": "Elegant lobby of The Siam Residences",
"language": "en",
"title": "Lobby Entrance"
}
],
"height": 1600,
"identifier": "the-siam-residences/lobby-entrance",
"isLandscape": true,
"lifestyleType": null,
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"published": true,
"sort": 10,
"source": "CLOUDINARY",
"type": "IMAGE",
"width": 2560
}
],
"name": "Deluxe Room with Spa Access",
"sort": "POPULARITY",
"supplierIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
}

Updated sellable inventory item

Media typeapplication/json

Lightweight projection of a sellable item, carrying all display and inventory configuration fields needed by consumers without requiring the full document model.

object
animate

Create an animated gif instead of a list of images. Feature currently not available. Feel free to enable and it will become available at a later date.

boolean
animateDelay

Controls animation delay in milliseconds

integer format: int32
""
channelInventoryIdentifier
required

The channel inventory record identifier describing the relationship between supplier and seller

string format: uuid
"" >= 1 characters
channelInventoryType
required

Channel inventory type is a subset of inventory type in that it does not include the HOTEL type. THe way it works is, as a seller you might want to sell a guest room but instead of showing the price of that guest room, you would like to display the best room type price for the property.

string
""
Allowed values: GUEST_ROOM ADD_ON MEETING_ROOM RESTAURANT SPA ATTRACTION PLACE ACTIVITY
customizationIdentifier
required

Which configuration to use with this item

string format: uuid
"" >= 1 characters
descriptions
required
Array<object>
>= 1 items <= 2147483647 items

Title and description of inventory.

object
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
hashMismatch
boolean
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
md5ContentHash

The md5 hash of the name, description and language.

string
""
name
required

Use as title or short text description

string
""
displayType
required

Indicate which initial values to display first on the front-facing card

string
default: NATIVE
Allowed values: NATIVE HOTEL ROOM
identifier
required

Unique identifier of this sellable item

string format: uuid
"" >= 1 characters
inventoryStatus
required

Url sell status

string
""
Allowed values: ACTIVE INACTIVE REMOVED
inventoryType
required

The type of inventory being offer up for sale

string
""
Allowed values: HOTEL GUEST_ROOM MEETING_ROOM RESTAURANT SPA ADD_ON ATTRACTION ACTIVITY PLACE
keywords
required
Array<string>
>= 1 items <= 2147483647 items
multimedias
required
Array<object>
>= 1 items <= 2147483647 items

Reference identifiers to Cloudinary media assets

object
angle

Media angle

string
""
attribution

Whether image has attribution properties

Array<object>
""
object
name
required

Name of contributor

string
"" >= 1 characters
url

URL to contributor

string format: uri
""
category

Supported OTA specification PIC code. See OTA geoname data

string
""
descriptions

Localized media captions to give user some context about where this media was taken.

Array<object>
""

Foundation class for storing multi-language content (names and descriptions) with content change detection throughout the Wink Platform.

object
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
hashMismatch
boolean
language
required

Indicate which language this description is written in.

string
default: en >= 2 characters <= 2 characters /^[a-z]{2}(-[A-Z]{2})?$/
md5ContentHash

The md5 hash of the name, description and language.

string
""
name
required

Use as title or short text description

string
""
height
required

Media height in pixels.

integer format: int32
"" >= 1
identifier
required

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
lifestyleType

Associate this media with a specific lifestyle type. A user searching and filtering inventory based on lifestyles can be shown relevant media first.

string
""
Allowed values: LIFESTYLE_HEALTH_FITNESS LIFESTYLE_RELAX LIFESTYLE_ADULT_ONLY LIFESTYLE_ADVENTURE LIFESTYLE_BUSINESS LIFESTYLE_LGBT LIFESTYLE_SINGLE_PARENT LIFESTYLE_SOLO_FEMALE LIFESTYLE_BEAUTY LIFESTYLE_FOODIE LIFESTYLE_FAMILY LIFESTYLE_ROMANCE LIFESTYLE_COUPLE LIFESTYLE_SOLO LIFESTYLE_BACKPACKER LIFESTYLE_SHOPPING LIFESTYLE_SPORTS LIFESTYLE_MOUNTAIN LIFESTYLE_BEACH LIFESTYLE_CITY LIFESTYLE_COUNTRY LIFESTYLE_CULTURE LIFESTYLE_ECO
multimediaIdentifier
required

Document identifier

string format: uuid
"" >= 1 characters
published

Instead of deleting the media, choose to un-publish it instead for later re-use. Could be you keep seasonal images of the property.

boolean
sort
required

Sort allows you to control how you want to sort this record in a list of media records.

integer format: int32
default: 999
source
required

Currently ONLY using Cloudinary to store all image / video assets.

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

string
""
Allowed values: IMAGE VIDEO AUDIO RAW
width
required

Media width in pixels.

integer format: int32
"" >= 1
name
required

Descriptive name of this item for seller use

string
"" >= 1 characters
ownerIdentifier
required

AffiliateAccount / Owner identifier

string format: uuid
"" >= 1 characters
sort

The specific badge to display over the image on the Web Component.

string
""
Allowed values: RECOMMENDED PRICE_LOW_TO_HIGH PRICE_HIGH_TO_LOW ECO
status
required

Availability status

string
default: ACTIVE
Allowed values: ACTIVE INACTIVE REMOVED
supplierIdentifier
required

Supplier / Hotel identifier that owns this inventory

string format: uuid
"" >= 1 characters
key
additional properties
""
Example
{
"animate": false,
"animateDelay": 800,
"channelInventoryIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"channelInventoryType": "GUEST_ROOM",
"customizationIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"descriptions": [
{
"creator": "USER",
"description": "Spacious suite with floor-to-ceiling windows overlooking the Chao Phraya River, featuring a king-size bed, private balcony, and marble bathroom.",
"language": "en",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82",
"name": "Deluxe River View Suite"
}
],
"displayType": "NATIVE",
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"inventoryStatus": "ACTIVE",
"inventoryType": "HOTEL",
"keywords": [
"luxury-accommodation"
],
"multimedias": [
{
"angle": null,
"attribution": [],
"category": "2",
"descriptions": [
{
"description": "Elegant lobby of The Siam Residences",
"language": "en",
"title": "Lobby Entrance"
}
],
"height": 1600,
"identifier": "the-siam-residences/lobby-entrance",
"isLandscape": true,
"lifestyleType": null,
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"published": true,
"sort": 10,
"source": "CLOUDINARY",
"type": "IMAGE",
"width": 2560
}
],
"name": "Deluxe Room with Spa Access",
"ownerIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"sort": "POPULARITY",
"status": "ACTIVE",
"supplierIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18"
}

Bad Request — missing or invalid request parameter or body

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Unauthorized — authentication is required or the session has expired

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Forbidden — authenticated but lacking the required permission or scope

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Not Found — the requested resource does not exist

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Method Not Allowed — the HTTP verb is not supported on this endpoint

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Unsupported Media Type — use application/json

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Internal Server Error — an unexpected failure occurred on the server

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example

Service Unavailable — a downstream dependency is unreachable

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri
key
additional properties
""
Example