Skip to content

Ledger transaction history

GET
/api/managing-entity/{managingEntityIdentifier}/payment/ledger/transactions
curl --request GET \
--url 'https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/payment/ledger/transactions?page=0&size=20' \
--header 'Authorization: Bearer <token>' \
--header 'Wink-Version: 2.0'

Returns a page of ledger entries for the given managing entity, ordered newest first. Entries include debits (payouts), credits (commissions/adjustments), and the associated metadata. Supports pagination via page and size parameters (defaults 0 and 20).

managingEntityIdentifier
required
string format: uuid

Managing entity identifier (UUID)

Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69
page
integer format: int32
0

Zero-based page number for pagination

Example
0
size
integer format: int32
default: 20

Number of results per page

Example
20
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

Transaction history retrieved successfully; ordered newest first. Supports pagination via page and size parameters.

Media typeapplication/json
Array<object>

Lightweight projection of a double-entry ledger record tracking all incoming and outgoing funds for a beneficiary account (hotels, affiliates, etc.).

object
accountIdentifier

Identifier of the account being credited or debited (e.g., hotel code or affiliate ID)

string format: uuid
accountName

Display name of the account

string
accountType

Accounting classification per the five-account model (ASSETS, LIABILITIES, EQUITY, INCOME, EXPENSES)

string
Allowed values: ASSETS LIABILITIES EQUITY INCOME EXPENSES
accountUsageType

Usage category for the account type (CASH, RECEIVABLE, PAYABLE, INVENTORY, CAPITAL)

string
Allowed values: CASH RECEIVABLE PAYABLE INVENTORY CAPITAL
createdDate

Datetime this record was first created

string | null format: date-time
description

Human-readable description of the transaction (e.g., ‘Sale revenue for booking WNK4ZQ7P’)

string
entry

Monetary amount of the transaction. Debits are negative values; credits are positive.

object
amount
required

Monetary amount value

number
currency
required

ISO 4217 currency code

string
>= 1 characters /^[A-Z]{3}$/
fundsType

Economic category of the funds (e.g., SALE for hotel revenue, COMMISSION for affiliate earnings, TRANSACTION_FEE for payment processing costs)

string
Allowed values: COMMISSION AFFILIATE_AGENCY_FEE SUPPLIER_AGENCY_FEE TRANSACTION_FEE FX_FEE PLATFORM_FEE SALE TRIP_PAY STRIPE_REFUND_FEE ACQUIRING_FEE
id

Unique identifier for this record.

string format: uuid
lastUpdate

Datetime this record was last updated

string | null format: date-time
metadata

Optional metadata map for domain-specific transaction context (e.g., bank fees, FX rates, reconciliation details)

object
key
additional properties
postingGroupId

Identifier shared by every entry written by the same posting, i.e. the two legs of one double-entry pair. Null on rows written before this field existed; the posting-group endpoint falls back to a documented heuristic for those.

string format: uuid
referenceIdentifier

Reference identifier linking this ledger entry to its source transaction (e.g., booking ID, withdrawal ID, deposit ID)

string format: uuid
referenceType

Type of entity referenced by referenceIdentifier (BOOKING_CONTRACT, WITHDRAWAL, DEPOSIT, TRANSFER)

string
Allowed values: BOOKING_CONTRACT DEPOSIT WITHDRAWAL TRANSFER
type

Ledger entry direction: CREDIT (incoming funds) or DEBIT (outgoing funds)

string
Allowed values: CREDIT DEBIT
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
[
{
"accountIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"accountName": "The Siam Residences, Bangkok",
"accountType": "INCOME",
"accountUsageType": "RECEIVABLE",
"createdDate": "2026-01-14T09:30:00",
"description": "Sale: The Siam Residences, Bangkok",
"entry": {
"amount": 450,
"currency": "THB"
},
"fundsType": "SALE",
"id": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"lastUpdate": "2026-01-14T09:30:00",
"metadata": {},
"postingGroupId": "7f1c9e4b-2a6d-4f83-b5e1-0c9a7d3e5f21",
"referenceIdentifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"referenceType": "BOOKING_CONTRACT",
"type": "DEBIT"
}
]

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