Skip to content

Update announcement

PUT
/api/managing-entity/{managingEntityIdentifier}/extranet/announcement/{announcementIdentifier}
curl --request PUT \
--url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/extranet/announcement/b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data '{ "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" } ], "endDate": "2026-04-15", "showAlways": false, "showTitle": true, "startDate": "2026-03-01" }'

Updates an existing announcement identified by its identifier for the given property. All fields in the request replace the corresponding announcement fields. Requires CONTENT:WRITE on the managing entity.

managingEntityIdentifier
required
string

Unique identifier of the property (managing entity)

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

Unique identifier of the announcement to update

Example
b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Replacement announcement content including multilingual text, display date range and visibility settings

Media typeapplication/json

Request payload for creating or updating an announcement on a property, including localized content and display scheduling.

object
descriptions
required

List of all localized announcements.

Array<object>
>= 1 items <= 2147483647 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"
}
endDate

Date when this announcement expires and is no longer displayed.

string format: date
Example
2026-04-15
showAlways

When true, the announcement is always visible regardless of booking dates; when false, visibility is restricted to the configured start and end dates.

boolean
Example
false
showTitle

When true, the announcement title is displayed to travelers; when false, only the description content is shown.

boolean
Example
true
startDate

Date when this announcement becomes active and visible to travelers.

string format: date
Example
2026-03-01
Example
{
"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"
}
],
"endDate": "2026-04-15",
"showAlways": false,
"showTitle": true,
"startDate": "2026-03-01"
}

Announcement updated successfully

Media typeapplication/json

Lightweight projection of an announcement, containing localized content and display configuration for use in traveler-facing views.

object
createdDate

Datetime this record was first created

string | null format: date-time
descriptions
required

List of all localized announcements.

Array<object>
>= 1 items <= 2147483647 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
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
endDate

Date when this announcement expires and is no longer displayed.

string format: date
hotelIdentifier

Unique identifier of the property (managing entity) for which this announcement is configured.

string format: uuid
id

Unique identifier for this record.

string format: uuid
lastUpdate

Datetime this record was last updated

string | null format: date-time
showAlways

When true, the announcement is always visible regardless of booking dates; when false, visibility is restricted to the configured start and end dates.

boolean
showTitle

When true, the announcement title is displayed to travelers; when false, only the description content is shown.

boolean
startDate

Date when this announcement becomes active and visible to travelers.

string format: date
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
{
"createdDate": "2026-01-14T09:30:00",
"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"
}
],
"endDate": "2026-04-15",
"hotelIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"id": "b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47",
"lastUpdate": "2026-02-03T16:45:12",
"showAlways": false,
"showTitle": true,
"startDate": "2026-03-01",
"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"
}