openapi: 3.2.0 info: title: Entur Journey Patterns API version: 2026.10.0 description: 'Operations tagged journey-patterns across 2 of this provider''s published API definitions: entur-products-openapi.json, entur-products-openapi.yml. Each path carries the servers of the definition it was published in.' 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: journey-patterns paths: /journey-patterns: parameters: - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' get: tags: - journey-patterns summary: Retrieves all journey patterns operationId: journey-patterns_getAll parameters: - name: orgId in: query required: false style: form explode: true schema: type: string - name: fareFrameId in: query required: false style: form explode: true schema: type: string - name: minimizeDataLoad in: query required: false style: form explode: true schema: type: boolean - name: validOnDate in: query description: Return only the versions valid on the given date (ISO-8601). required: false style: form explode: true schema: type: string format: date-time - 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 info content: application/json: schema: type: array items: $ref: '#/components/schemas/JourneyPattern' '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 post: tags: - journey-patterns summary: Create a JourneyPattern operationId: journey-patterns_create parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/JourneyPattern' required: true responses: '204': description: Entity created successfully '400': description: Validation errors 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: Not Found content: application/problem+json: schema: type: string '409': description: Already registered 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:endre 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 /journey-patterns/{id}: parameters: - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' get: tags: - journey-patterns summary: Retrieves the journey pattern valid on a given date description: Optional validOnDate query parameter (defaults to now). In prod returns the VERSIONED element; in staging/dev PROPOSED is preferred over VERSIONED. operationId: journey-patterns_getByIdAndValidOnDate parameters: - name: id in: path description: The id to identify a JourneyPattern required: true style: simple explode: false schema: type: string - name: validOnDate in: query description: Return the version valid on the given date (ISO-8601). required: false style: form explode: true schema: type: string format: date-time - 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 info content: application/json: schema: $ref: '#/components/schemas/JourneyPattern' '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 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 /journey-patterns/{id}/{version}: parameters: - $ref: '#/components/parameters/ET-Client-Name' - $ref: '#/components/parameters/X-Correlation-Id' get: tags: - journey-patterns summary: Retrieves journey pattern for id and version operationId: journey-patterns_getById parameters: - name: id in: path description: The id to identify a JourneyPattern 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 id for the version of the JourneyPattern 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 info content: application/json: schema: $ref: '#/components/schemas/JourneyPattern' '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 put: tags: - journey-patterns summary: Updates an existing JourneyPattern operationId: journey-patterns_update parameters: - name: id in: path description: The id to identify a JourneyPattern 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 id for the version of the JourneyPattern required: true style: simple explode: false schema: pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$ type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JourneyPattern' required: true responses: '204': description: Entity updated successfully '400': description: Validation errors content: application/problem+json: schema: type: string '401': description: Missing Authorization content: application/problem+json: schema: type: string '403': description: Authorization failed 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:endre delete: tags: - journey-patterns summary: Deletes a JourneyPattern by id and version operationId: journey-patterns_deleteById parameters: - name: id in: path description: The id to identify a JourneyPattern 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 id for the version of the JourneyPattern required: true style: simple explode: false schema: pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$ type: string responses: '200': description: The resource was deleted content: application/json: schema: $ref: '#/components/schemas/BoxedUnit' '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:endre 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 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. ValidityCondition: required: - changed - created - id - modification - nameOfClass - status - version type: object properties: changed: type: string description: Changed datetime. readOnly: true created: type: string description: Created datetime. readOnly: true fromDate: type: string description: From Date. id: minLength: 1 pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$ type: string description: Id. examples: - NSB:ValidBetween:2018 modification: type: string description: Modification status. readOnly: true enum: - NEW - REVISE - DELETE examples: - NEW nameOfClass: type: string description: Name of class. readOnly: true examples: - ValidBetween status: type: string description: Status. readOnly: true enum: - DRAFT - PROPOSED - VERSIONED - DEPRECATED examples: - DRAFT toDate: type: string description: To Date. version: minLength: 1 pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$ type: string description: Version. examples: - NSB:Version:V1 description: A condition of the validity of the priceable object JourneyPattern: required: - changed - created - id - modification - nameOfClass - status - version type: object properties: changed: type: string description: Changed datetime readOnly: true created: type: string description: Created datetime readOnly: true description: type: array description: Description items: $ref: '#/components/schemas/TextInLanguage' farePointsInPattern: type: array description: Fare points in pattern. Versioned child of JourneyPattern items: $ref: '#/components/schemas/FarePointInPattern' id: minLength: 1 pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$ type: string description: Id examples: - NSB:JourneyPattern:TrondheimOslo 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: - FareSection 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 Journey Pattern 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. BoxedUnit: type: object FarePointInPattern: required: - id - journeyPatternRef - modification - orderOfElement - pointRef - status - version type: object properties: changed: type: string description: Changed datetime readOnly: true created: type: string description: Created datetime readOnly: true id: minLength: 1 pattern: ^([A-Z]{3}):([A-Za-z]*):([0-9A-Za-z_\-]*)$ type: string description: Id examples: - NSB:FarePointInPattern:TrondheimOslo journeyPatternRef: $ref: '#/components/schemas/VersionOfObjectRef' modification: type: string description: Modification status readOnly: true enum: - NEW - REVISE - DELETE examples: - NEW nameOfClass: type: string description: Name of class readOnly: true examples: - FarePointInPattern orderOfElement: type: integer description: Order of element format: int32 pointRef: type: string description: Point Ref status: type: string description: Status readOnly: true enum: - DRAFT - PROPOSED - VERSIONED - DEPRECATED examples: - DRAFT validityConditions: type: array description: Validity Conditions. readOnly: true items: $ref: '#/components/schemas/ValidityCondition' version: type: string description: Version, will be a versioned child of journey pattern readOnly: true examples: - NSB:Version:V1 description: A Fare Point In Pattern 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-products-openapi.json - entur-products-openapi.yml