Perk Bookings API

The Bookings API from Perk — 1 operation(s) for bookings.

Operations 1

GET /bookings List all bookings #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/perk:perk-bookings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

perk-bookings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: travelperk-api-v1 Bookings API
  version: '1.5'
servers:
- url: https://api.travelperk.com/
security:
- sec0: []
tags:
- name: Bookings
paths:
  /bookings:
    get:
      summary: List all bookings
      description: Bookings listed in descending order of `modified` time.
      operationId: list-all-bookings
      parameters:
      - name: modified_gte
        in: query
        description: Find Bookings with modified greater than or equal to this time
        schema:
          type: string
          format: date
      - name: modified_lt
        in: query
        description: Find Bookings with modified less than this time
        schema:
          type: string
          format: date
      - name: status
        in: query
        description: Filter for Bookings with this status
        schema:
          type: string
      - name: type
        in: query
        description: Filter for Bookings of this type
        schema:
          type: string
      - name: trip_id
        in: query
        description: Filter for Bookings in the Trip with this id. A comma separated list of multiple ids is accepted.
        schema:
          type: string
      - name: offset
        in: query
        description: Pagination offet index, 0 based
        schema:
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: Pagination maximum number of elements to return. See more info in [Pagination](reference#pagination-1)
        schema:
          type: integer
          format: int32
          default: 10
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"bookings\":[\n    {\n      \"id\":\"71\",\n      \"start\":\"2021-03-06T00:00:00+00:00\",\n      \"end\":\"2021-03-07T00:00:00+00:00\",\n      \"type\":\"hotel\",\n      \"status\":\"ticketed\",\n      \"modified\":\"2021-01-04T11:11:20.714987+00:00\",\n      \"trip_id\":\"51\",\n      \"references\":[\n        {\n          \"type\":\"confirmation_number\",\n          \"value\":\"4636\"\n        }\n      ],\n      \"location\":{\n        \"latitude\":\"59.5468062\",\n        \"longitude\":\"113.9913155\",\n        \"iata_code\":null,\n        \"name\": \"name\",\n        \"address\": \"address\"\n      },\n      \"drop_off_location\": null,\n      \"legs\":null\n    },\n    {\n      \"id\":\"73\",\n      \"start\":\"2021-03-06T00:00:00+00:00\",\n      \"end\":\"2021-03-09T00:00:00+00:00\",\n      \"type\":\"car\",\n      \"status\":\"ticketed\",\n      \"modified\":\"2021-01-03T11:11:20.714987+00:00\",\n      \"trip_id\":\"51\",\n      \"references\":[\n        {\n          \"type\":\"voucher_code\",\n          \"value\":\"voucher_12\"\n        },\n        {\n          \"type\":\"confirmation_number\",\n          \"value\":\"cn_17\"\n        }\n      ],\n      \"location\":{\n        \"latitude\":-56.0,\n        \"longitude\":-62.0,\n        \"iata_code\":null,\n        \"name\": \"name\",\n        \"address\": \"address\"\n      },\n      \"drop_off_location\":{\n        \"latitude\":-66.0,\n        \"longitude\":-72.0,\n        \"iata_code\":null,\n        \"name\": \"name\",\n        \"address\": \"address\"\n      },\n      \"legs\":null\n    },\n    {\n      \"id\":\"70\",\n      \"start\":\"2021-03-06T00:00:00+00:00\",\n      \"end\":\"2021-03-07T00:00:00+00:00\",\n      \"type\":\"flight\",\n      \"status\":\"ticketed\",\n      \"modified\":\"2021-01-02T11:11:20.714987+00:00\",\n      \"trip_id\":\"51\",\n      \"references\":[\n        {\n          \"type\":\"PNR\",\n          \"value\":\"HNTCEBSMPO\"\n        }\n      ],\n      \"location\":null,\n      \"drop_off_location\": null,\n      \"legs\":[\n        {\n          \"segments\":[\n            {\n              \"origin\":{\n                \"location\":{\n                  \"latitude\":\"85.5975436\",\n                  \"longitude\":\"18.7959996\",\n                  \"iata_code\":\"UYM\",\n                  \"name\": \"name\",\n        \t\t\t\t\t\"address\": null\n                },\n                \"time\":\"2021-03-06T00:00:00+01:00\"\n              },\n              \"destination\":{\n                \"location\":{\n                  \"latitude\":\"-54.3854772\",\n                  \"longitude\":\"81.6402173\",\n                  \"iata_code\":\"EKD\",\n                  \"name\": \"name\",\n        \t\t\t\t\t\"address\": null\n                },\n                \"time\":\"2021-03-07T12:00:00+01:00\"\n              },\n              \"external_id\":\"XX1234\"\n            },\n            {\n              \"origin\":{\n                \"location\":{\n                  \"latitude\":\"67.1291014\",\n                  \"longitude\":\"21.1347543\",\n                  \"iata_code\":\"IWP\",\n                  \"name\": \"name\",\n        \t\t\t\t\t\"address\": null\n                },\n                \"time\":\"2021-03-08T00:00:00+01:00\"\n              },\n              \"destination\":{\n                \"location\":{\n                  \"latitude\":\"8.6677113\",\n                  \"longitude\":\"-13.9691879\",\n                  \"iata_code\":\"TMQ\",\n                  \"name\": \"name\",\n        \t\t\t\t\t\"address\": null\n                },\n                \"time\":\"2021-03-09T12:00:00+01:00\"\n              },\n              \"external_id\":\"XX1234\"\n            }\n          ]\n        },\n        {\n          \"segments\":[\n            {\n              \"origin\":{\n                \"location\":{\n                  \"latitude\":\"23.5841460\",\n                  \"longitude\":\"-141.9148137\",\n                  \"iata_code\":\"UJH\",\n                  \"name\": \"name\",\n        \t\t\t\t\t\"address\": null\n                },\n                \"time\":\"2021-03-10T12:00:00+01:00\"\n              },\n              \"destination\":{\n                \"location\":{\n                  \"latitude\":\"-6.0933315\",\n                  \"longitude\":\"-7.6775088\",\n                  \"iata_code\":\"ZVO\",\n                  \"name\": \"name\",\n        \t\t\t\t\t\"address\": null\n                },\n                \"time\":\"2021-03-11T00:00:00+01:00\"\n              },\n              \"external_id\":\"XX1234\"\n            },\n            {\n              \"origin\":{\n                \"location\":{\n                  \"latitude\":\"78.4132615\",\n                  \"longitude\":\"-156.7342795\",\n                  \"iata_code\":\"OJR\",\n                  \"name\": \"name\",\n        \t\t\t\t\t\"address\": null\n                },\n                \"time\":\"2021-03-12T12:00:00+01:00\"\n              },\n              \"destination\":{\n                \"location\":{\n                  \"latitude\":\"-44.6617225\",\n                  \"longitude\":\"163.2773819\",\n                  \"iata_code\":\"YNX\",\n                  \"name\": \"name\",\n        \t\t\t\t\t\"address\": null\n                },\n                \"time\":\"2021-03-13T00:00:00+01:00\"\n              },\n              \"external_id\":\"XX1234\"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      \"id\":\"72\",\n      \"start\":\"2021-03-06T00:00:00+00:00\",\n      \"end\":\"2021-03-07T00:00:00+00:00\",\n      \"type\":\"train\",\n      \"status\":\"ticketed\",\n      \"modified\":\"2021-01-01T11:11:20.714987+00:00\",\n      \"trip_id\":\"51\",\n      \"references\":[\n        {\n          \"type\":\"ticket_collection_reference\",\n          \"value\":\"PMXFIQ\"\n        }\n      ],\n      \"location\":null,\n      \"drop_off_location\": null,\n      \"legs\":[\n        {\n          \"segments\":[\n            {\n              \"origin\":{\n                \"location\":{\n                  \"latitude\":\"-73.000000000\",\n                  \"longitude\":\"-26.000000000\",\n                  \"iata_code\":null,\n                  \"name\": \"name\",\n        \t\t\t\t\t\"address\": \"address\"\n                },\n                \"time\":\"2021-03-06T00:00:00+00:00\"\n              },\n              \"destination\":{\n                \"location\":{\n                  \"latitude\":\"-30.000000000\",\n                  \"longitude\":\"83.000000000\",\n                  \"iata_code\":null,\n                  \"name\": \"name\",\n        \t\t\t\t\t\"address\": \"address\"\n                },\n                \"time\":\"2021-03-09T00:00:00+00:00\"\n              },\n              \"external_id\":\"XX1234\"\n            }\n          ]\n        }\n      ]\n    }\n  ],\n  \"limit\":10,\n  \"offset\":0,\n  \"total\":4\n}"
              schema:
                type: object
                properties:
                  bookings:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          example: '71'
                        start:
                          type: string
                          example: '2021-03-06T00:00:00+00:00'
                        end:
                          type: string
                          example: '2021-03-07T00:00:00+00:00'
                        type:
                          type: string
                          example: hotel
                        status:
                          type: string
                          example: ticketed
                        modified:
                          type: string
                          example: '2021-01-04T11:11:20.714987+00:00'
                        trip_id:
                          type: string
                          example: '51'
                        references:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                example: confirmation_number
                              value:
                                type: string
                                example: '4636'
                        location:
                          type: object
                          properties:
                            latitude:
                              type: string
                              example: '59.5468062'
                            longitude:
                              type: string
                              example: '113.9913155'
                            iata_code: {}
                            name:
                              type: string
                              example: name
                            address:
                              type: string
                              example: address
                        drop_off_location: {}
                        legs: {}
                  limit:
                    type: integer
                    example: 10
                    default: 0
                  offset:
                    type: integer
                    example: 0
                    default: 0
                  total:
                    type: integer
                    example: 4
                    default: 0
        '400':
          description: '400'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"error\":{\n    \"type\":\"bad_request\",\n    \"errors\":[\n      {\n        \"reason\":\"The type filter must be one of: flight, hotel, train, car, other\"\n      }\n    ]\n  }\n}"
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        example: bad_request
                      errors:
                        type: array
                        items:
                          type: object
                          properties:
                            reason:
                              type: string
                              example: 'The type filter must be one of: flight, hotel, train, car, other'
      deprecated: false
      x-readme:
        code-samples:
        - language: curl
          code: "curl -i \\\n  -H 'Authorization: ApiKey 123456.abcdefghijklmnopqrstuvwxyz123456' \\\n  -H 'Api-Version: 1' \\\n  -X GET https://api.travelperk.com/bookings"
          name: cURL
        samples-languages:
        - curl
      tags:
      - Bookings
components:
  securitySchemes:
    sec0:
      type: apiKey
      in: header
      x-default: ''
      name: Authorization
      x-bearer-format: token
x-readme-fauxas: true
x-provenance:
  method: searched
  source: https://developers.perk.com/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://developers.perk.com/reference/companies-1.md
  - https://developers.perk.com/reference/delete-webhook-subscription.md
  - https://developers.perk.com/reference/download-pdf.md
  - https://developers.perk.com/reference/get-invoice.md
  - https://developers.perk.com/reference/get-subscription-details.md
  - https://developers.perk.com/reference/list-all-bookings.md
  - https://developers.perk.com/reference/list-all-suppliers.md
  - https://developers.perk.com/reference/list-all-trips.md
  - https://developers.perk.com/reference/list-all-users-1.md
  - https://developers.perk.com/reference/list-events.md
  - https://developers.perk.com/reference/list-invoice-lines-1.md
  - https://developers.perk.com/reference/list-invoice-profiles.md
  - https://developers.perk.com/reference/list-invoice.md
  - https://developers.perk.com/reference/list-webhooks.md
  - https://developers.perk.com/reference/retrieve-a-trip-by-id.md
  - https://developers.perk.com/reference/retrieve-custom-fields.md
  - https://developers.perk.com/reference/subscribe-to-event.md
  - https://developers.perk.com/reference/test-webhook.md
  - https://developers.perk.com/reference/update-subscription.md
  merge:
    pages: 19
    deduped: 18
    conflicts_kept_first: 0