Skip to content

Search deliveries

POST
/api/managing-entity/{managingEntityIdentifier}/webhook/delivery/grid
curl --request POST \
--url 'https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/webhook/delivery/grid?webhookId=b7e4c1a2-3f5d-4e8a-9c21-6f0b5d8e3a47' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Wink-Version: 2.0' \
--data '{ "filter": { "filters": [ { "field": "hotel.name", "ignoreCase": true, "operator": "startsWith", "value": "Happy Res" } ], "logic": "and" }, "group": [ { "aggregates": [ { "aggregate": "count", "field": "hotel.bookings" } ], "dir": "asc", "field": "createdDate" } ], "skip": 0, "sort": [ { "dir": "asc", "field": "hotel.name" } ], "take": 10 }'

Pages through the deliveries (event x webhook endpoint) belonging to this managing entity, optionally scoped to one webhook. Filter on status.

managingEntityIdentifier
required
string

Managing entity

Example

d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
webhookId
string

Restrict to deliveries for this webhook

Example

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

Pagination, sorting and filters (status)

Media typeapplication/json

Pagination, sorting, filtering, and grouping state used to query a paged result set.

object
filter

Descriptors used for filtering result set

object
filters

Descriptors used for filtering the result set

Array<object>

A single field-level filter criterion that specifies what to match and how to compare it.

object
field
required

Field name to filter on

string
>= 1 characters

Example

hotel.name
ignoreCase

Make filter comparison case insensitive. Default: Case sensitive

boolean

Example

true
operator
required

Filter operator to use on field

string
Allowed values: neq eq contains doesnotcontain isnull isnotnull isempty isnotempty startswith endswith gte lte gt lt in nin

Example

startsWith
value

Value to filter dataset against

Example

Happy Res

Example

{
"field": "hotel.name",
"ignoreCase": true,
"operator": "startsWith",
"value": "Happy Res"
}
logic

Whether to filter inclusively or exclusively

string
Allowed values: and or

Example

and

Example

{
"filters": [
{
"field": "hotel.name",
"ignoreCase": true,
"operator": "startsWith",
"value": "Happy Res"
}
],
"logic": "and"
}
group

Descriptors to group result sets by.

Array<object>

Descriptor that defines how a result set should be grouped, including sort direction and optional aggregate calculations.

object
aggregates

Primitive aggregate data points

Array<object>

Descriptor that defines an aggregate function to apply to a specific field in a grouped result set.

object
aggregate

Aggregate function

string
Allowed values: count sum average min max

Example

count
field

Field to run aggregate function on

string

Example

hotel.bookings

Example

{
"aggregate": "count",
"field": "hotel.bookings"
}
dir

Group sort direction

string
Allowed values: asc desc

Example

asc
field

Field to group data set on

string

Example

createdDate

Example

{
"aggregates": [
{
"aggregate": "count",
"field": "hotel.bookings"
}
],
"dir": "asc",
"field": "createdDate"
}
skip

Number of records to be skipped by the pager.

integer format: int32
0

Example

0
sort

Descriptors used for sorting result set.

Array<object>

Descriptor that defines the sort direction and field for ordering a result set.

object
dir

Descriptors used for sorting result set

string
Allowed values: asc desc

Example

asc
field

Data set field to sort on

string

Example

hotel.name

Example

{
"dir": "asc",
"field": "hotel.name"
}
take

Number of records to take.

integer format: int32
default: 30 >= 1 <= 180

Example

10

Example

{
"filter": {
"filters": [
{
"field": "hotel.name",
"ignoreCase": true,
"operator": "startsWith",
"value": "Happy Res"
}
],
"logic": "and"
},
"group": [
{
"aggregates": [
{
"aggregate": "count",
"field": "hotel.bookings"
}
],
"dir": "asc",
"field": "createdDate"
}
],
"skip": 0,
"sort": [
{
"dir": "asc",
"field": "hotel.name"
}
],
"take": 10
}

Page of deliveries

Media typeapplication/json

Owned pagination envelope: a page of content plus flat page metadata.

object
content

The elements on this page.

Array<object>

One delivery of an event to one webhook endpoint, with its attempt history.

object
attemptCount

Attempts made so far.

integer format: int32
attempts

Attempt history, oldest first.

Array<object>

One HTTP attempt of a delivery.

object
at

When the attempt was made.

string format: date-time
attempt

1-based attempt number.

integer format: int32
durationMs

Round-trip time in milliseconds.

integer format: int64
error

Transport error, if the request never completed.

string
httpStatus

HTTP status returned, null when the request never completed.

integer format: int32
responseSnippet

First 4 KB of the response body, if any.

string
createdDate

When the delivery was created.

string format: date-time
eventId

The event delivered.

string format: uuid
id

Delivery identifier (also sent as Wink-Delivery-Id).

string format: uuid
lastHttpStatus

HTTP status of the last attempt.

integer format: int32
lastUpdate

When the delivery last changed.

string format: date-time
nextAttemptAt

When the next attempt is due, if any.

string format: date-time
ownerIdentifier

Owning managing entity.

string format: uuid
status

Delivery status.

string
Allowed values: PENDING RETRYING SUCCEEDED DEAD CANCELLED
type

Event type key.

string
url

Endpoint URL at the time of delivery.

string format: uri
webhookId

The webhook subscription targeted.

string format: uuid
first

Whether this is the first page.

boolean
last

Whether this is the last page.

boolean
number

Zero-based index of this page.

integer format: int32
numberOfElements

Number of elements on this page.

integer format: int32
size

The requested page size.

integer format: int32
totalElements

Total number of elements across all pages.

integer format: int64
totalPages

Total number of pages for the current page size.

integer format: int32

Example

{
"content": [
{
"type": "booking.create"
}
],
"first": true,
"last": false,
"number": 0,
"numberOfElements": 20,
"size": 20,
"totalElements": 1234,
"totalPages": 62
}

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

Example generated

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

Example generated

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

Example generated

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

Example generated

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

Example generated

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

Example generated

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

Example generated

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

Example generated

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

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}