Connect API for Transports (1.5.0)

Download OpenAPI specification:

ConnectAPI is a family of APIs that standardize integration between provider and user of the services. It is designed to be RESTful, using standard HTTP methods like GET, POST, and DELETE, and it primarily exchanges data in JSON format. ConnectAPI for transport focuses specifically on the transport services, including primarily flights, but also trains and buses.

The API definition below is designed to handle the whole lifecycle of the transport booking process, from searching for available transports to booking and cancelling them. The key functionalities of the Connect API for transport are:

  1. Searching for Transports: This endpoint lists all available transports based on the input criteria. Each transport comes with basic information like departure and arrival dates and times, prices, carrier name, etc.

  2. Retrieving Transport details: This endpoint provides a detailed description of a specific transport. It requires the ID of the transport offer as input.

  3. Checking Transport Availability: This endpoint extends the functionality above. In addition to providing transport details, it also verifies the the current status of the transport's availability. This call returns a quote ID. The quote ID is used to book the transport.

  4. Booking a Transport: This endpoint enables booking a specific transport. It requires the ID of the transport quote and customer details for a successful booking. This call returns a booking ID.

  5. Canceling a Transport booking: This endpoint cancels a specific Transport booking. It requires the booking ID to perform the cancellation.

Change History

API Version Docs Version Changes
1.0 01.07.2024 Initial version
1.1 22.01.2026 Added streamed offers endpoint, baggage offers, transport distance, fare types, price breakdown, price per pax, passenger required fields, branded fares, seats, and ticketing limit fields
1.2 16.03.2026 Added AncillaryOffer, Amenity and SeatOffer schemas. Added ancillaryOffers, includedAmenities and seatOffers to TransportConnectionOfferSegment. Extended TransportBookRequest with optional ancillaries and seats selection fields
1.3 25.03.2026 Added AncillarySelection and SeatSelection schemas. Restructured TransportBookRequest selections into nested connections[].segments[] with per-segment ancillarySelections and seatSelections
1.4 13.04.2026 Added optional frequentFlyerInfo to CommonPax for frequent flyer number pass-through on booking requests
1.5 20.04.2026 Made Contract-Id optional, added Login and Password headers as alternative identification method

Authentication

All API requests must be made over HTTPS.

Identification can be provided via either:

  • A Contract-Id header identifying the contract configuration
  • Login and Password headers for login-based authentication

The identification method should be agreed with Nezasa before integration development starts. Both methods may be provided simultaneously if required by the integration.

Heartbeat

Healthcheck endpoint

This endpoint, often known as a "health check" endpoint, is used for monitoring and assessing the status of the service. Its main function is to signal the health of the service, aiding in identifying any potential issues or service breakdowns.

TripBuilder will periodically call this endpoint to check the service's status. The response from this health check endpoint is used to assess the current condition of the service. If the service is operating correctly, the endpoint will return a positive acknowledgment, i.e. a HTTP 200 status code and a message indicating the service's health.

On the other hand, if the service is not functioning as expected, the endpoint will return an error status code and potentially additional data about the issue's nature.

This proactive health check allows for prompt detection and resolution of issues, ensuring the service's reliability and smooth functioning.

Responses

Response samples

Content type
application/json
{
  • "code": 0,
  • "details": [
    ],
  • "message": "message"
}

Search

Get a list of transport offers

Obtain a list of transport offers (flights, trains, buses, ferries, etc.) for a set of connections. The connections are defined by a departure and arrival location and periods and can be further filtered by a set of filters. It can be configured by Nezasa whether synchronous (this) or streaming endpoint will be used to search for transport offers.

Authorizations:
ApiKeyAuth
header Parameters
Contract-Id
string
Example: nicetours, 123456

An identifier of the contract to differentiate configuration, options or settings. This is one of two supported identification methods. Either provide a Contract-Id header, or provide Login and Password headers. Both may be provided simultaneously if required by the integration. The identification method should be agreed with Nezasa before development starts.

Login
string

Login identifier for supplier authentication. An alternative to the Contract-Id header. When using login-based authentication, both Login and Password headers should be provided. The identification method should be agreed with Nezasa before development starts.

Password
string <password>

Password for supplier authentication. Used together with the Login header as an alternative to the Contract-Id header. The identification method should be agreed with Nezasa before development starts.

Request Body schema: application/json
required
Array of objects (RequestTransportConnection)

A list of transport connections.

Array of objects (PaxAge)

The ages of the passengers.

object (Filters)
object (Metadata)

Responses

Request samples

Content type
application/json
{
  • "paxAges": [
    ],
  • "metadata": {
    },
  • "filters": {
    },
  • "connections": [
    ]
}

Response samples

Content type
application/json
{
  • "offers": [
    ],
  • "rawRequests": [
    ],
  • "rawResponses": [
    ]
}

Stream transport offers

Obtain a stream of transport offers (flights, trains, buses, ferries, etc.) for a set of connections. The connections are defined by a departure and arrival location and periods and can be further filtered by a set of filters. The response is streamed as server-sent events with partial results. It can be configured by Nezasa whether synchronous or streaming (this) endpoint will be used to search for transport offers.

Authorizations:
ApiKeyAuth
header Parameters
Contract-Id
string
Example: nicetours, 123456

An identifier of the contract to differentiate configuration, options or settings. This is one of two supported identification methods. Either provide a Contract-Id header, or provide Login and Password headers. Both may be provided simultaneously if required by the integration. The identification method should be agreed with Nezasa before development starts.

Login
string

Login identifier for supplier authentication. An alternative to the Contract-Id header. When using login-based authentication, both Login and Password headers should be provided. The identification method should be agreed with Nezasa before development starts.

Password
string <password>

Password for supplier authentication. Used together with the Login header as an alternative to the Contract-Id header. The identification method should be agreed with Nezasa before development starts.

Request Body schema: application/json
required
Array of objects (RequestTransportConnection)

A list of transport connections.

Array of objects (PaxAge)

The ages of the passengers.

object (Filters)
object (Metadata)

Responses

Request samples

Content type
application/json
{
  • "paxAges": [
    ],
  • "metadata": {
    },
  • "filters": {
    },
  • "connections": [
    ]
}

Response samples

Content type
application/problem+json
{
  • "message": "Customer phone number must start with a country code prefix, e.g +41.",
  • "code": "invalid_argument",
  • "rawRequests": [
    ],
  • "rawResponses": [
    ]
}

Fetches fare rules

Fetches a breakdown of price components for the given offer. Returns text.

Authorizations:
ApiKeyAuth
header Parameters
Contract-Id
string
Example: nicetours, 123456

An identifier of the contract to differentiate configuration, options or settings. This is one of two supported identification methods. Either provide a Contract-Id header, or provide Login and Password headers. Both may be provided simultaneously if required by the integration. The identification method should be agreed with Nezasa before development starts.

Login
string

Login identifier for supplier authentication. An alternative to the Contract-Id header. When using login-based authentication, both Login and Password headers should be provided. The identification method should be agreed with Nezasa before development starts.

Password
string <password>

Password for supplier authentication. Used together with the Login header as an alternative to the Contract-Id header. The identification method should be agreed with Nezasa before development starts.

Request Body schema: application/json
required
quoteId
string

The offerId of the quote returned from the availability check which rules to retrieve.

object (Metadata)

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "quoteId": "quoteId"
}

Response samples

Content type
application/json
{
  • "rawRequests": [
    ],
  • "text": "text",
  • "rawResponses": [
    ]
}

Book

Confirm or re-quote a transport offer

Confirm or re-quote one of the received offers. The offer can change due to the fact that original offer search may have employed caches. It is a necessary step before booking.

Authorizations:
ApiKeyAuth
header Parameters
Contract-Id
string
Example: nicetours, 123456

An identifier of the contract to differentiate configuration, options or settings. This is one of two supported identification methods. Either provide a Contract-Id header, or provide Login and Password headers. Both may be provided simultaneously if required by the integration. The identification method should be agreed with Nezasa before development starts.

Login
string

Login identifier for supplier authentication. An alternative to the Contract-Id header. When using login-based authentication, both Login and Password headers should be provided. The identification method should be agreed with Nezasa before development starts.

Password
string <password>

Password for supplier authentication. Used together with the Login header as an alternative to the Contract-Id header. The identification method should be agreed with Nezasa before development starts.

Request Body schema: application/json
required
offerId
string

The offerId identifying the offer from the search results.

Array of objects (PaxAge)

The ages of the passengers.

object (Metadata)

Responses

Request samples

Content type
application/json
{
  • "paxAges": [
    ],
  • "metadata": {
    },
  • "offerId": "offerId"
}

Response samples

Content type
application/json
{
  • "quote": {
    },
  • "persistedStorage": "persistedStorage",
  • "rawRequests": [
    ],
  • "rawResponses": [
    ]
}

Book a transport offer

Book one of the received offers.

Authorizations:
ApiKeyAuth
header Parameters
Contract-Id
string
Example: nicetours, 123456

An identifier of the contract to differentiate configuration, options or settings. This is one of two supported identification methods. Either provide a Contract-Id header, or provide Login and Password headers. Both may be provided simultaneously if required by the integration. The identification method should be agreed with Nezasa before development starts.

Login
string

Login identifier for supplier authentication. An alternative to the Contract-Id header. When using login-based authentication, both Login and Password headers should be provided. The identification method should be agreed with Nezasa before development starts.

Password
string <password>

Password for supplier authentication. Used together with the Login header as an alternative to the Contract-Id header. The identification method should be agreed with Nezasa before development starts.

Request Body schema: application/json
required
quoteId
string

The offerId of the quote returned from the availability check to be booked.

Array of objects (Basic representation of a pax)

A list of passenger information.

object (BillingInformation)
object (BookOptions)
persistedStorage
string

This field, sourced from the TransportAvailabilityResponse, serves as a repository for any pertinent data that need to pass across subsequent interactions. It remains unaltered by TripBuilder and is solely stored and returned in its original form.

Array of objects (TransportBookRequest_connections_inner)

Optional list of connections with per-segment ancillary and seat selections. The connectionId and segmentId reference the connection and segment from the offer returned in the Availability Check.

object (Metadata)

Responses

Request samples

Content type
application/json
{
  • "passengers": [
    ],
  • "metadata": {
    },
  • "options": {
    },
  • "persistedStorage": "persistedStorage",
  • "quoteId": "quoteId",
  • "connections": [
    ],
  • "billing": {
    }
}

Response samples

Content type
application/json
{
  • "pnrLocator": "pnrLocator",
  • "bookStatus": "BOOKED",
  • "salesPrice": {
    },
  • "rawRequests": [
    ],
  • "ticketInformation": [
    ],
  • "pnrStatus": "OPEN",
  • "bookingId": "bookingId",
  • "rawResponses": [
    ]
}

Cancel the transport booking

If a successful booking was made before, it can be cancelled using this endpoint.

Authorizations:
ApiKeyAuth
header Parameters
Contract-Id
string
Example: nicetours, 123456

An identifier of the contract to differentiate configuration, options or settings. This is one of two supported identification methods. Either provide a Contract-Id header, or provide Login and Password headers. Both may be provided simultaneously if required by the integration. The identification method should be agreed with Nezasa before development starts.

Login
string

Login identifier for supplier authentication. An alternative to the Contract-Id header. When using login-based authentication, both Login and Password headers should be provided. The identification method should be agreed with Nezasa before development starts.

Password
string <password>

Password for supplier authentication. Used together with the Login header as an alternative to the Contract-Id header. The identification method should be agreed with Nezasa before development starts.

Request Body schema: application/json
required
bookingId
string

The bookingId of the booking to be canceled.

object (CancelOptions)
object (Metadata)

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "options": {
    },
  • "bookingId": "BOOKING-123456"
}

Response samples

Content type
application/json
{
  • "cancelStatus": "CANCELLED",
  • "rawRequests": [
    ],
  • "ticketInformation": [
    ],
  • "rawResponses": [
    ]
}

Post Booking

Fetch booking details

If a successful booking was made before, it can be retrieved using this endpoint.

Authorizations:
ApiKeyAuth
header Parameters
Contract-Id
string
Example: nicetours, 123456

An identifier of the contract to differentiate configuration, options or settings. This is one of two supported identification methods. Either provide a Contract-Id header, or provide Login and Password headers. Both may be provided simultaneously if required by the integration. The identification method should be agreed with Nezasa before development starts.

Login
string

Login identifier for supplier authentication. An alternative to the Contract-Id header. When using login-based authentication, both Login and Password headers should be provided. The identification method should be agreed with Nezasa before development starts.

Password
string <password>

Password for supplier authentication. Used together with the Login header as an alternative to the Contract-Id header. The identification method should be agreed with Nezasa before development starts.

Request Body schema: application/json
required
bookingId
string

The bookingId of the booking to be retrieved.

object (Metadata)

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "bookingId": "BOOKING-123456"
}

Response samples

Content type
application/json
{
  • "pnrLocator": "pnrLocator",
  • "rawRequests": [
    ],
  • "ancillaryList": [
    ],
  • "details": {
    },
  • "ticketInformation": [
    ],
  • "pnrStatus": "OPEN",
  • "rawResponses": [
    ]
}