Polyflight terms
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
| Field | Meaning |
|---|---|
status | disabled, enabled, or purchases_suspended |
current | Latest revision whose effectiveAt has arrived |
scheduled | Latest non-superseded future revision, or null |
history | Every 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.
