Skip to content

Create

POST
/api/managing-entity/{managingEntityIdentifier}/studio/grids
curl --request POST \
--url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/studio/grids \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data null

Creates a new curated or saved-search grid for the managing entity from the supplied request. Returns the created grid with its assigned identifier.

managingEntityIdentifier
required
string
""

Managing entity identifier that will own the new grid.

Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Grid definition including name, display settings, and the curated inventory list or saved search configuration

Media typeapplication/json

Request payload for creating or updating a sellable list configuration, supplying all display, localization, and inventory settings

object
animate

Generate an animated GIF from multiple images instead of a static grid (requires at least 2 images)

boolean
Example
false
animateDelay

Delay between animation frames in milliseconds; -1 disables animation

integer format: int32
default: -1
Example
500
customizationIdentifier
required

Customization configuration identifier

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

Localized title and description of grid (at least one entry in English required)

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

Initial display format on the front-facing card (NATIVE or alternative format)

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

Keywords and metadata tags for SEO and filtering

Array<string>
"" >= 1 items <= 2147483647 items
Example
[
"bangkok",
"luxury"
]
listIdentifier
required

Inventory record identifier for the curated list, saved search, or channel

string format: uuid
"" >= 1 characters
Example
8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29
listType
required

Type of inventory being curated (LIST, SEARCH, CHANNEL)

string
""
Allowed values: SINGLE LIST SEARCH
Example
LIST
name
required

Descriptive name of this grid for seller use only

string
"" >= 1 characters
Example
Luxury Bangkok Properties
sort

Badge type and sort order for display on web component (MEMBER, BEST_VALUE, TOP_RATED, etc.)

string
""
Allowed values: RECOMMENDED PRICE_LOW_TO_HIGH PRICE_HIGH_TO_LOW ECO
Example
MEMBER
Example
{
"animate": false,
"animateDelay": 500,
"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",
"keywords": [
"bangkok",
"luxury"
],
"listIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"listType": "LIST",
"name": "Luxury Bangkok Properties",
"sort": "MEMBER"
}

Newly created curated or saved-search grid with its assigned identifier.

Media typeapplication/json

Lightweight projection of a sellable list used in listings and event payloads, containing all display and configuration fields without audit metadata

object
animate

Generate an animated GIF from multiple images instead of a static grid (requires at least 2 images)

boolean
animateDelay

Delay between animation frames in milliseconds; -1 disables animation

integer format: int32
default: -1
createdDate

Datetime this record was first created

string | null format: date-time
""
customizationIdentifier
required

Customization configuration identifier

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

Localized title and description of grid (at least one entry in English required)

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
""
displayType
required

Initial display format on the front-facing card (NATIVE or alternative format)

string
default: NATIVE
Allowed values: NATIVE HOTEL ROOM
id

Unique identifier for this record.

string format: uuid
""
keywords
required

Keywords and metadata tags for SEO and filtering

Array<string>
"" >= 1 items <= 2147483647 items
lastUpdate

Datetime this record was last updated

string | null format: date-time
""
listIdentifier
required

Inventory record identifier for the curated list, saved search, or channel

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

Type of inventory being curated (LIST, SEARCH, CHANNEL)

string
""
Allowed values: SINGLE LIST SEARCH
name
required

Descriptive name of this grid for seller use only

string
"" >= 1 characters
sellerIdentifier
required

Managing entity (account owner) identifier

string format: uuid
"" >= 1 characters
sort

Badge type and sort order for display on web component (MEMBER, BEST_VALUE, TOP_RATED, etc.)

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

Current status of the grid (ACTIVE, INACTIVE, ARCHIVED)

string
default: ACTIVE
Allowed values: ACTIVE INACTIVE REMOVED
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
""
key
additional properties
""
Example

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