OpenPoly logo
Operator Api

Polyflight terms

Read current, scheduled, and complete operator-safe Polyflight commercial terms history.

Polyflight terms

GET /api/operator/polyflight/terms
Authorization: Bearer {operator_api_key_or_staff_session}

Required scope: polyflight_terms:read.

The authenticated operator is the tenant. The route is read-only, including for a key with * scope, and returns Cache-Control: private, no-store. Operator staff can inspect terms; only authorized Polynion administrators can enable or suspend the product or schedule a terms revision.

Representative response

{
  "operatorId": 42,
  "operatorSlug": "example-air",
  "operatorName": "Example Air",
  "currencyCode": "IDR",
  "status": "enabled",
  "settlementTimezone": "Asia/Jakarta",
  "enabledAt": "2026-07-01T00:00:00.000Z",
  "current": {
    "id": "018f4f92-acde-79e3-9a11-26e38cb73582",
    "revisionNumber": 1,
    "revisionKind": "initial_enablement",
    "ticketFeeShareBps": 10000,
    "positionShareBps": 8000,
    "effectiveAt": "2026-07-01T00:00:00.000Z",
    "recordedAt": "2026-06-30T08:15:00.000Z",
    "actorAdminId": 17,
    "reason": "Initial commercial terms",
    "supersedesTermsVersionId": null,
    "supersededByTermsVersionId": null,
    "oldTerms": null,
    "newTerms": {
      "ticketFeeShareBps": 10000,
      "positionShareBps": 8000
    }
  },
  "scheduled": null,
  "history": [
    {
      "id": "018f4f92-acde-79e3-9a11-26e38cb73582",
      "revisionNumber": 1,
      "revisionKind": "initial_enablement",
      "ticketFeeShareBps": 10000,
      "positionShareBps": 8000,
      "effectiveAt": "2026-07-01T00:00:00.000Z",
      "recordedAt": "2026-06-30T08:15:00.000Z",
      "actorAdminId": 17,
      "reason": "Initial commercial terms",
      "supersedesTermsVersionId": null,
      "supersededByTermsVersionId": null,
      "oldTerms": null,
      "newTerms": {
        "ticketFeeShareBps": 10000,
        "positionShareBps": 8000
      }
    }
  ]
}

Interpret the states

FieldMeaning
statusdisabled, enabled, or purchases_suspended
currentLatest revision whose effectiveAt has arrived
scheduledLatest non-superseded future revision, or null
historyEvery revision in ascending revision order, including replaced schedules

A known operator with no Polyflight enablement returns status: "disabled", settlementTimezone: null, enabledAt: null, current: null, scheduled: null, and an empty history. A missing operator returns 404 POLYFLIGHT_TERMS_NOT_FOUND.

Revision kinds are initial_enablement, scheduled_change, and schedule_replacement. When a future schedule is replaced, the old revision remains in history; supersedesTermsVersionId and supersededByTermsVersionId show the chain.

Basis points divide by 100 to display percent: 10000 is 100% and 8000 is 80%. Terms are captured on each admitted ticket, so changing current later does not reprice historical tickets.

In the dashboard, open Polyflight → Commercial terms for current, scheduled, and historical revisions. For the allocation formulas and signed examples, see Terms, statements, and settlement. For ticket-level captured versions, use Tickets.

Playground: /api-playground/polyflight?request=polyflight-terms.

Copyright © 2026