Entur Developer
Products V3

LocalizedString

​object[]
lang
​string · pattern: ^[a-z]{2}-[A-Z]{2}$ · required

BCP-47 language tag (e.g., 'nb-NO', 'en-GB').

Example: nb-NO
value
​string · required

The localized string value for the specified lang.

EntitlementRequired

id
​string · pattern: ^([A-Z]{3}):Entitlem… · required

The NeTEx ID of this EntitlementRequired.

Example: ENT:EntitlementRequired:SingleTicket
​object[] · required
entitlementType
​string · enum · required

The type of entitlement that is required.

Enum values:
SINGLE_TRIP
PERIOD_PASS
DAY_PASS
CARNET
fareProductRef
​string · pattern: ^([A-Z]{3}):Preassig… · required

Reference to the fare product that satisfies this entitlement.

Example: ENT:PreassignedFareProduct:SingleTrip

EntitlementRequiredListResponse

​EntitlementRequired[] · required
totalCount
​integer · required

Total number of EntitlementRequired instances.

Example: 4
page
​integer · required

Current zero-based page number.

Example: 0
size
​integer · required

Number of instances per page.

Example: 100

ProblemDetails

RFC 9457 Problem Details
type
​string · uri · required

A URI reference that identifies the problem type.

Example: https://developer.entur.org/errors/bad-request
title
​string · required

Short, human-readable summary of the problem type.

Example: Bad Request
status
​integer · int32 · required

The HTTP status code.

Example: 400
detail
​string · required

Human-readable explanation specific to this occurrence.

Example: The supplied ruleId is not a valid UUID.
instance
​string · uri

A URI reference that identifies the specific occurrence.

Example: https://api.example.com/requests/12345

EntitlementRequiredRequest

​object[] · required
entitlementType
​string · enum · required

The type of entitlement that is required.

Enum values:
SINGLE_TRIP
PERIOD_PASS
DAY_PASS
CARNET
fareProductRef
​string · pattern: ^([A-Z]{3}):Preassig… · required

Reference to the fare product that satisfies this entitlement.

Example: ENT:PreassignedFareProduct:SingleTrip

VersionStatus

string · enum
Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED

ChargingMomentType

string · enum
Enum values:
BEFORE_TRAVEL
ON_START_OF_TRAVEL
BEFORE_END_OF_TRAVEL
BEFORE_TRAVEL_THEN_ADJUST_AT_END_OF_TRAVEL
ON_START_THEN_ADJUST_AT_END_OF_TRAVEL
ON_START_THEN_ADJUST_AT_END_OF_FARE_DAY
ON_START_THEN_ADJUST_AT_END_OF_CHARGE_PERIOD
AT_END_OF_TRAVEL

Charging moment type.

Note: Currently, only BEFORE_TRAVEL is supported in Entur sales platform.

SupplementProductType

string · enum
Enum values:
SEAT_RESERVATION
BICYCLE
DOG
ANIMAL
MEAL
WIFI
EXTRA_LUGGAGE
PENALTY

The type of the supplement product. This can be used to determine which parameters are relevant for the product.

FareStructureType

string · enum
Enum values:
CAPPED_FLAT_FARE
CAPPED_POINT_TO_POINT_FARE
CAPPED_ZONAL_FARE
LINE_FLAT_FARE
NETWORK_FLAT_FARE
POINT_TO_POINT_FARE
POINT_TO_POINT_DISTANCE_FARE
STAGE_FARE

The type of fare structure. This indicates the method by which the fare is calculated, e.g. flat fare, zonal fare, point-to-point fare, etc.

ConditionsSummary

exchangeable
​boolean · required

Whether the supplement product is exchangeable.

Example: true
refundable
​boolean · required

Whether the supplement product is refundable.

Example: false
fareStructureType
​FareStructureType · enum · required

The type of fare structure. This indicates the method by which the fare is calculated, e.g. flat fare, zonal fare, point-to-point fare, etc.

Enum values:
CAPPED_FLAT_FARE
CAPPED_POINT_TO_POINT_FARE
CAPPED_ZONAL_FARE
LINE_FLAT_FARE
NETWORK_FLAT_FARE
POINT_TO_POINT_FARE
POINT_TO_POINT_DISTANCE_FARE
STAGE_FARE

VatGrpupType

string · enum
Enum values:
EXCEPTION_FROM_VAT
GENERAL_VAT
FOOD_VAT
TRANSPORT_AND_TICKETS_VAT

VAT group type. This is used to determine which VAT rate applies to a product. The VAT group type is determined by the product type and the country of sale. For example, in Norway, food products are subject to a reduced VAT rate of 15%, while other products are subject to the standard VAT rate of 25%. In this case, food products would be classified as FOOD_VAT, while other products would be classified as GENERAL_VAT.

Default: TRANSPORT_AND_TICKETS_VAT

GenericParameterAssignmentGroupingType

string · enum
Enum values:
AND
OR

How multiple GPA parameters should be combined (AND/OR)

ValidityParameters

groupingType
​GenericParameterAssignmentGroupingType · enum · required

How multiple GPA parameters should be combined (AND/OR)

Enum values:
AND
OR
validityParameterType
​string · enum · required
Enum values:
LINE
ZONE
ZONE_GROUP
STOP_PLACE
PARKING
ROUTE_SECTION
TARIFF_AUTHORITY
OPERATOR
validityParameterRefs
​string[] · required

List of references for the validity parameters

FareTableRef

A reference to a versioned FareTable that prices a supplement product. The priceable object side authors this link (mirroring products-spring), so the fare table version is required to pin the exact fare table the link resolves to.
ref
​string · pattern: ^([A-Z]{3}):FareTabl… · required

NeTEx id of the FareTable that prices this supplement product.

Example: ENT:FareTable:bike-supplement
version
​string · required

NeTEx version id of the referenced FareTable.

Example: ENT:Version:8f1b2c3d

SupplementProductRequest

​object[] · required
startDate
​string · date · required

The start date of the version.

status
​string · enum · required

Status of the supplement product. Defaults to VERSIONED.

  • DRAFT - Under construction and not ready for operational use.
  • PROPOSED - Complete but pending review and approval.
  • VERSIONED - Finalized and frozen; a new version must be created for further modifications. Remains authoritative for its validity period even after expiry.
  • DEPRECATED - Explicitly withdrawn and should not be used; indicates an active decision to retract, not a natural expiry.
Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED
chargingMomentType
​ChargingMomentType · enum · required

Charging moment type.

Note: Currently, only BEFORE_TRAVEL is supported in Entur sales platform.

Enum values:
BEFORE_TRAVEL
ON_START_OF_TRAVEL
BEFORE_END_OF_TRAVEL
BEFORE_TRAVEL_THEN_ADJUST_AT_END_OF_TRAVEL
ON_START_THEN_ADJUST_AT_END_OF_TRAVEL
ON_START_THEN_ADJUST_AT_END_OF_FARE_DAY
ON_START_THEN_ADJUST_AT_END_OF_CHARGE_PERIOD
AT_END_OF_TRAVEL
supplementProductType
​SupplementProductType · enum · required

The type of the supplement product. This can be used to determine which parameters are relevant for the product.

Enum values:
SEAT_RESERVATION
BICYCLE
DOG
ANIMAL
MEAL
WIFI
EXTRA_LUGGAGE
PENALTY
​ConditionsSummary · required
vatGroup
​VatGrpupType · enum · required

VAT group type. This is used to determine which VAT rate applies to a product. The VAT group type is determined by the product type and the country of sale. For example, in Norway, food products are subject to a reduced VAT rate of 15%, while other products are subject to the standard VAT rate of 25%. In this case, food products would be classified as FOOD_VAT, while other products would be classified as GENERAL_VAT.

Enum values:
EXCEPTION_FROM_VAT
GENERAL_VAT
FOOD_VAT
TRANSPORT_AND_TICKETS_VAT
Default: TRANSPORT_AND_TICKETS_VAT
purchaseWindowRef
​string · pattern: ^([A-Z]{3}):Purchase… · required

NeTEx ID of a PurchaseWindow instance (Product Parameters API, /v3/parameters/purchase-windows). Available values are listed in the Product Parameters API.

Example: ENT:PurchaseWindow:120days
usageValidityPeriodRef
​string · pattern: ^([A-Z]{3}):UsageVal… · required

NeTEx ID of a UsageValidityPeriod instance (limitations/usage-validity-period). Available values are listed in the Product Parameters API.

Not yet implemented: this endpoint currently accepts but does not persist or return this field.

Example: ENT:UsageValidityPeriod:DuringTravel
entitlementRequiredRefs
​string[] · minItems: 1 · required

List of NeTEx IDs of EntitlementRequired instances (limitations/entitlement-required). Available values are listed in the Product Parameters API.

Not yet implemented: this endpoint currently accepts but does not persist or return this field.

​ValidityParameters[] · required

List of validity parameters. The specified parameter tells where the supplement product is valid. This can be lines, zones, stops etc.

Not yet implemented: this endpoint currently accepts but does not persist or return this field.

privateCodes
​string[]

Optional external system identifiers.

Default: []
ownerOrganisationId
​integer · int64 · min: 1

Internal id of the organisation that owns this element. Omit it to use the organisation in the access token, which is what a caller acting for itself should do. Supplying a different organisation requires permission to act on behalf of that organisation.

​object[]
endDate
​string · date

The end date of the version (optional).

​FareTableRef[]

References to the versioned FareTable instances that price this supplement product.

The priceable object owns this link (as in products-spring): supply the fare tables that price it here on write. Prices themselves live on the fare table — create/update them via the pricing/fare-table API, then reference the fare table here. On read, SupplementProductResponse surfaces the resolved fare-table NeTEx ids.

Default: []

SupplementProductResponse

id
​string · pattern: ^([A-Z]{3}):Suppleme… · required

The NeTEx ID of the supplement product.

Example: BNR:SupplementProduct:123
versionId
​string · pattern: ^([A-Z]{3}):Version:… · required

The netex id reference to the object.

Example: EXA:Version:001
privateCodes
​string[] · required

Optional external system identifiers.

Default: []
ownerOrganisationId
​integer · int64 · required

Internal id of the organisation that owns this supplement product.

​object[] · required
startDate
​string · date · required

The start date of the version.

status
​string · enum · required

Status of the supplement product.

  • DRAFT - Under construction and not ready for operational use.
  • PROPOSED - Complete but pending review and approval.
  • VERSIONED - Finalized and frozen; a new version must be created for further modifications. Remains authoritative for its validity period even after expiry.
  • DEPRECATED - Explicitly withdrawn and should not be used; indicates an active decision to retract, not a natural expiry.
Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED
chargingMomentType
​ChargingMomentType · enum · required

Charging moment type.

Note: Currently, only BEFORE_TRAVEL is supported in Entur sales platform.

Enum values:
BEFORE_TRAVEL
ON_START_OF_TRAVEL
BEFORE_END_OF_TRAVEL
BEFORE_TRAVEL_THEN_ADJUST_AT_END_OF_TRAVEL
ON_START_THEN_ADJUST_AT_END_OF_TRAVEL
ON_START_THEN_ADJUST_AT_END_OF_FARE_DAY
ON_START_THEN_ADJUST_AT_END_OF_CHARGE_PERIOD
AT_END_OF_TRAVEL
supplementProductType
​SupplementProductType · enum · required

The type of the supplement product. This can be used to determine which parameters are relevant for the product.

Enum values:
SEAT_RESERVATION
BICYCLE
DOG
ANIMAL
MEAL
WIFI
EXTRA_LUGGAGE
PENALTY
​ConditionsSummary · required
vatGroup
​VatGrpupType · enum · required

VAT group type. This is used to determine which VAT rate applies to a product. The VAT group type is determined by the product type and the country of sale. For example, in Norway, food products are subject to a reduced VAT rate of 15%, while other products are subject to the standard VAT rate of 25%. In this case, food products would be classified as FOOD_VAT, while other products would be classified as GENERAL_VAT.

Enum values:
EXCEPTION_FROM_VAT
GENERAL_VAT
FOOD_VAT
TRANSPORT_AND_TICKETS_VAT
Default: TRANSPORT_AND_TICKETS_VAT
purchaseWindowRef
​string · pattern: ^([A-Z]{3}):Purchase… · required

NeTEx ID of a PurchaseWindow instance (Product Parameters API, /v3/parameters/purchase-windows). Available values are listed in the Product Parameters API.

Example: ENT:PurchaseWindow:120days
usageValidityPeriodRef
​string · pattern: ^([A-Z]{3}):UsageVal… · required

NeTEx ID of a UsageValidityPeriod instance (limitations/usage-validity-period). Available values are listed in the Product Parameters API.

Not yet implemented: this endpoint currently accepts but does not persist or return this field.

Example: ENT:UsageValidityPeriod:DuringTravel
entitlementRequiredRefs
​string[] · minItems: 1 · required

List of NeTEx IDs of EntitlementRequired instances (limitations/entitlement-required). Available values are listed in the Product Parameters API.

Not yet implemented: this endpoint currently accepts but does not persist or return this field.

​ValidityParameters[] · required

List of validity parameters. The specified parameter tells where the supplement product is valid. This can be lines, zones, stops etc.

Not yet implemented: this endpoint currently accepts but does not persist or return this field.

versionNumber
​integer · int64

Version number of the version. Only present when versionStatus is VERSIONED. Starts at 1 for a new product and is incremented by 1 for each new version.

Example: 1
​object

The datasource that owns this supplement product.

​object[]
endDate
​string · date

The end date of the version (optional).

fareTableRefs
​string[] · readOnly

NeTEx IDs of the FareTable instances that price this supplement product.

Read-only. Prices themselves are not exposed here; use the pricing/fare-table API with these references to retrieve the actual prices. This lets clients discover the relevant fare tables for a priceable object directly, without fetching and scanning every fare table.

Default: []

VersionResponse

id
​string · pattern: ^([A-Z]{3}):Version:… · required

The netex id reference to the object.

Example: EXA:Version:001
status
​VersionStatus · enum · required
Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
startDate
​string · date · required

The start date of the version.

created
​string · date-time · required

Created datetime

changed
​string · date-time · required

Changed datetime

number
​integer · int64

Version number of the version. Only present when versionStatus is VERSIONED. Starts at 1 for a new product and is incremented by 1 for each new version.

Example: 1
endDate
​string · date

The end date of the version.

published
​string · date-time

Timestamp for when the version was published (set to status VERSIONED).

SalesOfferPackageAssignmentListItem

salesOfferPackageId
​string · pattern: ^([A-Z]{3}):SalesOff… · required

NeTEx ID of the sales package.

Example: VYG:SalesOfferPackage:07c4332c
fareProductId
​string · required

NeTEx ID of the fare product.

Example: EXA:SupplementProduct:e006fb5c
fareProductVersionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID of the assigned fare product version.

Example: EXA:Version:FP-4725c71a-abcd-1234-efgh-567890abcdef
​object[]

SalesOfferPackageAssignmentRequest

fareProductVersionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID of the fare product version to assign.

Example: EXA:Version:FP-4725c71a-abcd-1234-efgh-567890abcdef
salesOfferPackageIds
​string[] · minItems: 1 · required

List of sales package NeTEx IDs to assign the fare product to.

status
​string · enum

Status of the created sales package version. Defaults to VERSIONED (auto-publish).

  • DRAFT - Creates a draft version that must be manually published via PUT /sales-offer-packages/{id}/publication.
  • PROPOSED - Creates a proposed version pending review.
  • VERSIONED - Auto-publishes the new version immediately (default).
Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED

AssignmentError

Error details for a failed assignment.
code
​string · enum · required

Machine-readable error code.

Enum values:
NO_AGREEMENT
NOT_FOUND
ACCESS_DENIED
VALIDITY_CONFLICT
DRAFT_IN_PROGRESS
Example: NO_AGREEMENT
message
​string · required

Human-readable error message.

Example: Ingen avtale med SJN for denne salgspakka

SalesOfferPackageAssignmentResultItem

salesOfferPackageId
​string · pattern: ^([A-Z]{3}):SalesOff… · required

NeTEx ID of the sales package.

Example: VYG:SalesOfferPackage:07c4332c
status
​string · enum · required

Whether the assignment succeeded or failed for this sales package.

Enum values:
SUCCESS
FAILED
Example: SUCCESS
versionStatus
​string · enum

The status of the created sales package version. Only present on success.

Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED
createdVersionId
​string · pattern: ^([A-Z]{3}):Version:…

NeTEx version ID of the newly created sales package version. Only present on success.

Example: VYG:Version:SP-905ec954-abcd-1234-efgh-567890abcdef
versionNumber
​integer

Version number of the created version. Only present when versionStatus is VERSIONED.

Example: 14

Error details for a failed assignment.

SalesOfferPackageAssignmentResponse

Per-sales-offer-package result. Best-effort — failure on one sales package does not stop others.

FareProductRef

Reference to a specific version of a fare product (e.g. SupplementProduct, PreassignedFareProduct).
fareProductId
​string · required

NeTEx ID of the fare product.

Example: EXA:SupplementProduct:e006fb5c
fareProductVersionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID of the fare product.

Example: EXA:Version:FP-4725c71a-abcd-1234-efgh-567890abcdef
fareProductVersionNumber
​integer

Sequence number of the fare product version. Optional — set at publication.

Example: 5

SalesOfferPackageResponse

id
​string · pattern: ^([A-Z]{3}):SalesOff… · required

NeTEx ID of the sales package.

Example: VYG:SalesOfferPackage:07c4332c
versionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID.

Example: VYG:Version:SP-905ec954-abcd-1234-efgh-567890abcdef
​object[] · required
status
​string · enum · required

Status of this sales package version.

Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED
versionNumber
​integer

The version number. Only present for published versions.

Example: 14
ownerOrganisationId
​integer

The ID of the organization that owns the sales package.

Example: 1
​FareProductRef[]

List of fare product references included in this sales package.

validFrom
​string · date

Start of the validity period (travel dates, not version date).

Example: 2026-03-18
validTo
​string · date

End of the validity period. No specified date means that the validity period has no end-date.

Example: 2026-12-31
publishedDate
​string · date-time

System-assigned timestamp of when the version was published. Only present for VERSIONED status.

Example: 2026-03-18T10:30:00Z

SalesOfferPackageRequest

​object[] · required
​FareProductRef[]

List of fare product references to include in this sales package.

status
​string · enum

Status of the created sales package version. Defaults to VERSIONED.

  • DRAFT - Creates a draft version.
  • PROPOSED - Creates a proposed version pending review.
  • VERSIONED - Publishes the version immediately (default).
Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED

SalesOfferPackagePublicationRequest

versionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID of the sales package version to publish.

Example: VYG:Version:SP-905ec954-abcd-1234-efgh-567890abcdef
status
​string · enum · required

Target status. Valid transitions: DRAFT → PROPOSED → VERSIONED, PROPOSED → DRAFT.

Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED
validFrom
​string · date · required

Start of the validity period (travel dates).

Example: 2026-03-18
validTo
​string · date

End of the validity period. No specified date means that the validity period has no end-date.

Example: 2026-12-31

SalesOfferPackagePublicationResponse

salesOfferPackageId
​string · pattern: ^([A-Z]{3}):SalesOff… · required

NeTEx ID of the sales package.

Example: VYG:SalesOfferPackage:07c4332c
versionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID.

Example: VYG:Version:SP-905ec954-abcd-1234-efgh-567890abcdef
status
​string · enum · required

The resulting version status.

Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
Example: VERSIONED
validFrom
​string · date · required

Start of the validity period.

Example: 2026-03-18
versionNumber
​integer

Version number assigned at publication. Only present for VERSIONED status.

Example: 14
publishedDate
​string · date-time

System-assigned publication timestamp. Only present for VERSIONED status.

Example: 2026-03-18T10:30:00Z
validTo
​string · date

End of the validity period. No specified date means that the validity period has no end-date.

Example: 2026-12-31

FareProductListItem

id
​string · required

NeTEx ID of the fare product.

Example: EXA:SupplementProduct:e006fb5c
productType
​string · enum · required

Type of the fare product.

Enum values:
SUPPLEMENT_PRODUCT
PREASSIGNED_FARE_PRODUCT
Example: SUPPLEMENT_PRODUCT
versionId
​string · pattern: ^([A-Z]{3}):Version:… · required

NeTEx version ID of the fare product.

Example: EXA:Version:FP-4725c71a-abcd-1234-efgh-567890abcdef
​object[]

UsageValidityPeriod

id
​string · pattern: ^([A-Z]{3}):UsageVal… · required

The NeTEx ID of this UsageValidityPeriod.

Example: ENT:UsageValidityPeriod:DuringTravel
​object[] · required
usageValidityType
​string · enum · required

The type of usage validity.

Enum values:
SINGLE_TRIP
RETURN_TRIP
CARNET
DAY_PASS
WEEKLY_PASS
MONTHLY_PASS
ANNUAL_PASS
CUSTOM_PERIOD
validityPeriod
​string

How long the product is valid after activation. ISO 8601 duration.

Example: PT60M
activationType
​string · enum

What triggers the start of the validity period.

Enum values:
ON_PURCHASE
ON_FIRST_USE
ON_CHECK_IN

UsageValidityPeriodListResponse

​UsageValidityPeriod[] · required
totalCount
​integer · required

Total number of UsageValidityPeriod instances.

Example: 8
page
​integer · required

Current zero-based page number.

Example: 0
size
​integer · required

Number of instances per page.

Example: 100

UsageValidityPeriodRequest

​object[] · required
usageValidityType
​string · enum · required

The type of usage validity.

Enum values:
SINGLE_TRIP
RETURN_TRIP
CARNET
DAY_PASS
WEEKLY_PASS
MONTHLY_PASS
ANNUAL_PASS
CUSTOM_PERIOD
validityPeriod
​string

How long the product is valid after activation. ISO 8601 duration.

Example: PT60M
activationType
​string · enum

What triggers the start of the validity period.

Enum values:
ON_PURCHASE
ON_FIRST_USE
ON_CHECK_IN

VersionRequest

status
​string · enum · required

Must be DRAFT for new versions.

Enum values:
DRAFT
PROPOSED
VERSIONED
DEPRECATED
startDate
​string · date · required

The start date of the version. Defaults to current date if not provided.

endDate
​string · date

The end date of the version (optional).

ownerOrganisationId
​integer · int64 · min: 1

Internal id of the organisation that owns this element. Omit it to use the organisation in the access token, which is what a caller acting for itself should do. Supplying a different organisation requires permission to act on behalf of that organisation.

Did you find what you were looking for?