Post-booking

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.

post/v1/flight_refund_status

Request

  • Base URL
    https://api.gojinko.com
  • URL
    https://api.gojinko.com/v1/flight_refund_status
  • Auth
    • API key in header X-API-Key
    • or HTTP bearer

Request body

booking_refstring

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

booked_item_idstring

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.

last_namestring

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

provider_referencestring

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.

operationstring required

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

Example request

{
  "booking_ref": "JNK-A0AUR2",
  "last_name": "Doe",
  "operation": "svc_01J7ZR5Q2KME8V4T"
}

Response

Where the refund or void has got to

operationstring
state'in_progress' | 'attention_required' | 'succeeded' | 'failed'

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.

reasonstring

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.

messagestring

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.

park_deadlinestring

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.

next_run_atstring

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

operation_kind'cancel' | 'void'

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.

Example response

{
  "operation": "svc_01J7ZR5Q2KME8V4T",
  "reason": "settlement_review",
  "message": "the fare rules do not allow a refund of this ticket",
  "park_deadline": "2026-09-10T12:15:00Z",
  "next_run_at": "2026-09-03T12:20:00Z",
  "provider": {
    "state": "cancelled",
    "references": {
      "cancellation_reference": "cxl_2f90a1c3"
    },
    "documents": [
      {
        "number": "0012345678901",
        "state": "ACTIVE"
      }
    ]
  },
  "money": {
    "value": 41250,
    "currency": "USD",
    "decimal_places": 2,
    "display": "USD 412.50",
    "amount_money": {
      "value": 41250,
      "currency": "USD",
      "decimal_places": 2,
      "display": "USD 412.50"
    },
    "direction": "refund",
    "vehicle_state": "paid",
    "stripe_reference": "re_3UBIxK2eZvKYlo2C"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.