---
title: "Incremental poll for search results (BETA)"
method: POST
path: "/shopping/incrementalpolls"
tags: ["Shopping"]
---

# Incremental poll for search results (BETA)

`POST /shopping/incrementalpolls`

A `IncrementalPollResponse` will be returned, given a `IncrementalPollRequest` including a `requestId`, and zero or more `flightKey` values corresponding to zero or more selected flights from previous `IncrementalPollResponse` if applicable.

Unlike regular poll above, incremental poll returns results based on flights previously selected by client. It can provide a better experience for the client by making incremental choices.

Before the `IncrementalPollResponse` of entire `Trip`, which is a `Trip` that includes all `Flight` records, is returned,

- `segmentGroups` will be empty, because it is not ready for booking.
- `prices` will be the lowest of all `Trip` records matching the selected `Flight` records.

>
> For example, to search for a round-trip, in other words, a `Trip` of an departure `Flight` and a return `Flight`,
> 
> - First call to this endpoint without any `flightKey` would result in a list of `Trip` records with only an outbound `Flight` in each.
>
> - Secong call to this endpoint with the `flightKey` of a selected outbound `Flight`, would result in a list of `Trip` records with both `Flight` records in each, which forms a round-trip.
>

Corresponding response status code indicates whether another poll is neccessary until results are returned.

## Request body

- IncrementalPollRequest — todo
  - `requestId` string, required — This is the request ID found in the `SearchResponse`.
  - `flightKeys` string[] — This is a list of zero or more `flightKey` values corresponding to zero or more flights selected from a trip in the previous `IncrementalPollResponse`.
  - `offset` integer — This is the offset of the results to be polled next.
  - `size` integer — This is the maximum number of results to be polled. The actual number of results might be less when there is no more results available at the moment.
  - `currency` string — Currency code of results to be polled.

## Response `200`

OK
>
> This is the last `IncrementalPollResponse` for the current `IncrementalPollRequest`. There is no more available.
>
> (If a non-existing `requestId` or `flightKey` was provided, a `IncrementalPollResponse` with empty result set will be returned.)

- IncrementalPollResponse
  - `message` string — message returned by server side if there is any

## Other responses

- `206` — Partial > > This is a `IncrementalPollResponse` for the same `IncrementalPollRequest`. There are more available.
- `400` — Bad Request > > Check if anything incorrect or missing in the given `IncrementalPollRequest`. See `message` for any error message.

## Changes

- **2026-07-14** `5e3990fa16fa` — 3 info
  - added the optional property `trips/items/prices/extended` to the response with the `200` status
  - added the optional property `trips/items/prices/extended` to the response with the `206` status
  - added the optional property `trips/items/prices/extended` to the response with the `400` status
- **2021-12-02** `798c0ab06c96` — 1 info
  - endpoint added
- **2021-07-20** `704267da2188` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/newpathfly/apis/virtual-interlining-api/changes/shopping/incrementalpolls/post.md)

---

[API](https://skmtc.dev/newpathfly/apis/virtual-interlining-api.md) · [All operations](https://skmtc.dev/newpathfly/apis/virtual-interlining-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/newpathfly/virtual-interlining-api/revisions/5e3990fa16fa/schema)
