Generate
const url = 'https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/travel-agent/report/csv';const options = { method: 'POST', headers: { 'Wink-Version': '2.0', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: 'null'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.wink.travel/api/managing-entity/d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69/travel-agent/report/csv \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Wink-Version: 2.0' \ --data nullGenerates a CSV report filtered to show only bookings associated with the specified managing entity (travel agent). The report excludes failed bookings.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”Unique identifier for the travel agent managing entity
Example
d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69Header Parameters
Section titled “Header Parameters ”Request Body required
Section titled “Request Body required ”Report query specifying the data sources, filters, date range, and output columns for the travel agent bookings CSV report
Request payload that defines what data to export and how to format it as a CSV report
object
Name of the report for the generated CSV file
Example
booking-summaryType of data source to query from: PROPERTY (hotel inventory), USER (guest profiles), BOOKING (reservations), ACCOUNT (managing entity data)
Example
BOOKINGList of field definitions specifying which data fields to include and their display titles
Defines a single column in a generated report, mapping a display title to a JSON field path in the data object
object
Display name for the report column
Example
Property NameJSON path to the field in the data object (dot-notation)
Example
hotel.nameExample
{ "title": "Property Name", "valuePath": "hotel.name"}Query state with sorting, filtering, and pagination criteria to retrieve the report data
object
Number of records to be skipped by the pager.
Example
0Number of records to take.
Example
10Descriptors used for sorting result set.
Descriptor that defines the sort direction and field for ordering a result set.
object
Descriptors used for sorting result set
Example
ascData set field to sort on
Example
hotel.nameExample
{ "dir": "asc", "field": "hotel.name"}Descriptors used for filtering result set
object
Whether to filter inclusively or exclusively
Example
andDescriptors used for filtering the result set
A single field-level filter criterion that specifies what to match and how to compare it.
object
Field name to filter on
Example
hotel.nameFilter operator to use on field
Example
startsWithValue to filter dataset against
Example
Happy ResMake filter comparison case insensitive. Default: Case sensitive
Example
trueExample
{ "field": "hotel.name", "operator": "startsWith", "value": "Happy Res", "ignoreCase": true}Example
{ "logic": "and", "filters": [ { "field": "hotel.name", "operator": "startsWith", "value": "Happy Res", "ignoreCase": true } ]}Descriptors to group result sets by.
Descriptor that defines how a result set should be grouped, including sort direction and optional aggregate calculations.
object
Field to group data set on
Example
createdDateGroup sort direction
Example
ascPrimitive aggregate data points
Descriptor that defines an aggregate function to apply to a specific field in a grouped result set.
object
Field to run aggregate function on
Example
hotel.bookingsAggregate function
Example
countExample
{ "field": "hotel.bookings", "aggregate": "count"}Example
{ "field": "createdDate", "dir": "asc", "aggregates": [ { "field": "hotel.bookings", "aggregate": "count" } ]}Example
{ "skip": 0, "take": 10, "sort": [ { "dir": "asc", "field": "hotel.name" } ], "filter": { "logic": "and", "filters": [ { "field": "hotel.name", "operator": "startsWith", "value": "Happy Res", "ignoreCase": true } ] }, "group": [ { "field": "createdDate", "dir": "asc", "aggregates": [ { "field": "hotel.bookings", "aggregate": "count" } ] } ]}Example
{ "reportName": "booking-summary", "reportDataType": "BOOKING", "fieldNames": [ { "title": "Property Name", "valuePath": "hotel.name" } ], "state": { "skip": 0, "take": 10, "sort": [ { "dir": "asc", "field": "hotel.name" } ], "filter": { "logic": "and", "filters": [ { "field": "hotel.name", "operator": "startsWith", "value": "Happy Res", "ignoreCase": true } ] }, "group": [ { "field": "createdDate", "dir": "asc", "aggregates": [ { "field": "hotel.bookings", "aggregate": "count" } ] } ] }}Responses
Section titled “ Responses ”CSV report generated successfully and returned as a file download
Bad Request — missing or invalid request parameter or body
object
object
Example
Unauthorized — authentication is required or the session has expired
object
object
Example
Forbidden — authenticated but lacking the required permission or scope
object
object
Example
Not Found — the requested resource does not exist
object
object
Example
Method Not Allowed — the HTTP verb is not supported on this endpoint
object
object
Example
Unsupported Media Type — use application/json
object
object
Example
Internal Server Error — an unexpected failure occurred on the server
object
object
Example
Service Unavailable — a downstream dependency is unreachable