Skip to main content
POST
Check how a flight refund or void ended
Report where one refund or void has got to, named by the operation handle a commit (or POST /v1/refund_commit) returned. Read-only. state is the platform view, keep polling while it is in_progress or attention_required, both of which mean the operation is still alive; attention_required means a Jinko agent has it, and park_deadline says how long that lasts. operation_kind says which operation actually ran. provider is what the airline says, including what became of each ticket and EMD, an operation has done its work when every document it covers has reached a terminal state. money is where the refund itself has got to; the two move independently, so the tickets can read refunded while the money is still in flight. Do not tell a customer they have been refunded until money.vehicle_state says paid. Same auth modes as flight_refund_preview.

Authorizations

X-API-Key
string
header
required

Body

application/json
operation
string
required

The "svc_…" handle from a commit, or from POST /v1/refund_commit.

Example:

"svc_01J7ZR5Q2KME8V4T"

booking_ref
string

Jinko booking reference. Call get_booking first, then select its booked_item_id for servicing.

Minimum string length: 1
Example:

"JNK-A0AUR2"

booked_item_id
string

The booked item, from get_booking items[].booked_item_id. Preserved across exchanges. Omit only when the booking has exactly one item of the requested domain; otherwise a 409 returns items to choose from.

Pattern: ^itm_[a-z2-7]+$(?![\s\S])
Example:

"itm_aaaaaaaaaaaaafhuxsdxpbzrbfz5hm3a"

last_name
string

Required for guest lookup. A credential that owns the booking may omit it; ownership is checked by the platform.

Minimum string length: 1
Example:

"Doe"

provider_reference
string
deprecated

Deprecated: name the booking with booking_ref and booked_item_id from get_booking. Names the booking instead of booking_ref and last_name, never beside it, and needs a credential that owns the booking. Accepted until 2027-04-30; a request that sends it is answered with Deprecation and Sunset headers.

Minimum string length: 1
intent
object

Response

Where the refund or void has got to

operation
string
Example:

"svc_01J7ZR5Q2KME8V4T"

state
enum<string>

Where the cancellation has got to. in_progress — running; keep polling. attention_required — stalled on something a person at Jinko has to resolve (reason names it); keep polling, and do not report it to the customer as a failure, because the booking may already be cancelled at the supplier. succeeded and failed are terminal: the supplier outcome and the money are both settled and nothing further will change.

Available options:
in_progress,
attention_required,
succeeded,
failed
reason
string

With state: attention_required, why the operation is stalled: the value names what Jinko has to resolve, and needs nothing from the caller. With state: failed, why it ended: provider_refused (the supplier refused before changing anything), provider_did_not_apply (the supplier’s record shows it was not applied), not_sent (it ended before anything was sent to the supplier), QUOTE_EXPIRED (the quote it was committed on no longer stood), superseded or not_cancellable. Absent on a failed operation that recorded none.

Example:

"settlement_review"

message
string

A sentence about why a failed operation ended, where there is one: what the supplier’s refusal means, or that its price changed after the quote. Present only with state: failed; it never states the supplier’s figures.

Example:

"the fare rules do not allow a refund of this ticket"

park_deadline
string

When a parked operation stops waiting for Jinko and is settled or failed. Present with state: attention_required; it is how long "keep polling" lasts.

Example:

"2026-09-10T12:15:00Z"

next_run_at
string

When the platform next drives this operation by itself. Informational — polling sooner does not make it run sooner.

Example:

"2026-09-03T12:20:00Z"

provider
object

The airline's record. It can show the tickets refunded while the money is still moving — that is the normal middle of a refund, not a discrepancy.

money
object

The refund and where it has got to. Read vehicle_state before telling a customer they have been refunded.

operation_kind
enum<string>

Which operation ran — a refund under the fare rules (cancel) or a void of the original charge (void). The same field the preview quoted, so what was quoted and what ran compare directly.

Available options:
cancel,
void