Skip to content

Update

PUT
/api/managing-entity/{managingEntityIdentifier}/studio/shareable-link/supplier/{supplierUrlIdentifier}
curl --request PUT \
--url https://api.wink.travel/api/managing-entity/d2c8f3a9-4b1e-4c7a-9d3f-5b8a2e6c1d04/studio/shareable-link/supplier/7c9a2e5f-3d8b-4a1c-b6e2-8f0d1c4a9b3e \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data null

Updates an existing shareable supplier link with the provided details. The link’s unique shareable URL identifier remains unchanged. The last update timestamp is automatically set to the current time.

managingEntityIdentifier
required
string
""

Managing entity identifier (the owner of the shareable link)

Example
d2c8f3a9-4b1e-4c7a-9d3f-5b8a2e6c1d04
supplierUrlIdentifier
required
string
""

Shareable supplier link identifier to update

Example
7c9a2e5f-3d8b-4a1c-b6e2-8f0d1c4a9b3e
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Updated supplier link configuration with revised OpenGraph metadata, branding, or supplier targeting

Media type application/json

Request to create or update a shareable supplier link with OpenGraph metadata and customization

object
name
required

Display name for this shareable link (internal reference, not shown to end users)

string
"" >= 1 characters
Example
The Siam Residences, Bangkok
customizationIdentifier
required

Customization configuration identifier (controls the visual theme and styling)

string format: uuid
"" >= 1 characters
Example
8f2d4a9c-1e7b-4f3d-a5c8-9d1b6e2c0a47
descriptions
required
Array<object>
>= 1 items <= 2147483647 items

Localized link title and description (one entry per language/locale)

object
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
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
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
multimedias
Array<object>

Hero images to display on the shareable link

object
multimediaIdentifier
required

Document identifier

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

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
Example
cloudinary-image-1
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

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

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
Example
CLOUDINARY
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
angle

Media angle

string
""
Example
-90
width
required

Media width in pixels.

integer format: int32
"" >= 1
Example
2560
height
required

Media height in pixels.

integer format: int32
"" >= 1
Example
1600
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
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
name
required

Use as title or short text description

string
""
Example
An example title
description
required

Longer text description

string
"" >= 1 characters <= 2147483647 characters
Example
This is a longer description in the specified language.
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
creator

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
Example
SYSTEM
md5ContentHash

The md5 hash of the name, description and language.

string
""
Example
d41d8cd98f00b204e9800998ecf8427e
hashMismatch
boolean
Example
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
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
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
Example
https://maps.google.com/maps/contrib/111628493169070103594
name
required

Name of contributor

string
"" >= 1 characters
Example
Samuel Adams
Example
{
"url": "https://maps.google.com/maps/contrib/111628493169070103594",
"name": "Samuel Adams"
}
isLandscape

True if media width is greater or equal to height

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

Twitter account handle for OpenGraph metadata when the link is shared

string
""
Example
@thesiamresidences
facebookAppId

Facebook App ID for OpenGraph metadata when the link is shared

string
""
Example
198273987219
theme

Visual theme controlling the appearance of the shareable link banner

string
""
Allowed values: THEME_1
supplierIdentifier
required

Property or supplier identifier (the entity whose inventory is promoted)

string format: uuid
"" >= 1 characters
Example
7c9a2e5f-3d8b-4a1c-b6e2-8f0d1c4a9b3e
animate

When true, renders selected images as an animated GIF (requires at least 2 images)

boolean
animateDelay

Animation frame delay in milliseconds (-1 = no animation)

integer format: int32
default: -1
Example
500
Example
{
"name": "The Siam Residences, Bangkok",
"customizationIdentifier": "8f2d4a9c-1e7b-4f3d-a5c8-9d1b6e2c0a47",
"descriptions": [
{
"name": "Deluxe River View Suite",
"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",
"creator": "USER",
"md5ContentHash": "a3f1c8e2d74b60912a5c3e9b1d7f4e82"
}
],
"multimedias": [
{
"multimediaIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"identifier": "the-siam-residences/lobby-entrance",
"type": "IMAGE",
"source": "CLOUDINARY",
"sort": 10,
"angle": null,
"width": 2560,
"height": 1600,
"published": true,
"category": "2",
"descriptions": [
{
"title": "Lobby Entrance",
"description": "Elegant lobby of The Siam Residences",
"language": "en"
}
],
"lifestyleType": null,
"attribution": [],
"isLandscape": true
}
],
"keywords": [
"luxury"
],
"twitterAccount": "@thesiamresidences",
"facebookAppId": "198273987219",
"supplierIdentifier": "7c9a2e5f-3d8b-4a1c-b6e2-8f0d1c4a9b3e",
"animate": false,
"animateDelay": 500
}

Updated shareable supplier link with the new settings applied; the unique URL identifier and owner remain unchanged

Media type application/json

Shareable supplier URL linking to a property’s inventory on the Wink platform

object
id

Document UUID

string format: uuid
""
createdDate

Datetime this record was first created

string format: date-time
""
lastUpdate

Datetime this record was last updated

string format: date-time
""
version

Version property that shows how many times this document has been persisted. Document will not persist if the version property is less than current version property in the system. Result in an optimistic locking exception.

integer format: int64
""
userIdentifier
required

Creator of this shareable link (authenticated user)

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

Managing entity (owner) of this shareable link

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

Display name for this shareable link (internal reference, not shown to end users)

string
"" >= 1 characters
customizationIdentifier
required

Customization configuration identifier (controls the visual theme and styling)

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

Localized link title and description (one entry per language/locale)

object
name
required

Use as title or short text description

string
""
description
required

Longer text description

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

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
boolean
multimedias
Array<object>

Image entries

object
multimediaIdentifier
required

Document identifier

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

Use this identifier to communicate with Cloudinary.

string
"" >= 1 characters
type
required

Whether Cloudinary media is a VIDEO or IMAGE.

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

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

string
default: CLOUDINARY
Allowed values: YOUTUBE CLOUDINARY
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
angle

Media angle

string
""
width
required

Media width in pixels.

integer format: int32
"" >= 1
height
required

Media height in pixels.

integer format: int32
"" >= 1
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
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
name
required

Use as title or short text description

string
""
description
required

Longer text description

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

Indicate which language this description is written in.

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

Whether it was user or system generated.

string
default: USER
Allowed values: SYSTEM USER
md5ContentHash

The md5 hash of the name, description and language.

string
""
hashMismatch
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
attribution

Whether image has attribution properties

Array<object>
""
object
url

URL to contributor

string format: uri
""
name
required

Name of contributor

string
"" >= 1 characters
isLandscape

True if media width is greater or equal to height

boolean
keywords
Array<string>
uniqueId
required

Unique identifier that generates the shareable URL slug (e.g., share.wink.travel/HBDG87f2)

string
"" >= 1 characters
twitterAccount

Twitter account handle for OpenGraph metadata when the link is shared

string
""
facebookAppId

Facebook App ID for OpenGraph metadata when the link is shared

string
""
theme

Visual theme controlling the appearance of the shareable link banner

string
""
Allowed values: THEME_1
status
required

Current status of the shareable link (ACTIVE, INACTIVE, ARCHIVED, etc.)

string
""
Allowed values: ACTIVE INACTIVE REMOVED
supplierIdentifier
required

Property or supplier identifier (the entity whose inventory is promoted)

string format: uuid
"" >= 1 characters
animate

When true, renders selected images as an animated GIF (requires at least 2 images)

boolean
animateDelay

Animation frame delay in milliseconds (-1 = no animation)

integer format: int32
default: -1
key
additional properties
""
Example
{
"id": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"createdDate": "2026-01-14T09:30:00",
"lastUpdate": "2026-01-14T09:30:00",
"version": 1,
"userIdentifier": "4a1d7c2e-5f9b-4e3a-b8c1-6d2f8a0e3c5b",
"ownerIdentifier": "d2c8f3a9-4b1e-4c7a-9d3f-5b8a2e6c1d04",
"name": "The Siam Residences, Bangkok",
"customizationIdentifier": "8f2d4a9c-1e7b-4f3d-a5c8-9d1b6e2c0a47",
"uniqueId": "HBDG87f2",
"twitterAccount": "@thesiamresidences",
"facebookAppId": "198273987219",
"status": "ACTIVE",
"supplierIdentifier": "7c9a2e5f-3d8b-4a1c-b6e2-8f0d1c4a9b3e",
"animate": false,
"animateDelay": -1
}

Bad Request — missing or invalid request parameter or body

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

Unauthorized — authentication is required or the session has expired

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

Forbidden — authenticated but lacking the required permission or scope

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

Not Found — the requested resource does not exist

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

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

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

Unsupported Media Type — use application/json

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

Internal Server Error — an unexpected failure occurred on the server

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

Service Unavailable — a downstream dependency is unreachable

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