Entur Exchanging Possibilities API

The exchanging-possibilities API from Entur — 5 operation(s) for exchanging-possibilities.

Operations 5

POST /exchanging-possibilities Retrieves exchanging rules for given elements #
GET /exchanging-possibilities/fare-structure-element/{id}/{version} Retrieves exchanging rules for given elements #
GET /exchanging-possibilities/preassigned-product/{id}/{version} Retrieves exchanging rules for given elements #
GET /exchanging-possibilities/sales-package/{id}/{version} Retrieves exchanging rules for given elements #
GET /exchanging-possibilities/validable-element/{id}/{version} Retrieves exchanging rules for given elements #

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-partner-dataset-rpt-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-partner-dataset-download-job-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-partner-settlement-import-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-partner-settlement-import-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-given-consent-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-consent-crm-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-consent-base-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-given-consent-bulk-update-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-given-consent-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-consent-base-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-customer-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-temporary-customer-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-customer-post-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-customer-put-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-ecard-ownership-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-temporary-customer-post-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-result-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-quota-request-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-quota-configuration-response-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-quota-response-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reservation-response-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-quota-configuration-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-multi-stock-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-search-geo-location-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-search-authority-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-search-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-search-trip-pattern-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-collection-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-customer-input-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-search-offer-input-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-subscriber-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-extend-expiry-time-input-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-update-traveller-input-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-note-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-note-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-page-of-order-note-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-line-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-fee-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-create-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-line-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-payment-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-transaction-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-credit-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-transaction-import-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-transaction-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-terminal-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-program-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-transaction-by-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-current-level-summary-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-current-level-summary-query-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-point-period-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-customer-membership-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-employee-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-imported-employee-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-imported-employee-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-contract-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-imported-employee-merge-patch-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-entitlement-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-zonal-stop-place-distance-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-fare-zone-distance-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-fare-zone-distance-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-coordinate-distance-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-distance-calculation-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-fare-table-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-fare-table-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-version-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-version-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-purchase-window-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-purchase-window-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-purchase-window-list-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-supplement-product-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-supplement-product-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-sales-offer-package-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-sales-offer-package-publication-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-sales-offer-package-assignment-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-supplement-product-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-generic-parameter-assignment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-exchanging-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-amount-of-price-unit-product-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-capped-discount-right-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-sale-discount-right-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-netex-import-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-send-receipt-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-user-receipt-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-receipt-type-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-refund-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-refund-option-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-dry-run-refund-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-compensation-operation-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-refund-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-compensation-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-change-order-lines-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-order-line-ids-and-reservation-ids-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reserve-offers-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-add-supplement-products-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reserve-third-party-products-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reserve-third-party-products-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seating-offer-debug-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-rebooked-reservation-response-v1-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-rebooked-reservation-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reservation-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seating-offer-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reservation-line-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-reserve-specific-seats-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-map-string-string-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seq-cancel-seat-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seq-companion-for-seat-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seq-journey-query-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-seq-product-attribute-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-asset-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-booking-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-support-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-one-stop-booking-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-one-stop-booking-event-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-notification-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-post-skoleskyss-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-post-skoleskyss-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/entur/refs/heads/main/json-schema/entur-delete-skoleskyss-response-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/entur:entur-exchanging-possibilities-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

entur-exchanging-possibilities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Products Exchanging Possibilities API
  description: This API provides services to read and maintain products and fare data for public transport in Norway.
  version: 2026.10.0
servers:
- url: https://api.entur.io/products
  description: Production environment
- url: https://api.staging.entur.io/products
  description: Staging environment
- url: https://api.dev.entur.io/products
  description: Development environment
security:
- jwt: []
tags:
- name: exchanging-possibilities
paths:
  /exchanging-possibilities:
    parameters:
    - $ref: '#/components/parameters/ET-Client-Name'
    - $ref: '#/components/parameters/X-Correlation-Id'
    post:
      tags:
      - exchanging-possibilities
      summary: Retrieves exchanging rules for given elements
      operationId: exchanging-possibilities_getExchangingPossibilities
      parameters:
      - name: Accept-Language
        in: header
        description: The language code for the name and description fields.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      - name: Entur-Distribution-Channel
        in: header
        description: The id of the distribution channel.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ParameterPossibilitiesRequest'
        required: true
      responses:
        '200':
          description: Returns the resource.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExchangingAlternatives'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                type: string
        '404':
          description: Resource not found.
          content:
            application/problem+json:
              schema:
                type: string
        '409':
          description: Conflict
          content:
            application/problem+json:
              schema:
                type: string
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                type: string
      security:
      - basic_auth: []
      x-entur-permissions:
        value: product-api-access:les
  /exchanging-possibilities/fare-structure-element/{id}/{version}:
    parameters:
    - $ref: '#/components/parameters/ET-Client-Name'
    - $ref: '#/components/parameters/X-Correlation-Id'
    get:
      tags:
      - exchanging-possibilities
      summary: Retrieves exchanging rules for given elements
      operationId: exchanging-possibilities_getFSEExchangingPossibilities
      parameters:
      - name: Accept-Language
        in: header
        description: The language code for the name and description fields.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      - name: Entur-Distribution-Channel
        in: header
        description: The id of the distribution channel.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      - name: id
        in: path
        description: The id to identify a fare structure element.
        required: true
        style: simple
        explode: false
        schema:
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
      - name: version
        in: path
        description: The version of the element.
        required: true
        style: simple
        explode: false
        schema:
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
      - name: If-None-Match
        in: header
        description: Used to make conditional requests. It allows the client to provide an ETag value, and the server will process the request only if the ETag does not match the current version of the resource.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: Returns the resource.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Exchanging'
        '304':
          description: Not Modified
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                type: string
        '404':
          description: Resource not found.
          content:
            application/problem+json:
              schema:
                type: string
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                type: string
      security:
      - basic_auth: []
      x-entur-permissions:
        value: product-api-access:les
  /exchanging-possibilities/preassigned-product/{id}/{version}:
    parameters:
    - $ref: '#/components/parameters/ET-Client-Name'
    - $ref: '#/components/parameters/X-Correlation-Id'
    get:
      tags:
      - exchanging-possibilities
      summary: Retrieves exchanging rules for given elements
      operationId: exchanging-possibilities_getFPExchangingPossibilities
      parameters:
      - name: Accept-Language
        in: header
        description: The language code for the name and description fields.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      - name: Entur-Distribution-Channel
        in: header
        description: The id of the distribution channel.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      - name: id
        in: path
        description: The id to identify a product.
        required: true
        style: simple
        explode: false
        schema:
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
      - name: version
        in: path
        description: The version of the element.
        required: true
        style: simple
        explode: false
        schema:
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
      - name: If-None-Match
        in: header
        description: Used to make conditional requests. It allows the client to provide an ETag value, and the server will process the request only if the ETag does not match the current version of the resource.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: Returns the resource.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Exchanging'
        '304':
          description: Not Modified
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                type: string
        '404':
          description: Resource not found.
          content:
            application/problem+json:
              schema:
                type: string
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                type: string
      security:
      - basic_auth: []
      x-entur-permissions:
        value: product-api-access:les
  /exchanging-possibilities/sales-package/{id}/{version}:
    parameters:
    - $ref: '#/components/parameters/ET-Client-Name'
    - $ref: '#/components/parameters/X-Correlation-Id'
    get:
      tags:
      - exchanging-possibilities
      summary: Retrieves exchanging rules for given elements
      operationId: exchanging-possibilities_getSPExchangingPossibilities
      parameters:
      - name: Accept-Language
        in: header
        description: The language code for the name and description fields.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      - name: Entur-Distribution-Channel
        in: header
        description: The id of the distribution channel.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      - name: id
        in: path
        description: The unique id to identify a sales package.
        required: true
        style: simple
        explode: false
        schema:
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
      - name: version
        in: path
        description: The version of the element.
        required: true
        style: simple
        explode: false
        schema:
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
      - name: If-None-Match
        in: header
        description: Used to make conditional requests. It allows the client to provide an ETag value, and the server will process the request only if the ETag does not match the current version of the resource.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: Returns the resource.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Exchanging'
        '304':
          description: Not Modified
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                type: string
        '404':
          description: Resource not found.
          content:
            application/problem+json:
              schema:
                type: string
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                type: string
      security:
      - basic_auth: []
      x-entur-permissions:
        value: product-api-access:les
  /exchanging-possibilities/validable-element/{id}/{version}:
    parameters:
    - $ref: '#/components/parameters/ET-Client-Name'
    - $ref: '#/components/parameters/X-Correlation-Id'
    get:
      tags:
      - exchanging-possibilities
      summary: Retrieves exchanging rules for given elements
      operationId: exchanging-possibilities_getVEExchangingPossibilities
      parameters:
      - name: Accept-Language
        in: header
        description: The language code for the name and description fields.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      - name: Entur-Distribution-Channel
        in: header
        description: The id of the distribution channel.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      - name: id
        in: path
        description: The id to identify a validable element.
        required: true
        style: simple
        explode: false
        schema:
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
      - name: version
        in: path
        description: The version of the element.
        required: true
        style: simple
        explode: false
        schema:
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
      - name: If-None-Match
        in: header
        description: Used to make conditional requests. It allows the client to provide an ETag value, and the server will process the request only if the ETag does not match the current version of the resource.
        required: false
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: Returns the resource.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Exchanging'
        '304':
          description: Not Modified
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                type: string
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                type: string
        '403':
          description: Forbidden
          content:
            application/problem+json:
              schema:
                type: string
        '404':
          description: Resource not found.
          content:
            application/problem+json:
              schema:
                type: string
        '500':
          description: Internal server error.
          content:
            application/problem+json:
              schema:
                type: string
      security:
      - basic_auth: []
      x-entur-permissions:
        value: product-api-access:les
components:
  schemas:
    VersionOfObjectRef:
      required:
      - nameOfClass
      - ref
      - version
      type: object
      properties:
        nameOfClass:
          minLength: 1
          type: string
          description: Name of class.
        ref:
          minLength: 1
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
          description: The netex id reference to the object.
        version:
          type: string
          description: Version.
      description: Fare frame ref.
    Rounding:
      required:
      - changed
      - created
      - fareFrameRef
      - id
      - modification
      - nameOfClass
      - roundingMethod
      - status
      - version
      type: object
      properties:
        changed:
          type: string
          description: Changed datetime.
          readOnly: true
        compatibleWithVersionRef:
          type: string
          description: Compatible with version.
        created:
          type: string
          description: Created datetime.
          readOnly: true
        derivedFromVersionRef:
          type: string
          description: Derived from version.
        description:
          type: array
          description: Description.
          items:
            $ref: '#/components/schemas/TextInLanguage'
        fareFrameRef:
          $ref: '#/components/schemas/VersionOfObjectRef'
        id:
          minLength: 1
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
          description: Id.
          examples:
          - NSB:Rounding:Ordinary
        modification:
          type: string
          description: Modification status.
          readOnly: true
          enum:
          - NEW
          - REVISE
          - DELETE
          examples:
          - NEW
        name:
          type: array
          description: Name.
          items:
            $ref: '#/components/schemas/TextInLanguage'
        nameOfClass:
          type: string
          description: Name of class.
          readOnly: true
          examples:
          - Rounding
        roundingMethod:
          type: string
          description: Type of rounding.
          enum:
          - NONE
          - DOWN
          - UP
          - SPLIT
          - STEP_TABLE
          - FIVE
          - NINE
          - TEN
          - FORTY_NINE
        roundingModulus:
          type: number
          description: Amount by which rounding is to be quantised, i.e. results should be quantised to nearest whole multiple of this value.
          format: double
        status:
          type: string
          description: Rounding status.
          readOnly: true
          enum:
          - DRAFT
          - PROPOSED
          - VERSIONED
          - DEPRECATED
          examples:
          - DRAFT
        version:
          minLength: 1
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
          description: Rounding version.
          examples:
          - NSB:Version:V1
      description: A description of how prices are rounded post calculation
      deprecated: true
    ParameterPossibilitiesRequest:
      type: object
      properties:
        fareStructureElements:
          type: array
          description: Fare structure elements the user wants to retrieve the parameter alternatives for.
          items:
            $ref: '#/components/schemas/IdAndVersion'
        preassignedFareProducts:
          type: array
          description: Preassigned products the user wants to retrieve the parameter alternatives for.
          items:
            $ref: '#/components/schemas/IdAndVersion'
        salesPackages:
          type: array
          description: Sales packages the user wants to retrieve the parameter alternatives for.
          items:
            $ref: '#/components/schemas/IdAndVersion'
        validableElements:
          type: array
          description: Validable elements the user wants to retrieve the parameter alternatives for.
          items:
            $ref: '#/components/schemas/IdAndVersion'
      description: Request for retrieving refunding alternatives for elements.
    IdAndVersion:
      required:
      - id
      - version
      type: object
      properties:
        id:
          minLength: 1
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
          description: ID of the element.
        version:
          minLength: 1
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
          description: Version of the element.
      description: Describes the ID and version of an element.
    ExchangingAlternatives:
      required:
      - exchangingOptions
      - ref
      type: object
      properties:
        exchangingOptions:
          type: array
          description: Exchanging alternatives for this element.
          items:
            $ref: '#/components/schemas/Exchanging'
        ref:
          $ref: '#/components/schemas/IdAndVersion'
      description: Exchanging alternatives for an element.
    TextInLanguage:
      required:
      - lang
      - value
      type: object
      properties:
        lang:
          minLength: 1
          type: string
          description: Language code.
          examples:
          - nob
        value:
          minLength: 1
          type: string
          description: The text.
      description: Text in a specific language.
    FarePrice:
      required:
      - changed
      - created
      - fareFrameRef
      - id
      - modification
      - nameOfClass
      - status
      type: object
      properties:
        amount:
          type: string
          description: Amount
          examples:
          - '164.0'
        canBeCumulative:
          type: boolean
          description: canBeCumulative.
          examples:
          - true
        changed:
          type: string
          description: Changed datetime.
          readOnly: true
        compatibleWithVersionRef:
          type: string
          description: Compatible with version.
        created:
          type: string
          description: Created datetime.
          readOnly: true
        currency:
          type: string
          description: Currency.
          examples:
          - NOK
        derivedFromVersionRef:
          type: string
          description: Derived from version.
        discountPercentageUsed:
          maximum: 100
          minimum: -100
          type: integer
          description: discountPercentageUsed.
          format: int32
          examples:
          - 5
        fareFrameRef:
          $ref: '#/components/schemas/VersionOfObjectRef'
        id:
          minLength: 1
          type: string
          description: Id.
          examples:
          - NSB:FarePrice:1005TEN
        isAllowed:
          type: boolean
          description: isAllowed.
          examples:
          - true
        limitingRule:
          $ref: '#/components/schemas/LimitingRule'
        modification:
          type: string
          description: Modification status.
          readOnly: true
          enum:
          - NEW
          - REVISE
          - DELETE
          examples:
          - NEW
        name:
          type: array
          description: Name.
          items:
            $ref: '#/components/schemas/TextInLanguage'
        nameOfClass:
          type: string
          description: Name of class.
          readOnly: true
          examples:
          - FarePrice
        ranking:
          type: integer
          description: Ranking.
          format: int32
          examples:
          - 1
        rounding:
          $ref: '#/components/schemas/Rounding'
        roundingRef:
          $ref: '#/components/schemas/VersionOfObjectRef'
        status:
          type: string
          description: Status.
          readOnly: true
          enum:
          - DRAFT
          - PROPOSED
          - VERSIONED
          - DEPRECATED
          examples:
          - DRAFT
        vatRegisterGroup:
          type: string
          description: vatRegisterGroup.
          enum:
          - EXCEPTION_FROM_VAT
          - GENERAL_VAT
          - FOOD_VAT
          - TRANSPORT_AND_TICKETS_VAT
          examples:
          - TRANSPORT_AND_TICKETS_VAT
        version:
          type: string
          description: Version.
          readOnly: true
          examples:
          - NSB:Version:V1
      description: A description of the price and factor for a set fare
    Exchanging:
      required:
      - changed
      - created
      - fareFrameRef
      - id
      - modification
      - nameOfClass
      - status
      type: object
      properties:
        allowed:
          type: string
          description: Allowed.
          enum:
          - NONE
          - PARTIAL
          - FULL
          examples:
          - FULL
        canChangeClass:
          type: boolean
          description: Whether user can change class.
        changed:
          type: string
          description: Changed datetime.
        compatibleWithVersionRef:
          type: string
          description: Compatible with version.
        created:
          type: string
          description: Created datetime.
        derivedFromVersionRef:
          type: string
          description: Derived from version.
        description:
          type: array
          description: Description represented in different languages. Language codes are ISO-639.
          items:
            $ref: '#/components/schemas/TextInLanguage'
        exchangeableFromAnyTime:
          type: boolean
          description: Can be exchanged or refunded from any point after purchase.
        exchangeableFromDuration:
          type: string
          description: Duration to start of period before (negative) or after (positive) the trigger point resellWhen (i.e. either BEFORE_START_OF_VALIDITY_PERIOD or BEFORE_FIRST_USE) or that ticket may be exchanged or refunded.
          examples:
          - PT24H
        exchangeableTo:
          type: string
          description: Type of exchange allowed.
          enum:
          - ANY_PRODUCT
          - SAME_PRODUCT_SAME_DAY
          - SAME_PRODUCT_ANY_DAY
          - UPGRADE_TO_STANDARD_FARE
          - SPECIFIED_PRODUCTS
        exchangeableUntilAnyTime:
          type: boolean
          description: Can be exchanged or refunded until any point after purchase.
        exchangeableUntilDuration:
          type: string
          description: Duration to end of period before (negative) or after ( positive) the trigger point (i.e. either BEFORE_START_OF_VALIDITY_PERIOD or BEFORE_FIRST_USE) that ticket may be exchanged or refunded.
          examples:
          - PT24H
        fareFrameRef:
          $ref: '#/components/schemas/VersionOfObjectRef'
        fareTableRefs:
          type: array
          description: References for associated fare tables.
          items:
            $ref: '#/components/schemas/VersionOfObjectRef'
        hasFee:
          type: boolean
          description: Has fee.
        id:
          minLength: 1
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
          description: Id.
          examples:
          - NSB:Exchanging:MiniFlex
        limitingRule:
          $ref: '#/components/schemas/LimitingRule'
        limitingRuleRef:
          $ref: '#/components/schemas/VersionOfObjectRef'
        modification:
          type: string
          description: Modification status.
          enum:
          - NEW
          - REVISE
          - DELETE
          examples:
          - NEW
        name:
          type: array
          description: Name represented in different languages. Language codes are ISO-639.
          items:
            $ref: '#/components/schemas/TextInLanguage'
        nameOfClass:
          type: string
          description: Name of class.
          examples:
          - Exchanging
        numberOfExchangesAllowed:
          type: integer
          description: Number of times a ticket may be exchanged.
          format: int32
        onlyAtCertainDistributionPoints:
          type: boolean
          description: Whether distribution is restricted to certain points.
        prices:
          type: array
          description: Prices in different currencies for the exchanging rule.
          items:
            $ref: '#/components/schemas/FarePrice'
        refundBasis:
          type: string
          description: Basis on which refund is made. See allowed values below.
          enum:
          - PER_OFFER
          - PER_PERSON
          examples:
          - PER_OFFER
        resellWhen:
          type: string
          description: Event marking when the exchangeable status of the ticket changes.
          enum:
          - NEVER
          - BEFORE_START_OF_VALIDITY_PERIOD
          - AFTER_START_OF_VALIDITY_PERIOD
          - AFTER_END_OF_VALIDITY_PERIOD
          - BEFORE_FIRST_USE
          - AFTER_FIRST_USE
          - BEFORE_VALIDATION
          - AFTER_VALIDATION
          - AFTER_PURCHASE
          examples:
          - NEVER
        specifiedProducts:
          type: array
          description: Reference to the product IDs where exchanging to is allowed. Only use this in combination with 'exchangeableTo.SPECIFIED_PRODUCTS'
          items:
            type: string
        status:
          type: string
          description: Exchanging status.
          enum:
          - DRAFT
          - PROPOSED
          - VERSIONED
          - DEPRECATED
          examples:
          - DRAFT
        toFareClass:
          type: string
          description: Fare class to which can be exchanged.
          enum:
          - FIRST_CLASS
          - SECOND_CLASS
          - THIRD_CLASS
          - ECONOMY_CLASS
          - BUSINESS_CLASS
          - TURISTA
          - PREFERENTE
          - STANDARD_CLASS
          - PREMIUM_CLASS
          - ANY
          - UNKNOWN
        unusedTicketsOnly:
          type: boolean
          description: Unused tickets only.
        version:
          minLength: 1
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
          description: Exchanging version.
          examples:
          - NSB:Version:V1
      description: Exchanging
    LimitingRule:
      required:
      - changed
      - created
      - fareFrameRef
      - id
      - modification
      - nameOfClass
      - status
      type: object
      properties:
        canBeCumulative:
          type: boolean
          description: CanBeCumulative.
        changed:
          type: string
          description: Changed datetime.
          readOnly: true
        compatibleWithVersionRef:
          type: string
          description: Compatible with version.
        created:
          type: string
          description: Created datetime.
          readOnly: true
        derivedFromVersionRef:
          type: string
          description: Derived from version.
        description:
          type: array
          description: Description.
          items:
            $ref: '#/components/schemas/TextInLanguage'
        discountAsPercentage:
          type: number
          description: DiscountAsPercentage.
          format: float
        discountAsValue:
          type: number
          description: DiscountAsValue.
          format: float
        fareFrameRef:
          $ref: '#/components/schemas/VersionOfObjectRef'
        id:
          minLength: 1
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
          description: Id.
        maximumPrice:
          type: string
          description: MaximumPrice.
          examples:
          - '164.0'
        maximumPriceAsPercentage:
          type: number
          description: MaximumPriceAsPercentage.
          format: double
        minimumLimitPrice:
          type: string
          description: MinimumLimitPrice.
          examples:
          - '164.0'
        minimumPrice:
          type: string
          description: MinimumPrice.
          examples:
          - '164.0'
        modification:
          type: string
          description: Modification status.
          readOnly: true
          enum:
          - NEW
          - REVISE
          - DELETE
          examples:
          - NEW
        name:
          type: array
          description: Name.
          items:
            $ref: '#/components/schemas/TextInLanguage'
        nameOfClass:
          type: string
          description: Name of class.
          readOnly: true
          examples:
          - LimitingRule
        status:
          type: string
          description: Status.
          readOnly: true
          enum:
          - DRAFT
          - PROPOSED
          - VERSIONED
          - DEPRECATED
          examples:
          - DRAFT
        version:
          minLength: 1
          pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$
          type: string
          description: Version.
          examples:
          - NSB:Version:V1
      description: A LimitingRule
  parameters:
    ET-Client-Name:
      name: ET-Client-Name
      in: header
      description: 'Entur Client Header.

        It is required that all consumers identify themselves by using this header.

        Entur will deploy strict rate-limiting policies on API-consumers who do not identify with a header and reserves the right to block unidentified consumers.

        The structure of ET-Client-Name should be: `<company>-<application>`.'
      required: false
      style: simple
      explode: false
      schema:
        type: string
    X-Correlation-Id:
      name: X-Correlation-Id
      in: header
      description: Correlation id
      required: false
      style: simple
      explode: false
      schema:
        type: string
  securitySchemes:
    jwt:
      type: http
      scheme: bearer
      bearerFormat: JWT