Entur · Schema

RefundRequest

A request for performing a refund

CompanyPublic TransportJourney PlanningMobilityOpen DataNorwayTransitGraphQL

Properties

Name Type Description
refundOperations array A list of refund operations which will specify order line, optionally where in the product tree the change occurs, and how much money should be refunded with this change
additionalTerminalData object
includesCancelledOrderLines boolean Lets refund know that the request will include already cancelled order lines, and to handle them accordingly
View JSON Schema on GitHub

JSON Schema

entur-refund-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-refund-request-schema.json",
  "title": "RefundRequest",
  "description": "A request for performing a refund",
  "x-generated": "2026-10-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/entur-refund-partner-openapi.yml#/components/schemas/RefundRequest",
  "type": "object",
  "properties": {
    "refundOperations": {
      "type": "array",
      "description": "A list of refund operations which will specify order line, optionally where in the product tree the change occurs, and how much money should be refunded with this change",
      "items": {
        "$ref": "#/$defs/PerformRefundEntry"
      }
    },
    "additionalTerminalData": {
      "$ref": "#/$defs/TerminalRefundingData"
    },
    "includesCancelledOrderLines": {
      "type": "boolean",
      "description": "Lets refund know that the request will include already cancelled order lines, and to handle them accordingly"
    }
  },
  "required": [
    "refundOperations"
  ],
  "$defs": {
    "OrderReference": {
      "type": "object",
      "description": "Wrapper detailing a OrderReference to an instance",
      "properties": {
        "id": {
          "type": "string",
          "description": "The id of the instance"
        },
        "version": {
          "type": "integer",
          "format": "int32",
          "description": "The version of the instance"
        }
      },
      "required": [
        "id",
        "version"
      ],
      "title": "OrderReference"
    },
    "PerformRefundEntry": {
      "type": "object",
      "description": "A refund 'operation' that describes which order line, and which elements in that order line product tree that is to be refunded",
      "properties": {
        "orderLineRef": {
          "$ref": "#/$defs/OrderReference"
        },
        "refundOperations": {
          "type": "array",
          "description": "A list of identifiers for which element(s) in the order lines product tree that is to be refunded",
          "items": {
            "$ref": "#/$defs/ProductElementIdentifier"
          }
        },
        "refundRule": {
          "$ref": "#/$defs/ProductsElementWrapper",
          "description": "The refund rule that is to be used with this entry."
        }
      },
      "required": [
        "orderLineRef",
        "refundOperations"
      ],
      "title": "PerformRefundEntry"
    },
    "ProductElementIdentifier": {
      "type": "object",
      "description": "A type for depicting where an element resides in a sales package tree",
      "properties": {
        "fareStructureElementIndex": {
          "type": "integer",
          "format": "int32",
          "description": "The index of the element on the farestructure element level"
        },
        "fareproductIndex": {
          "type": "integer",
          "format": "int32",
          "description": "The index of the element on the fareproduct level"
        },
        "level": {
          "$ref": "#/$defs/ProductLevel"
        },
        "validableElementIndex": {
          "type": "integer",
          "format": "int32",
          "description": "The index of the element on the validable element level"
        }
      },
      "required": [
        "level"
      ],
      "title": "ProductElementIdentifier"
    },
    "ProductLevel": {
      "type": "string",
      "description": "The level the element resides",
      "enum": [
        "SALE_PACKAGE",
        "FARE_PRODUCT",
        "VALIDABLE_ELEMENT",
        "FARESTRUCTURE_ELEMENT"
      ]
    },
    "ProductsElementWrapper": {
      "type": "object",
      "description": "A data-wrapper for a product type",
      "properties": {
        "id": {
          "type": "string",
          "description": "The id of the product type"
        },
        "name": {
          "type": "string",
          "description": "The name of the product type"
        },
        "version": {
          "type": "string",
          "description": "The version of the product type"
        }
      },
      "required": [
        "id",
        "version"
      ],
      "title": "ProductsElementWrapper"
    },
    "TerminalRefundingData": {
      "type": "object",
      "description": "Holder for data that needs to be provided when performing a refund on an external terminal",
      "properties": {
        "additionalData": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Any extra transaction data which could be relevant can be specified as a key value map of strings. If there exists keys here that clash with specific types in this request, the fields in the request are prioritized"
        },
        "baxNumber": {
          "type": "string",
          "description": "When performing an offline refund to card terminal, the BAX-number is mandatory info"
        },
        "obfuscatedCardNumber": {
          "type": "string",
          "description": "The obfuscated value of the card number the refund was performed against"
        },
        "paymentType": {
          "type": "string",
          "description": "The type of payment method that is provided to the terminal for refunding"
        },
        "rrn": {
          "type": "string",
          "description": "Reconciliation reference number used to track an order (transaction) through different economy systems. Generated by a terminal"
        },
        "terminalId": {
          "type": "string",
          "description": "When performing an offline refund to card terminal, the terminal id is mandatory info"
        },
        "transactionConfirmedAt": {
          "type": "string",
          "format": "date-time",
          "description": "Datetime when credit transaction was completed externally by the client."
        }
      },
      "required": [
        "baxNumber",
        "obfuscatedCardNumber",
        "paymentType",
        "rrn",
        "terminalId",
        "transactionConfirmedAt"
      ],
      "title": "TerminalRefundingData"
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/entur-refund-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.