Entur Customer accounts client API

Api for creating, fetching and modifying customers account ids.

Operations 5

GET /profiles/{customerNumber}/customer-accounts Get customer accounts #
POST /profiles/{customerNumber}/customer-accounts Create a new customer account #
DELETE /profiles/{customerNumber}/customer-accounts/{accountId} Delete customer account #
PATCH /profiles/{customerNumber}/customer-accounts/{accountId} Patch a customer account. Follows the JSON Merge Patch RFC7396 standard #
GET /customer-accounts/{accountId}/profiles Get profile by customer account id #

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-customer-accounts-client-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-customer-accounts-client-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Entur Customer accounts client API
  version: 2026.10.0
  contact:
    name: Entur Team Personalisering
    url: https://enturas.atlassian.net/wiki/spaces/CULP/overview
    email: team.personalisering@entur.org
  termsOfService: https://entur.org
  description: 'Operations tagged Customer accounts client across 2 of this provider''s published API definitions: entur-customers-openapi.json, entur-customers-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.entur.io/customers/v2
security:
- jwt: []
tags:
- name: Customer accounts client
  description: Api for creating, fetching and modifying customers account ids.
paths:
  /profiles/{customerNumber}/customer-accounts:
    parameters:
    - $ref: '#/components/parameters/ET-Client-Name'
    - $ref: '#/components/parameters/X-Correlation-Id'
    get:
      tags:
      - Customer accounts client
      summary: Get customer accounts
      description: Get customer accounts by customer number.
      operationId: getCustomerAccountsCustomerNumber
      parameters:
      - name: customerNumber
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCustomerAccountResponse'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      x-entur-permissions:
        value:
          any:
          - customers-profile:les
          - customers-profile-global:les
          - customers-profile-jdir:les
    post:
      tags:
      - Customer accounts client
      summary: Create a new customer account
      description: Create a new customer account for the customer.
      operationId: createCustomerAccountCustomerNumber
      parameters:
      - name: customerNumber
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerAccountRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerAccountResponse'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '500':
          $ref: '#/components/responses/Error500'
      x-entur-permissions:
        value:
          any:
          - customers-profile:endre
          - customers-profile-global:endre
          - customers-profile-jdir:endre
    servers:
    - url: https://api.entur.io/customers/v2
  /profiles/{customerNumber}/customer-accounts/{accountId}:
    parameters:
    - $ref: '#/components/parameters/ET-Client-Name'
    - $ref: '#/components/parameters/X-Correlation-Id'
    delete:
      tags:
      - Customer accounts client
      description: Delete a customer account tied to a customer profile
      operationId: deleteCustomerAccount
      parameters:
      - name: customerNumber
        in: path
        description: Customer number
        required: true
        style: simple
        explode: false
        schema:
          type: integer
          format: int64
      - name: accountId
        in: path
        description: Customer account id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: OK
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      x-entur-permissions:
        value:
          any:
          - customers-profile:endre
          - customers-profile-global:endre
          - customers-profile-jdir:endre
      summary: Delete customer account
      x-summary-source: derived
    patch:
      tags:
      - Customer accounts client
      summary: Patch a customer account. Follows the JSON Merge Patch RFC7396 standard
      description: 'A JSON merge patch document describes changes to be made to a target JSON document using a syntax that closely mimics the document being modified.

        Recipients of a merge patch document determine the exact set of changes being requested by comparing the content of the provided patch against the current content of the target document.

        If the provided merge patch contains members that do not appear within the target, those members are added.

        If the target does contain the member, the value is replaced.

        Null values in the merge patch are given special meaning to indicate the removal of existing values in the target.


        See ''CustomerAccountPatchRequest'' for available fields to patch.'
      operationId: updateCustomerAccount
      parameters:
      - name: customerNumber
        in: path
        description: Customer number
        required: true
        style: simple
        explode: false
        schema:
          type: integer
          format: int64
      - name: accountId
        in: path
        description: Customer account id
        required: true
        style: simple
        explode: false
        schema:
          type: string
      requestBody:
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/CustomerAccountPatchRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerAccountPatchRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerAccountResponse'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      x-entur-permissions:
        value:
          any:
          - customers-profile:endre
          - customers-profile-global:endre
          - customers-profile-jdir:endre
    servers:
    - url: https://api.entur.io/customers/v2
  /customer-accounts/{accountId}/profiles:
    parameters:
    - $ref: '#/components/parameters/ET-Client-Name'
    - $ref: '#/components/parameters/X-Correlation-Id'
    get:
      tags:
      - Customer accounts client
      summary: Get profile by customer account id
      operationId: getProfileByCustomerAccountId
      parameters:
      - name: accountId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerResponse'
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '403':
          $ref: '#/components/responses/Error403'
        '404':
          $ref: '#/components/responses/Error404'
        '500':
          $ref: '#/components/responses/Error500'
      x-entur-permissions:
        value:
          any:
          - customers-profile:les
          - customers-profile-global:les
          - customers-profile-jdir:les
    servers:
    - url: https://api.entur.io/customers/v2
components:
  schemas:
    CustomerConsent:
      type: object
      properties:
        changedAt:
          type: string
          description: When the customer consent was last changed.
          format: date-time
        consentChoice:
          type: boolean
          description: Whether the customer has approved or declined this consent.
        consentCode:
          maxLength: 20
          type: string
          description: The consent code.
        createdAt:
          type: string
          description: When the customer consent was created.
          format: date-time
        customerId:
          type: integer
          description: Id of the customer.
          format: int64
      description: Legacy consents for a customer
    CustomerAccountResponse:
      required:
      - createdAt
      - createdBy
      - customerAccountId
      - customerNumber
      - id
      type: object
      properties:
        alias:
          type: string
          description: Alias for the customer account
          examples:
          - Tommy
        changedAt:
          type: string
          description: When the customer account was last changed. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        changedBy:
          type: string
          description: Who changed the customer account.
        createdAt:
          type: string
          description: When the customer account was created. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        createdBy:
          type: string
          description: Who created the customer account.
        customerAccountId:
          type: string
          description: Customer account id string
          examples:
          - ATB:CustomerAccount:abc58673cde-1c82-4bc5-989c-9d5eaa7ea866
        customerNumber:
          type: integer
          description: Unique customer number
          format: int64
        id:
          type: integer
          description: Customer account unique id.
          format: int64
        isDefault:
          type: boolean
          description: True if the account is the default account for the customer
      description: Customer account connected to a customer
    ErrorMessage:
      required:
      - errorCode
      - longEnglish
      - longNorwegian
      - shortEnglish
      - shortNorwegian
      type: object
      properties:
        errorCode:
          type: integer
          description: The error code.
          format: int32
        longEnglish:
          type: string
          description: Long error message (English).
        longNorwegian:
          type: string
          description: Long error message (Norwegian).
        shortEnglish:
          type: string
          description: Short error message (English).
        shortNorwegian:
          type: string
          description: Short error message (Norwegian).
      description: 'An Error message. '
    LocalDateResponse:
      required:
      - day
      - month
      - year
      type: object
      properties:
        day:
          type: integer
          description: day of month
          format: int32
        month:
          type: integer
          description: month number
          format: int32
        year:
          type: integer
          description: year
          format: int32
      description: Date as object
    PostalAddressResponse:
      required:
      - changedAt
      - countryCode
      - createdAt
      - customerId
      - id
      - postCode
      - town
      - typeOfAddress
      type: object
      properties:
        addressLine1:
          maxLength: 80
          type: string
          description: Address line 1.
        addressLine2:
          maxLength: 80
          type: string
          description: Address line 2, often used for c/o information.
        changedAt:
          type: string
          description: When the postal address was last changed. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        countryCode:
          maxLength: 3
          minLength: 3
          type: string
          description: The address country code. ISO 3166-1 alpha-3 format
          examples:
          - NOR
        createdAt:
          type: string
          description: When the postal address was created. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        customerId:
          type: integer
          description: The customer connected to the address.
          format: int64
        id:
          type: integer
          description: Postal address id.
          format: int64
        postCode:
          maxLength: 10
          type: string
          description: The address post code.
        town:
          maxLength: 50
          type: string
          description: The address post town.
        typeOfAddress:
          type: string
          description: 'The type of address. Types supported: ''P'' = Private, ''I'' = Invoice, ''S'' = Shadow.'
          enum:
          - P
          - I
          - S
        verifiedAt:
          type: string
          description: When the address was verified. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
      description: Postal address connected to a customer
    CustomerResponse:
      required:
      - changedAt
      - changedBy
      - changedByChannel
      - createdAt
      - createdBy
      - createdByChannel
      - customerNumber
      - firstName
      - organisationId
      - profileType
      - status
      - surname
      - uuid
      type: object
      properties:
        changedAt:
          type: string
          description: When the customer was last changed. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        changedBy:
          maxLength: 100
          type: string
          description: Who last changed the customer. Either web, app or username of employee. Used for traceability in accordance with GDPR
        changedByChannel:
          maxLength: 100
          type: string
          description: Which sales channel or system who last changed the customer. Used for traceability in accordance with GDPR
        countryCode:
          maxLength: 4
          type: string
          description: Telephone number country code, starting with +.
          examples:
          - '+47'
        createdAt:
          type: string
          description: When the customer was created. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        createdBy:
          maxLength: 100
          type: string
          description: Who created the customer. Either web, app or username of employee. Used for traceability in accordance with GDPR
        createdByChannel:
          maxLength: 100
          type: string
          description: Which sales channel or system who created the customer. Used for traceability in accordance with GDPR
        customerAccountId:
          maxLength: 60
          type: string
          description: Customer account id used for account based ticketing
          examples:
          - XYZ:CustomerAccount:<uuid>
        customerAccounts:
          type: array
          description: Customer accounts used for account based ticketing
          items:
            $ref: '#/components/schemas/CustomerAccountResponse'
        customerConsents:
          type: array
          description: The legacy consents connected to the customer.
          items:
            $ref: '#/components/schemas/CustomerConsent'
        customerNumber:
          type: integer
          description: Customer number.
          format: int64
        customerRef:
          maxLength: 40
          type: string
          description: Optional customer reference. Defaults to customer number if not set.
        dateOfBirth:
          $ref: '#/components/schemas/LocalDateResponse'
        dateOfDeath:
          $ref: '#/components/schemas/LocalDateResponse'
        ecardOwnerships:
          type: array
          description: The ecards connected to the customer.
          items:
            $ref: '#/components/schemas/EcardOwnershipResponse'
        email:
          maxLength: 80
          type: string
          description: Contact email. May become different from username
        emailOld:
          maxLength: 80
          type: string
          description: When customer is deleted (status='D'), the value of 'email' is moved here to allow creation of a new customer with the same email.
        emailVerifiedAt:
          type: string
          description: When the email was verified. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        expirationDate:
          type: string
          description: The date when the customers personal data should be deleted. Personal data will be deleted continuously. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        firstName:
          maxLength: 50
          type: string
          description: First and middle name.
        givenConsents:
          type: array
          description: The consents connected to the customer. Deprecated
          deprecated: true
          items:
            type: object
            description: The consents connected to the customer. Deprecated
            deprecated: true
        id:
          type: integer
          description: Customer id. Deprecated
          format: int64
          deprecated: true
        landlineNumber:
          maxLength: 20
          type: string
          description: Landline telephone number.
        languagePreference:
          type: string
          description: Deprecated, please use languagePreferenceISO6393. Which language the customer wants information in. Default is 'NO'.
          deprecated: true
          enum:
          - 'NO'
          - EN
        languagePreferenceISO6393:
          type: string
          description: Which language the customer wants information in. ISO 639-3 format. Default is 'NOB'.
          enum:
          - NOB
          - NNO
          - ENG
        lastSignInAt:
          type: string
          description: When the customer last signed in. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        lastSignInFrom:
          maxLength: 100
          type: string
          description: Where the customer last signed in from. Typically web or app. Typically used to display to the user where the last login was performed.
        nationality:
          maxLength: 3
          minLength: 3
          type: string
          description: The customers nationality. ISO 3166-1 alpha-3 format
          examples:
          - NOR
        notes:
          type: array
          description: Deprecated. The notes connected to the customer.
          deprecated: true
          items:
            $ref: '#/components/schemas/NoteResponse'
        organisationId:
          type: integer
          description: The organisation the customer is registered with.
          format: int64
        parentId:
          type: object
          description: Id of the parent customer. Used to connect different customer types.
        personnelTicketBearer:
          $ref: '#/components/schemas/PersonnelTicketBearer'
        postalAddresses:
          type: array
          description: The postal addresses connected to the customer.
          items:
            $ref: '#/components/schemas/PostalAddressResponse'
        preferences:
          type: array
          description: The preferences connected to the customer.
          items:
            $ref: '#/components/schemas/CustomerPreferenceResponse'
        profileType:
          type: string
          description: 'Type of profile. Types supported: ''S'' = Standard customer, ''P'' = Personnel ticket customer, ''T'' = Temporary customer. Default is ''S''.'
          enum:
          - S
          - P
          - T
        relatedCustomerNumbers:
          type: array
          description: The customer number of profiles which has been merged into the current profile. These may be used to lookup customer information in other systems
          items:
            type: integer
            description: The customer number of profiles which has been merged into the current profile. These may be used to lookup customer information in other systems
            format: int64
        status:
          type: string
          description: 'Customer status. Statuses supported: ''A'' = Active, ''P'' = Passive, ''D'' = Deleted. Default is ''A''.'
          enum:
          - A
          - P
          - D
        surname:
          maxLength: 50
          type: string
          description: Surname.
        telephoneNumber:
          maxLength: 20
          type: string
          description: Deprecated. Please use countryCode and telephoneNumberNoCountryCode. Telephone number for customer. This should be a cell phone number.
        telephoneNumberNoCountryCode:
          maxLength: 12
          type: string
          description: Telephone number without country code or punctuation.
        telephoneNumberVerifiedAt:
          type: string
          description: When the telephone number was verified. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        username:
          type: string
          description: Username the customer can use to log unto their profile. Only available on profile type S(tamkunde) and profile status A(ctive)
        uuid:
          maxLength: 32
          minLength: 32
          type: string
          description: A universal unique id for the customer. 32 random alphanumeric characters. Not RFC 4122 compliant
          examples:
          - 7018222E18CB5C46E05400144FF9F89C
        vippsId:
          type: string
          description: Deprecated. The field is no longer stored. Vipps unique user identifier.
          format: uuid
          deprecated: true
      description: A registered customer response
    CustomerAccountPatchRequest:
      type: object
      properties:
        alias:
          maxLength: 50
          type: string
          description: Customer account alias
        isDefault:
          type: boolean
          description: True if account is the default account for the customer.
      description: Update a customer account connected to a customer
    NoteResponse:
      required:
      - changedAt
      - changedBy
      - createdAt
      - createdBy
      - customerId
      - id
      - text
      type: object
      properties:
        changedAt:
          type: string
          description: When the note was last changed. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        changedBy:
          maxLength: 100
          type: string
          description: Who last changed the note.
        createdAt:
          type: string
          description: When the note was created. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        createdBy:
          maxLength: 100
          type: string
          description: Who created the note.
        customerId:
          type: integer
          description: Id of the customer connected to the note.
          format: int64
        id:
          type: integer
          description: Note id.
          format: int64
        text:
          maxLength: 4000
          type: string
          description: Note content.
      description: Deprecated
    PersonnelTicketBearer:
      type: object
      properties:
        bearerCustomerId:
          type: integer
          format: int64
        changedAt:
          type: string
          format: date-time
        createdAt:
          type: string
          format: date-time
        isSelfServedRetrieval:
          type: boolean
        ticketRightBearer:
          type: string
        ticketRightOwner:
          type: string
      description: The personnel tickets connected to the customer. Deprecated. Does not contain updated information.
    PreferenceResponse:
      required:
      - changedAt
      - createdAt
      - id
      - isActive
      - preferenceCode
      - preferenceDescription
      - preferenceType
      type: object
      properties:
        changedAt:
          type: string
          description: When the preference was last changed. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        createdAt:
          type: string
          description: When the preference was created. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        id:
          type: integer
          description: Preference id.
          format: int64
        isActive:
          type: boolean
          description: Whether the preference is active.
        preferenceCode:
          maxLength: 20
          type: string
          description: The preference code.
        preferenceDescription:
          maxLength: 255
          type: string
          description: A description of the preference.
        preferenceType:
          maxLength: 20
          type: string
          description: Type of preference.
      description: Preference
    ListCustomerAccountResponse:
      type: array
      items:
        $ref: '#/components/schemas/CustomerAccountResponse'
    CustomerPreferenceResponse:
      required:
      - changedAt
      - createdAt
      - preference
      - preferenceId
      type: object
      properties:
        changedAt:
          type: string
          description: When the customer preference was last changed. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        createdAt:
          type: string
          description: When the customer preference was created. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        customerId:
          type: integer
          description: Id of the customer. Deprecated
          format: int64
          deprecated: true
        preference:
          $ref: '#/components/schemas/PreferenceResponse'
        preferenceId:
          type: integer
          description: Id of the preference
          format: int64
        preferenceValue:
          maxLength: 100
          minLength: 1
          type: string
          description: Value of the preference. This can be things like membership number.
      description: Preferences response for a customer
    EcardOwnershipResponse:
      required:
      - changedAt
      - createdAt
      - customerId
      - ecardNumber
      - ecardNumber16digits
      - ecardOperator
      - id
      - startOfOwnership
      type: object
      properties:
        bookingDate:
          type: string
          description: When the physical ecard was booked. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        changedAt:
          type: string
          description: When the ecard was last changed. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        createdAt:
          type: string
          description: When the ecard was created. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        customerId:
          type: integer
          description: The customer connected to the ecard. Deprecated
          format: int64
          deprecated: true
        ecardName:
          maxLength: 100
          type: string
          description: Customer defined ecard alias.
        ecardNumber:
          type: integer
          description: Ecard number.
          format: int64
        ecardNumber16digits:
          maxLength: 16
          minLength: 16
          type: string
          description: The 16 digit ecard number. A combination of ecardNumber, ecardOperator and control digit.
        ecardOperator:
          type: integer
          description: Ecard operator.
          format: int32
        endOfOwnership:
          type: string
          description: When the customer removed the ecard connection. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        expirationDate:
          type: string
          description: When the physical ecard expires. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        id:
          type: integer
          description: Ecard id.
          format: int64
        shippingDate:
          type: string
          description: When the physical ecard was shipped to the customer. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
        startOfOwnership:
          type: string
          description: When the ecard was first connected to the customer. ISO 8601 date format
          format: date-time
          examples:
          - '2019-04-05T14:30:30+02:00'
      description: Ecards connected to a customer
    CustomerAccountRequest:
      required:
      - accountId
      - alias
      type: object
      properties:
        accountId:
          maxLength: 60
          type: string
          description: Customer account id.
        alias:
          maxLength: 50
          type: string
          description: Customer account alias
        isDefault:
          type: boolean
          description: True if account is default for customer. Default false.
      description: Create a customer account connected to a customer
  responses:
    Error400:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Error401:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Error500:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Error404:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
    Error403:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
  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: `<company>-<application>`.'
      required: false
      style: simple
      explode: false
      schema:
        type: string
  securitySchemes:
    jwt:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-refined-from:
- entur-customers-openapi.json
- entur-customers-openapi.yml