Skip to content

Update post

PATCH
/api/managing-entity/{managingEntityIdentifier}/social/post/{postIdentifier}
curl --request PATCH \
--url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/social/post/c8f2a5e7-1d9b-4e3c-9a2f-5e7b8d3c1f4a \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data '{ "customizationIdentifier": "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f", "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" } ], "hashTags": [ "#ThailandTravel" ], "link": { "caption": "thesiamresidences.com", "description": "Discover The Siam Residences", "url": "https://www.thesiamresidences.com" }, "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 } ], "platform": "FACEBOOK", "postType": "TRANSACTIONAL", "scheduledDate": "2026-03-15T18:30:00Z", "timezone": "Asia/Bangkok", "toneOfVoice": "NEUTRAL", "type": "MANUAL", "userTags": [ "@luxurytravel" ] }'

Updates an existing managed social post identified by its identifier with the supplied content.

managingEntityIdentifier
required
string

Update post for this managing entity

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

Update this specific post

Example
c8f2a5e7-1d9b-4e3c-9a2f-5e7b8d3c1f4a
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Updated post content and scheduling details

Media typeapplication/json

Request to create or update a managed social post, specifying content, tone, scheduling, and platform details.

object
customizationIdentifier
required

The post customization/template identifier to base this post on

string format: uuid
>= 1 characters
Example
d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f
descriptions
required

A single entry array under most circumstances in the language the post was created for.

Array<object>
>= 1 items

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"
}
hashTags
Array<string>
link

A link to go with the text

object
caption

Short caption typically showing the domain of the URL

string
Example
thesiamresidences.com
description

Human-readable description of the link destination shown alongside the URL

string
Example
Discover The Siam Residences
url
required

The fully-qualified URL to link from the post

string format: uri
>= 1 characters
Example
https://www.thesiamresidences.com
Example
{
"caption": "thesiamresidences.com",
"description": "Discover The Siam Residences",
"url": "https://www.thesiamresidences.com"
}
location

Optional geo-location

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
metadata

Platform-specific metadata for this post

object
key
additional properties
multimedias
Array<object>

CDN image/media assets (most platforms support up to 10 images per post)

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
}
platform
required

Which social platform to publish this post to

string
Allowed values: WINK_LINKS FACEBOOK INSTAGRAM
Example
FACEBOOK
postType
required

The structural intent of this post.

string
default: TRANSACTIONAL
Allowed values: TRANSACTIONAL AWARENESS SENTIMENT
Example
TRANSACTIONAL
scheduledDate
required

Date and time when the post will be published (ISO 8601 format, interpreted in the supplied timezone)

string format: date-time
Example
2026-03-15T18:30:00Z
timezone
required

IANA timezone identifier (e.g. Asia/Bangkok, America/New_York)

string
>= 1 characters
Example
Asia/Bangkok
toneOfVoice
required

The language style used for this post.

string
default: NEUTRAL
Allowed values: NEUTRAL FRIENDLY LUXURY FOODIE ADVENTUROUS FAMILY ROMANTIC HUMOROUS ECO LOCAL_INSIDER INCLUSIVE BUDGET
Example
NEUTRAL
type
required

Type of post.

string
default: MANUAL
Allowed values: MANUAL TRANSACTIONAL AWARENESS SENTIMENT
Example
MANUAL
userTags
Array<string>
Example
{
"customizationIdentifier": "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
"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"
}
],
"hashTags": [
"#ThailandTravel"
],
"link": {
"caption": "thesiamresidences.com",
"description": "Discover The Siam Residences",
"url": "https://www.thesiamresidences.com"
},
"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
}
],
"platform": "FACEBOOK",
"postType": "TRANSACTIONAL",
"scheduledDate": "2026-03-15T18:30:00Z",
"timezone": "Asia/Bangkok",
"toneOfVoice": "NEUTRAL",
"type": "MANUAL",
"userTags": [
"@luxurytravel"
]
}

The updated managed social post

Media typeapplication/json

Lightweight projection of a scheduled social media post, used by consumers outside the managed-social module.

object
createdDate

Datetime this record was first created

string | null format: date-time
customizationIdentifier
required

The post customization/template identifier used to create this post

string format: uuid
descriptions
required

A single entry array under most circumstances in the language the post was created for.

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
hashTags
Array<string>
id

Unique identifier for this record.

string format: uuid
lastUpdate

Datetime this record was last updated

string | null format: date-time
link

A link to go with the text

object
caption

Short caption typically showing the domain of the URL

string
description

Human-readable description of the link destination shown alongside the URL

string
url
required

The fully-qualified URL to link from the post

string format: uri
>= 1 characters
location

Optional geo-location

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
metadata

Platform-specific metadata for this post

object
key
additional properties
multimedias
Array<object>

CDN image/media assets (most platforms support up to 10 images per post)

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
ownerIdentifier
required

The managing entity this post belongs to

string format: uuid
platform
required

Which platform to post to.

string
Allowed values: WINK_LINKS FACEBOOK INSTAGRAM
postType
required

The structural intent of this post.

string
Allowed values: TRANSACTIONAL AWARENESS SENTIMENT
scheduledDate
required

Exact date and time when the post will be published (ISO 8601 format)

string format: date-time
status
required

Status of post.

string
Allowed values: DRAFT PENDING_APPROVAL APPROVED REJECTED PAUSED PUBLISHED FAILED
statusText

Human-readable status explanation (typically used for error messages)

string
timezone
required

IANA timezone identifier (e.g. Asia/Bangkok, America/New_York)

string
toneOfVoice
required

The language style used for this post.

string
Allowed values: NEUTRAL FRIENDLY LUXURY FOODIE ADVENTUROUS FAMILY ROMANTIC HUMOROUS ECO LOCAL_INSIDER INCLUSIVE BUDGET
type
required

Type of post.

string
Allowed values: MANUAL TRANSACTIONAL AWARENESS SENTIMENT
userIdentifier
required

The user ID that owns the account

string format: uuid
userTags
Array<string>
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
{
"customizationIdentifier": "d7e1b4f6-2c8a-4d2b-8f3e-6d9c7b2a0e5f",
"descriptions": [
{
"description": "Experience luxury living in the heart of Bangkok.",
"language": "en",
"name": "Discover The Siam Residences"
}
],
"hashTags": [
"#ThailandTravel"
],
"id": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"ownerIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"platform": "FACEBOOK",
"postType": "TRANSACTIONAL",
"scheduledDate": "2026-03-15T18:30:00Z",
"status": "APPROVED",
"timezone": "Asia/Bangkok",
"toneOfVoice": "NEUTRAL",
"type": "MANUAL",
"userIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"userTags": [
"@luxurytravel"
]
}

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"
}