Skip to content

Delete

DELETE
/api/managing-entity/{managingEntityIdentifier}/studio/shareable-link/supplier/{supplierUrlIdentifier}
curl --request DELETE \
--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 'Wink-Version: 2.0'

Permanently removes the shareable supplier link. The unique shareable URL will no longer be accessible after deletion.

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 delete

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

Shareable supplier link permanently removed; returns the deleted link’s final state

Media typeapplication/json

Shareable supplier link with full details

object
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
createdDate

Datetime this record was first created

string | null format: date-time
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
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
facebookAppId

Facebook App ID for OpenGraph metadata when the link is shared

string
id

Unique identifier for this record.

string format: uuid
keywords
required
Array<string>
>= 1 items <= 2147483647 items
lastUpdate

Datetime this record was last updated

string | null format: date-time
multimedias
required
Array<object>
>= 1 items <= 2147483647 items

Hero images to display on the shareable link

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

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

string
>= 1 characters
ownerIdentifier
required

Managing entity (owner) of this shareable link

string format: uuid
>= 1 characters
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
theme

Visual theme controlling the appearance of the shareable link banner

string
Allowed values: THEME_1
twitterAccount

Twitter account handle for OpenGraph metadata when the link is shared

string
uniqueId
required

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

string
>= 1 characters
userIdentifier
required

User (account) identifier

string format: uuid
>= 1 characters
version

Optimistic-locking version. Echo this value back as an If-Match request header on a conditional update; the server responds 409 if the record changed in the meantime. Null when this projection has no backing versioned document, in which case no conditional update is possible.

integer | null format: int64
Example
{
"animate": false,
"animateDelay": 500,
"createdDate": "2026-01-14T09:30:00",
"customizationIdentifier": "8f2d4a9c-1e7b-4f3d-a5c8-9d1b6e2c0a47",
"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"
}
],
"facebookAppId": "198273987219",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"keywords": [
"luxury"
],
"lastUpdate": "2026-02-03T16:45:12",
"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": "The Siam Residences, Bangkok",
"ownerIdentifier": "d2c8f3a9-4b1e-4c7a-9d3f-5b8a2e6c1d04",
"supplierIdentifier": "7c9a2e5f-3d8b-4a1c-b6e2-8f0d1c4a9b3e",
"twitterAccount": "@thesiamresidences",
"uniqueId": "HBDG87f2",
"userIdentifier": "4a1d7c2e-5f9b-4e3a-b8c1-6d2f8a0e3c5b",
"version": 3
}

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
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

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
Examplegenerated
{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}