openapi: 3.2.0 info: title: Entur Partner Receipts API version: 2026.06.0 contact: name: Entur Team Salg url: https://www.entur.org email: team.salg@entur.org license: name: Proprietary termsOfService: https://developer.entur.org/pages-intro-setup-and-access description: 'Operations tagged Partner Receipts across 2 of this provider''s published API definitions: entur-receipt-partner-openapi.json, entur-receipt-partner-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.entur.io/sales description: production - url: https://api.staging.entur.io/sales description: staging - url: https://api.dev.entur.io/sales description: dev security: - jwt: [] tags: - name: Partner Receipts description: Create, send, and query receipts paths: /v1/receipts/send: parameters: - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' post: tags: - Partner Receipts summary: Send receipt description: Send a receipt. Content will be defined by order ID and version of order. Receipts can only be made for orderVersions where there been a payment or a credit. operationId: sendReceipt parameters: - name: organisationId in: query description: '' required: false style: form explode: true schema: type: integer format: int64 - name: receiptType in: query description: Overwrite receipt type if present required: false style: form explode: true schema: type: string enum: - SALE - REFUND - CANCEL - CHANGE requestBody: description: A send receipt request content: application/json: schema: $ref: '#/components/schemas/SendReceiptRequest' examples: default: value: orderId: 2H1K65IM orderVersion: 1 distribution: email: customer@example.com telephone: countryCode: '47' number: '61051910' receiptLanguage: nob serialNumber: RCP-2024-000123 copyReceipt: false required: true responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/UserReceiptResponse' examples: default: value: reference: a49f7259-7285-42ce-b7b0-e48a77fbfb39 '400': $ref: '#/components/responses/badRequest' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '409': $ref: '#/components/responses/conflict' '500': $ref: '#/components/responses/internalServerError' deprecated: false servers: - url: https://api.entur.io/sales description: production - url: https://api.staging.entur.io/sales description: staging - url: https://api.dev.entur.io/sales description: dev /v1/receipts/type: parameters: - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' get: tags: - Partner Receipts summary: Get receipt type description: Returns the type of receipt a combination of order ID and version will result in. operationId: getReceiptType parameters: - name: orderId in: query description: Filters by order ID required: true style: form explode: true schema: type: string examples: default: value: S1P87KKP - name: orderVersion in: query description: Filters by order version required: true style: form explode: true schema: type: string examples: default: value: '1' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/ReceiptTypeResponse' examples: default: value: receiptType: SALE '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' deprecated: false servers: - url: https://api.entur.io/sales description: production - url: https://api.staging.entur.io/sales description: staging - url: https://api.dev.entur.io/sales description: dev /v1/receipts/pickup-code-message/{orderId}: parameters: - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' get: tags: - Partner Receipts summary: Get pickup code message description: Get the text used for pickup code message for an order in given language to send as message to the customer. operationId: getPickupCodeMessage parameters: - name: orderId in: path description: Order id to generate pickup code message for required: true style: simple explode: false schema: type: string examples: default: value: ABDC1234 - name: orderVersion in: query description: Which version of the order that should be used to generate a summary required: false style: form explode: true schema: type: integer format: int32 examples: default: value: 1 - name: language in: query description: Desired language of the message. Currently supporting 'nob', 'nno' and 'eng' required: false style: form explode: true schema: type: string default: nob examples: default: value: nob responses: '200': description: Ok content: text/html: schema: type: string examples: default: value: '

Pickup code: AB12CD
Show this code and a valid ID when boarding.

' application/json: schema: type: string examples: default: value: 'Pickup code: AB12CD. Show this code and a valid ID when boarding.' '400': $ref: '#/components/responses/badRequest' '403': $ref: '#/components/responses/forbidden' '404': $ref: '#/components/responses/notFound' '500': $ref: '#/components/responses/internalServerError' servers: - url: https://api.entur.io/sales description: production - url: https://api.staging.entur.io/sales description: staging - url: https://api.dev.entur.io/sales description: dev components: responses: internalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ApiError' examples: default: value: timestamp: '2025-11-13T10:15:30+01:00' status: 500 title: Internal Server Error error: Internal Server Error exception: InternalServerException message: Unexpected error while rendering receipt template path: /v1/receipts/render-version badRequest: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ApiError' examples: default: value: timestamp: '2025-11-13T10:15:30+01:00' status: 400 title: Bad Request error: Bad Request exception: BAD_REQUEST message: Required parameter 'orderId' is not present. path: /v1/receipts forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiError' examples: default: value: timestamp: '2025-11-13T10:15:30+01:00' status: 403 title: Forbidden error: Forbidden exception: ForbiddenException message: The request requires higher privileges than provided by the access token. path: /v1/receipts?organisationId=1 conflict: description: Conflict content: application/json: schema: $ref: '#/components/schemas/ApiError' examples: default: value: timestamp: '2025-11-13T10:15:30+01:00' status: 409 title: Conflict error: Conflict exception: ConflictException message: Receipt with ID 1 and organisation ID 1 is disabled. path: /v1/receipts/1/versions notFound: description: Not Found content: application/json: schema: $ref: '#/components/schemas/ApiError' examples: default: value: timestamp: '2025-11-13T10:15:30+01:00' status: 404 title: Not Found error: Not Found exception: NotFoundException message: This receipt does not have any versions path: /v1/receipts/1/latest-version schemas: SendReceiptRequest: title: SendReceiptRequest required: - distribution - orderId - orderVersion type: object properties: orderId: type: string description: Order id to generate receipt examples: - '1234567890' orderVersion: type: integer description: Which version of the order that should be used to generate a receipt format: int32 examples: - 1 distribution: $ref: '#/components/schemas/Distribution' receiptLanguage: type: string description: Desired language of the receipt. Currently only supporting 'nob' and 'eng' default: nob examples: - nob serialNumber: type: string description: The desired serial number for the receipt copyReceipt: type: boolean description: Set to true when the receipt is a copy. description: Request for sending a sale receipt to a customer using one or more distribution methods examples: - orderId: 2H1K65IM orderVersion: 1 distribution: email: customer@example.com telephone: countryCode: '47' number: '61051910' receiptLanguage: nob serialNumber: RCP-2024-000123 copyReceipt: false Telephone: title: Telephone required: - countryCode - number type: object properties: countryCode: type: string description: Country code examples: - '47' number: type: string description: Phone number examples: - '61051910' description: Telephone model for distribution Distribution: title: Distribution type: object properties: email: type: string description: Email to receive receipt examples: - example@entur.org telephone: $ref: '#/components/schemas/Telephone' description: Request for sending a receipt to a customer using one or more distribution methods. Will only send email if both email and telephone are provided. To send sms, leave email as null. ReceiptTypeResponse: title: ReceiptTypeResponse type: object properties: receiptType: $ref: '#/components/schemas/ReceiptType' description: Response from a successful type query. ApiError: title: ApiError required: - error - exception - message - path - status - timestamp type: object properties: title: type: string description: Short, human-readable summary of the problem timestamp: type: string format: date-time status: type: integer format: int32 error: type: string exception: type: string message: type: string path: type: string UserReceiptResponse: title: UserReceiptResponse required: - reference type: object properties: reference: type: string description: Reference to receipt examples: - a49f7259-7285-42ce-b7b0-e48a77fbfb39 description: Response from a accepted receipt request. ReceiptType: type: string description: Type of receipt enum: - SALE - REFUND - CANCEL - CHANGE - DAY_SUMMARY examples: - SALE parameters: X-Correlation-Id: name: X-Correlation-Id in: header description: Correlation id required: false style: simple explode: false schema: type: string 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: `-`.' required: false style: simple explode: false schema: type: string securitySchemes: jwt: type: http scheme: bearer bearerFormat: JWT x-refined-from: - entur-receipt-partner-openapi.json - entur-receipt-partner-openapi.yml