openapi: 3.0.0
info:
  title: SOVD Simulation API (Fixed Paths)
  version: 1.0.0
servers:
- url: /v1
  description: SOVD Simulation Server Base Path
tags:
- description: Methods for discovering entities and resources
  name: discovery
- description: Methods for data resource read / write access
  name: data-retrieval
- description: Methods for fault handling
  name: fault-handling
- description: Methods for managing data lists
  name: data-lists
- description: Methods for managing subscriptions
  name: subscriptions
- description: Methods for managing triggers
  name: triggers
- description: Methods for configuration read/write
  name: configurations
- description: Methods for clearing data
  name: data-clearing
- description: Methods for control of operations
  name: operations-control
- description: Methods for managing scripts
  name: scripts
- description: Methods for support of target modes
  name: target-modes
- description: Methods for locking
  name: locking
- description: Methods for software updates
  name: updates
- description: Methods for managing application status
  name: application-status
- description: Methods for handling of bulk-data
  name: bulk-data
- description: Methods for logging
  name: logging
- description: Methods for communication logging
  name: communication-logging
- description: Methods for authentication
  name: authentication
paths:
  /components:
    get:
      description: Provides the list of available top-level components. Can be filtered
        by tags.
      tags:
      - discovery
      parameters:
      - name: tags
        in: query
        description: Filter components by tags (e.g., OBD, ePTI).
        required: false
        schema:
          type: string
        example: OBD
      responses:
        '200':
          description: List of components.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityList'
              examples:
                all_components:
                  summary: Example response for all components
                  value:
                    items:
                    - id: LL_BVACM
                      name: BVACM
                      href: /v1/components/LL_BVACM
                    - id: LL_BVBCM
                      name: BVBCM
                      href: /v1/components/LL_BVBCM
                    - id: LL_BVCCU
                      name: BVCCU
                      href: /v1/components/LL_BVCCU
                    - id: LL_BVSESAM
                      name: BVSESAM
                      href: /v1/components/LL_BVSESAM
                    - id: LL_FGUDS
                      name: FGUDS
                      href: /v1/components/LL_FGUDS
                obd_components:
                  summary: Example response filtered by OBD tag
                  value:
                    items:
                    - id: PowerSteering
                      name: Power steering Unit
                      href: /v1/components/PowerSteering
                      tags:
                      - OBD
                      - ePTI
        default:
          $ref: '#/components/responses/GenericError'
  /areas:
    get:
      description: Provides the list of available top-level areas.
      tags:
      - discovery
      responses:
        '200':
          description: List of areas.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityList'
              example:
                items:
                - id: Driving
                  name: Autonomous Driving
                  href: /v1/areas/Driving
        default:
          $ref: '#/components/responses/GenericError'
  /apps:
    get:
      description: Provides the list of available top-level applications.
      tags:
      - discovery
      responses:
        '200':
          description: List of applications.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityList'
              example:
                items:
                - id: AdvancedLaneKeeping
                  name: AdvancedLaneKeeping
                  href: /v1/apps/AdvancedLaneKeeping
                - id: BlindSpotDetection
                  name: BlindSpotDetection
                  href: /v1/apps/BlindSpotDetection
                - id: Navi
                  name: Navi
                  href: /v1/apps/Navi
                - id: Navigation
                  name: Navigation
                  href: /v1/apps/Navigation
                - id: WindowControl
                  name: WindowControl
                  href: /v1/apps/WindowControl
        default:
          $ref: '#/components/responses/GenericError'
  /components/DrivingComputer/subcomponents:
    get:
      description: Provides the list of subcomponents for the DrivingComputer.
      tags:
      - discovery
      responses:
        '200':
          description: List of subcomponents.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityList'
              example:
                items:
                - id: Linux
                  name: Linux-based ADAS
                  href: /v1/components/DrivingComputer/subcomponents/Linux
                - id: AdaptiveAUTOSAR
                  name: Adaptive AUTOSAR
                  href: /v1/components/DrivingComputer/subcomponents/AdaptiveAUTOSAR
        default:
          $ref: '#/components/responses/GenericError'
  /areas/Driving/subareas:
    get:
      description: Provides the list of subareas within the Driving area.
      tags:
      - discovery
      responses:
        '200':
          description: List of subareas.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityList'
              example:
                items:
                - id: Perception
                  name: Perception system
                  href: /v1/areas/Driving/subareas/Perception
                - id: Controlling
                  name: Controlling system
                  href: /v1/areas/Driving/subareas/Controlling
        default:
          $ref: '#/components/responses/GenericError'
  /areas/Driving/contains:
    get:
      description: Provides the list of components contained within the Driving area.
      tags:
      - discovery
      responses:
        '200':
          description: List of contained components.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityList'
              example:
                items:
                - id: DrivingComputer
                  name: Driving computer
                  href: /v1/components/DrivingComputer
        default:
          $ref: '#/components/responses/GenericError'
  /components/DrivingComputer/hosts:
    get:
      description: Provides the list of applications hosted by the DrivingComputer.
      tags:
      - discovery
      responses:
        '200':
          description: List of hosted applications.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityList'
              example:
                items:
                - id: BlindSpotDetection
                  name: Blind Spot Detection
                  href: /v1/apps/BlindSpotDetection
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping:
    get:
      description: Retrieves details and available resource collections for the AdvancedLaneKeeping
        application.
      tags:
      - discovery
      responses:
        '200':
          description: Application details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityDetails'
              example:
                id: AdvancedLaneKeeping
                name: Advanced Lane Keeping
                variant:
                  Pow_Str_Variant: High
                  Software_Version: 1.0.1
                configurations: /v1/apps/AdvancedLaneKeeping/configurations
                bulk-data: /v1/apps/AdvancedLaneKeeping/bulk-data
                data: /v1/apps/AdvancedLaneKeeping/data
                faults: /v1/apps/AdvancedLaneKeeping/faults
                operations: /v1/apps/AdvancedLaneKeeping/operations
                logs: /v1/apps/AdvancedLaneKeeping/logs
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering:
    get:
      description: Retrieves details and available resource collections for the PowerSteering
        component. Can be filtered by tags.
      tags:
      - discovery
      parameters:
      - name: tags
        in: query
        description: Filter by tags (e.g., ePTI).
        required: false
        schema:
          type: string
        example: ePTI
      responses:
        '200':
          description: Component details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityDetails'
              example:
                id: PowerSteering
                name: Power steering Unit
                tags:
                - OBD
                - ePTI
                data: /v1/components/PowerSteering/data
                faults: /v1/components/PowerSteering/faults
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering/data:
    get:
      description: Retrieves the list of data resources for the PowerSteering component.
        Can be filtered by tags.
      tags:
      - data-retrieval
      - discovery
      parameters:
      - name: tags
        in: query
        description: Filter data resources by tags (e.g., OBD).
        required: false
        schema:
          type: string
        example: OBD
      responses:
        '200':
          description: List of data resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataList'
              example:
                items:
                - id: someDataResource
                  name: An example data resource
                  category: currentData
                  tags:
                  - OBD
        default:
          $ref: '#/components/responses/GenericError'
  /components/Camera/faults:
    get:
      description: Retrieves the list of faults for the Camera component. Can be
        filtered by status, severity, etc.
      tags:
      - fault-handling
      parameters:
      - name: status[aggregatedStatus]
        in: query
        description: Filter faults by aggregated status.
        required: false
        schema:
          type: string
        example: active
      - name: severity
        in: query
        description: Filter faults by severity level.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: List of faults.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfFaults'
              example:
                items:
                - code: '0012E3'
                  scope: Default
                  display_code: P102
                  fault_name: No signal from sensor
                  fault_translation_id: CAMERA_0012E3_tid
                  severity: 1
                  status:
                    testFailed: '1'
                    testFailedThisOperationCycle: '1'
                    pendingDTC: '1'
                    confirmedDTC: '1'
                    testNotCompletedSinceLastClear: '0'
                    testFailedSinceLastClear: '1'
                    testNotCompletedThisOperationCycle: '0'
                    warningIndicatorRequested: '0'
                    aggregatedStatus: active
                - code: '003C01'
                  scope: Default
                  display_code: P03C
                  fault_name: Battery voltage low
                  fault_translation_id: Low Vbat_tid
                  severity: 2
                  status:
                    testFailed: '1'
                    testFailedThisOperationCycle: '1'
                    pendingDTC: '1'
                    confirmedDTC: '1'
                    testNotCompletedSinceLastClear: '0'
                    testFailedSinceLastClear: '1'
                    testNotCompletedThisOperationCycle: '0'
                    warningIndicatorRequested: '0'
                    aggregatedStatus: active
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Deletes all fault entries for the Camera component.
      tags:
      - fault-handling
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/faults:
    get:
      description: Retrieves the list of faults for the AdvancedLaneKeeping application.
        Can be filtered.
      tags:
      - fault-handling
      parameters:
      - name: severity
        in: query
        description: Filter faults by severity level.
        required: false
        schema:
          type: integer
        example: 1
      responses:
        '200':
          description: List of faults.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfFaults'
              example:
                items:
                - code: modelMissing
                  scope: Default
                  fault_name: No Object Recognition Model available
                  fault_translation_id: ALK NoObjModel_tid
                  severity: 1
                  status:
                    aggregatedStatus: active
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/faults/0012E3:
    get:
      description: Retrieves details for a specific fault (0012E3) of the AdvancedLaneKeeping
        application.
      tags:
      - fault-handling
      responses:
        '200':
          description: Fault details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FaultDetails'
              example:
                item:
                  code: '0012E3'
                  scope: Default
                  display_code: P102
                  fault_name: No signal from sensor
                  fault_translation_id: CAMERA_0012E3_tid
                  severity: 1
                  status:
                    testFailed: '1'
                    testFailedThisOperationCycle: '1'
                    pendingDTC: '0'
                    confirmedDTC: '1'
                    testNotCompletedSinceLastClear: '1'
                    testFailedSinceLastClear: '0'
                    testNotCompletedThisOperationCycle: '0'
                    warningIndicatorRequested: '0'
                    mask: 1E
                    aggregatedStatus: active
                environment_data:
                  extended_data_records:
                    first_occurence: '2021-06-22T11:47:22Z'
                    last_occurence: '2021-07-01T10:12:53Z'
                  snapshots:
                  - name: freeze_frame_1
                    data: 12.8
                  - name: freeze_frame_2
                    data: 12.4
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/faults/modelMissing:
    delete:
      description: Deletes a specific fault entry (modelMissing) for the AdvancedLaneKeeping
        application.
      tags:
      - fault-handling
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/WindowControl/data-categories:
    get:
      description: Retrieves the list of data categories supported by the WindowControl
        application.
      tags:
      - discovery
      responses:
        '200':
          description: List of data categories.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfDataCategories'
              example:
                items:
                - item: currentData
                  category_translation_id: TID_currentData
                - item: identData
                  category_translation_id: TID_identData
        default:
          $ref: '#/components/responses/GenericError'
  /apps/WindowControl/data-groups:
    get:
      description: Retrieves the list of data groups supported by the WindowControl
        application, optionally filtered by category.
      tags:
      - discovery
      parameters:
      - name: category
        in: query
        description: Filter groups by data category.
        required: false
        schema:
          type: string
        example: currentData
      responses:
        '200':
          description: List of data groups.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfDataGroups'
              example:
                items:
                - id: front
                  category: currentData
                - id: rear
                  category: currentData
        default:
          $ref: '#/components/responses/GenericError'
  /apps/WindowControl/data:
    get:
      description: Retrieves the list of all data resources for the WindowControl
        application.
      tags:
      - data-retrieval
      - discovery
      responses:
        '200':
          description: List of data resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataList'
              example:
                items:
                - id: DriverWindow
                  name: Position of driver window
                  category: currentData
                  groups:
                  - front
                - id: PassengerWindow
                  name: Position of passenger window
                  category: currentData
                  groups:
                  - front
                - id: RearWindows
                  name: Position of rear windows
                  category: currentData
                  groups:
                  - rear
                - id: AppInfo
                  name: Window Control Version Numbers
                  category: identData
        default:
          $ref: '#/components/responses/GenericError'
  /apps/WindowControl/data/RearWindows:
    get:
      description: Retrieves the value of the RearWindows data resource from the
        WindowControl application.
      tags:
      - data-retrieval
      responses:
        '200':
          description: Value of RearWindows.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadValue'
              example:
                id: RearWindows
                data:
                  PositionLeft: 100
                  PositionRight: 0
                errors:
                - path: /data/PositionRight
                  error:
                    error_code: vendor-specific
                    vendor_code: value-constraint-violated
                    message: Value provided by component could not be evaluated
                    parameters:
                      internal_value: FF
                      description: Signal implausible
        default:
          $ref: '#/components/responses/GenericError'
    put:
      description: Writes the value of the RearWindows data resource.
      tags:
      - data-retrieval
      requestBody:
        $ref: '#/components/requestBodies/WriteValue'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/DataError'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/WindowControl/data/AppInfo:
    put:
      description: Writes the value of the AppInfo data resource for the WindowControl
        application.
      tags:
      - data-retrieval
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    version:
                      type: string
                    vendor:
                      type: string
                  required:
                  - version
                  - vendor
              required:
              - data
            example:
              data:
                version: 1.15.0
                vendor: TheWindowLifterCompany
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        '400':
          $ref: '#/components/responses/DataError'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/WindowControl/data-lists:
    get:
      description: Retrieves the list of existing data-lists for the WindowControl
        application.
      tags:
      - data-lists
      responses:
        '200':
          description: List of data-lists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfDataLists'
              example:
                items:
                - id: 7ab52f10-5ea9-4610-a1de-c414c8265ce4
                  items:
                  - id: DriverWindow
                    name: '...'
                    category: '...'
                    groups:
                    - '...'
                  - '...': '...'
        default:
          $ref: '#/components/responses/GenericError'
    post:
      description: Creates a new data-list for reading multiple data values at once.
      tags:
      - data-lists
      requestBody:
        $ref: '#/components/requestBodies/CreateDataList'
      responses:
        '201':
          description: Data-list created.
          headers:
            Location:
              description: URI of the newly created data-list.
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataListId'
              example:
                id: 7ab52f10-5ea9-4610-a1de-c414c8265ce4
        default:
          $ref: '#/components/responses/GenericError'
  /apps/WindowControl/data-lists/7ab52f10-5ea9-4610-a1de-c414c8265ce4:
    get:
      description: Reads the values for the data-list with ID 7ab52f10-...
      tags:
      - data-lists
      responses:
        '200':
          description: Values from the data-list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadDataListResponse'
              example:
                id: 7ab52f10-5ea9-4610-a1de-c414c8265ce4
                items:
                - id: DriverWindow
                  data:
                    Position: 100
                - id: PassengerWindow
                  data:
                    Position: 100
                - id: RearWindows
                  data:
                    PositionLeft: 100
                    PositionRight: 0
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Deletes the data-list with ID 7ab52f10-...
      tags:
      - data-lists
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/WindowControl/cyclic-subscriptions:
    get:
      description: Retrieves the list of active cyclic subscriptions for the WindowControl
        application.
      tags:
      - subscriptions
      responses:
        '200':
          description: List of subscriptions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfSubscriptions'
              example:
                items:
                - id: 7ab52f10-5ea9-4610-a1de-f45ec8265ce4
                  resource: /v1/apps/WindowControl/data/RearWindows
                  event_source: /v1/apps/WindowControl/cyclic-subscriptions/7ab52f10-5ea9-4610-a1de-f45ec8265ce4/events
                  protocol: sse
        default:
          $ref: '#/components/responses/GenericError'
    post:
      description: Creates a new cyclic subscription.
      tags:
      - subscriptions
      requestBody:
        $ref: '#/components/requestBodies/CreateSubscription'
      responses:
        '201':
          description: Subscription created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionInfo'
              example:
                id: 7ab52f10-5ea9-4610-a1de-f45ec8265ce4
                observed_resource: /v1/apps/WindowControl/data/RearWindows
                event_source: /v1/apps/WindowControl/cyclic-subscriptions/7ab52f10-5ea9-4610-a1de-f45ec8265ce4/events
                protocol: sse
                interval: fast
                expires: '2021-07-20T00:00:04.387819Z'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/WindowControl/cyclic-subscriptions/7ab52f10-5ea9-4610-a1de-f45ec8265ce4:
    get:
      description: Retrieves details for the cyclic subscription with ID 7ab52f10-...
      tags:
      - subscriptions
      responses:
        '200':
          description: Subscription details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionInfo'
              example:
                id: 7ab52f10-5ea9-4610-a1de-f45ec8265ce4
                observed_resource: "/v1/apps/WindowControl/data/RearWindows "
                event_source: /v1/apps/WindowControl/cyclic-subscriptions/7ab52f10-5ea9-4610-a1de-f45ec8265ce4/events
                protocol: sse
                interval: fast
                expires: '2021-07-20T00:00:04.387819Z'
        default:
          $ref: '#/components/responses/GenericError'
    put:
      description: Updates the cyclic subscription with ID 7ab52f10-...
      tags:
      - subscriptions
      requestBody:
        $ref: '#/components/requestBodies/UpdateSubscription'
      responses:
        '200':
          description: Subscription updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionInfo'
              example:
                id: 7ab52f10-5ea9-4610-a1de-f45ec8265ce4
                observed_resource: /v1/apps/WindowControl/data/RearWindows
                event_source: /v1/apps/WindowControl/cyclic-subscriptions/7ab52f10-5ea9-4610-a1de-f45ec8265ce4/events
                protocol: sse
                interval: fast
                expires: '2021-07-20T00:03:14.387919Z'
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Deletes the cyclic subscription with ID 7ab52f10-...
      tags:
      - subscriptions
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/WindowControl/triggers:
    get:
      description: Retrieves the list of active triggers for the WindowControl application.
      tags:
      - triggers
      responses:
        '200':
          description: List of triggers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfTriggers'
              example:
                items:
                - id: 7ab52f10-5ea9-4610-a1de-f45ec8265ce4
                  observed_resource: /v1/apps/WindowControl/data/RearWindows
                  event_source: /v1/apps/WindowControl/triggers/7ab52f10-5ea9-4610-a1de-f45ec8265ce4/events
                  protocol: sse
                  expires: '2021-06-22T11:57:22Z'
                  status: active
                - id: c51b2e75-394c-43ec-824a-61206762e7b8
                  observed_resource: /v1/components/Camera/faults?status%5BaggregatedStatus%5D=active
                  event_source: http://172.13.5.8/trigger-event-sources/c51b2e75-394c-43ec-824a-61206762e7b8
                  protocol: sse
                  expires: '2021-06-22T11:47:22Z'
                  status: active
        default:
          $ref: '#/components/responses/GenericError'
    post:
      description: Creates a new trigger.
      tags:
      - triggers
      requestBody:
        $ref: '#/components/requestBodies/CreateTrigger'
      responses:
        '201':
          description: Trigger created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TriggerInfo'
              example:
                id: 7ab52f10-5ea9-4610-a1de-f45ec8265ce4
                observed_resource: /v1/apps/WindowControl/data/RearWindows
                event_source: /v1/apps/WindowControl/triggers/7ab52f10-5ea9-4610-a1de-f45ec8265ce4/events
                protocol: sse
                expires: '2021-06-26T13:22:01Z'
                status: active
                trigger_condition:
                  condition_type: EnterRange
                  lower_bound: 80
                  upper_bound: 90
                path: PositionLeft
                log_settings:
                  log_resource: true
                  log_severity: warn
                multishot: true
                persistent: false
        default:
          $ref: '#/components/responses/GenericError'
  /components/Camera/triggers:
    post:
      description: Creates a new trigger for the Camera component.
      tags:
      - triggers
      requestBody:
        $ref: '#/components/requestBodies/CreateTrigger'
      responses:
        '201':
          description: Trigger created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TriggerInfo'
              example:
                id: c51b2e75-394c-43ec-824a-61206762e7b8
                observed_resource: /v1/components/Camera/faults?status%5BaggregatedStatus%5D=active
                event_source: /v1/trigger-event-sources/c51b2e75-394c-43ec-824a61206762e7b8/events
                protocol: sse
                expires: '2021-06-22T11:47:22Z'
                status: active
                trigger_condition:
                  condition_type: OnChange
                log_settings:
                  log_marker_text: --- Active DTCs of camera changed ---
                  log_severity: error
                multishot: true
                persistent: true
                lifetime: 3600
        default:
          $ref: '#/components/responses/GenericError'
  /apps/WindowControl/triggers/7ab52f10-5ea9-4610-a1de-f45ec8265ce4:
    get:
      description: Retrieves details for the trigger with ID 7ab52f10-...
      tags:
      - triggers
      responses:
        '200':
          description: Trigger details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TriggerInfo'
              example:
                id: 7ab52f10-5ea9-4610-a1de-f45ec8265ce4
                observed_resource: /v1/apps/WindowControl/data/RearWindows
                event_source: /v1/apps/WindowControl/triggers/7ab52f10-5ea9-4610-a1de-f45ec8265ce4/events
                protocol: sse
                expires: '2021-07-20T00:00:04.387819Z'
                status: active
                trigger_condition:
                  condition_type: EnterRange
                  lower_bound: 80
                  upper_bound: 90
                path: PositionLeft
                log_settings:
                  log_resource: true
                  log_severity: warn
                multishot: true
                persistent: false
        default:
          $ref: '#/components/responses/GenericError'
    put:
      description: Updates the trigger with ID 7ab52f10-...
      tags:
      - triggers
      requestBody:
        $ref: '#/components/requestBodies/UpdateTrigger'
      responses:
        '200':
          description: Trigger updated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  expires:
                    type: string
                    format: date-time
              example:
                expires: '2021-07-20T01:00:04.387819Z'
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Deletes the trigger with ID 7ab52f10-...
      tags:
      - triggers
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/configurations:
    get:
      description: Retrieves the list of configurations for the AdvancedLaneKeeping
        application.
      tags:
      - configurations
      - discovery
      responses:
        '200':
          description: List of configurations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfConfigurations'
              example:
                items:
                - id: ObjectRecognitionModel
                  name: Model of objects to be recognized
                  type: bulk
                  version: 1.45.2107
                  content_type: application/octet-stream
                - id: ALKConfig
                  name: Configuration for the Advanced Lane Keeping System
                  type: parameter
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Deletes all configurations for the AdvancedLaneKeeping application.
      tags:
      - configurations
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/configurations/ObjectRecognitionModel:
    get:
      description: Reads the ObjectRecognitionModel bulk configuration.
      tags:
      - configurations
      responses:
        '200':
          description: Configuration data (multipart).
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  signature:
                    type: string
                    description: Signature part
                  ObjectRecognitionModel:
                    type: string
                    format: binary
                    description: File part
              encoding:
                signature:
                  contentType: application/json
                ObjectRecognitionModel:
                  contentType: application/octet-stream
              example: See simulation data for multipart example structure
        default:
          $ref: '#/components/responses/GenericError'
    put:
      description: Writes/Uploads the ObjectRecognitionModel bulk configuration.
      tags:
      - configurations
      requestBody:
        $ref: '#/components/requestBodies/WriteConfiguration'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Deletes the ObjectRecognitionModel configuration.
      tags:
      - configurations
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/configurations/ALKConfig:
    get:
      description: Reads the ALKConfig parameter configuration.
      tags:
      - configurations
      responses:
        '200':
          description: Configuration parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadValue'
              example:
                id: ALKConfig
                data:
                  MaximumSpeed: 150
                  MinimumDistanceToLine: 15.0
                  EmergencyLaneDistanceToLine: 5.0
        default:
          $ref: '#/components/responses/GenericError'
    put:
      description: Writes the ALKConfig parameter configuration.
      tags:
      - configurations
      requestBody:
        $ref: '#/components/requestBodies/WriteConfiguration'
      '204':
        $ref: '#/components/responses/NoContent'
      default:
        $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/clear-data:
    get:
      description: Retrieves resources related to clearing data for AdvancedLaneKeeping.
      tags:
      - data-clearing
      responses:
        '200':
          description: Data clearing resource URIs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    format: uri-reference
                  cached-data:
                    type: string
                    format: uri-reference
                  learned-data:
                    type: string
                    format: uri-reference
                  client-defined-resources:
                    type: string
                    format: uri-reference
              example:
                status: /v1/apps/AdvancedLaneKeeping/clear-data/status
                cached-data: /v1/apps/AdvancedLaneKeeping/clear-data/cached-data
                learned-data: /v1/apps/AdvancedLaneKeeping/learned-data
                client-defined-resources: /v1/apps/AdvancedLaneKeeping/client-defined-resources
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/clear-data/cached-data:
    put:
      description: Initiates clearing of cached data for AdvancedLaneKeeping.
      tags:
      - data-clearing
      responses:
        '202':
          $ref: '#/components/responses/Accepted'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/clear-data/learned-data:
    put:
      description: Initiates clearing of learned data for AdvancedLaneKeeping.
      tags:
      - data-clearing
      responses:
        '202':
          $ref: '#/components/responses/Accepted'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/clear-data/status:
    get:
      description: Retrieves the status of the last data clearing operation.
      tags:
      - data-clearing
      responses:
        '200':
          description: Data clearing status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClearDataStatus'
              example:
                status: running
                resource: cached-data
                last_started: '2023-12-31 21:09:18.454'
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering/operations:
    get:
      description: Retrieves the list of operations available for the PowerSteering
        component.
      tags:
      - operations-control
      - discovery
      responses:
        '200':
          description: List of operations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfOperations'
              example:
                items:
                - id: SteeringAngleControl
                  name: Control the steering angle value
                  translation_id: tid1928653
                  proximity_proof_required: false
                  asynchronous_execution: true
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering/operations/SteeringAngleControl:
    get:
      description: Retrieves details for the SteeringAngleControl operation.
      tags:
      - operations-control
      - discovery
      responses:
        '200':
          description: Operation details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationDetails'
              example:
                item:
                  id: SteeringAngleControl
                  name: Control the steering angle value
                  translation_id: tid1928653
                  proximity_proof_required: false
                  asynchronous_execution: true
                modes:
                  session:
                  - EXTENDED
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering/operations/SteeringAngleControl/executions:
    get:
      description: Retrieves the list of active executions for the SteeringAngleControl
        operation.
      tags:
      - operations-control
      responses:
        '200':
          description: List of execution IDs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfExecutions'
              example:
                items:
                - id: fd34f39d-06e7-494b-af2d-8928e1458fb0
        default:
          $ref: '#/components/responses/GenericError'
    post:
      description: Starts a new execution of the SteeringAngleControl operation.
      tags:
      - operations-control
      requestBody:
        $ref: '#/components/requestBodies/StartExecution'
      responses:
        '202':
          description: Execution started.
          headers:
            Location:
              description: URI to monitor the execution status.
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionStatus'
              example:
                id: fd34f39d-06e7-494b-af2d-8928e1458fb0
                status: running
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering/operations/SteeringAngleControl/executions/fd34f39d-06e7-494b-af2d-8928e1458fb0:
    get:
      description: Retrieves the status and details of the operation execution with
        ID fd34f39d-...
      tags:
      - operations-control
      responses:
        '200':
          description: Execution status and details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionDetails'
              example:
                status: running
                capability: execute
                parameters:
                  control-type: absolute
                  angle: 120.3
        default:
          $ref: '#/components/responses/GenericError'
    put:
      description: Controls the ongoing operation execution (e.g., reset, freeze).
      tags:
      - operations-control
      requestBody:
        $ref: '#/components/requestBodies/ControlExecution'
      responses:
        '202':
          description: Control command accepted.
          headers:
            Location:
              description: URI to monitor the execution status.
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionStatus'
              example:
                id: fd34f39d-06e7-494b-af2d-8928e1458fb0
                status: running
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Stops (deletes) the operation execution with ID fd34f39d-...
      tags:
      - operations-control
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /components/DrivingComputer/scripts:
    get:
      description: Retrieves the list of available scripts for the DrivingComputer.
      tags:
      - scripts
      - discovery
      responses:
        '200':
          description: List of scripts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfScripts'
              example:
                items:
                - id: CollectAppMetrics
                  name: Collect App environment metrics
                  proximity_proof_required: false
                - id: AppCleanup
                  name: Deletes all unused resources of an App
                  proximity_proof_required: true
        default:
          $ref: '#/components/responses/GenericError'
    post:
      description: Uploads or defines a new script.
      tags:
      - scripts
      requestBody:
        description: Script content and metadata.
        required: true
        content:
          application/octet-stream:
            schema:
              type: string
              format: binary
          text/plain:
            schema:
              type: string
      responses:
        '201':
          description: Script created/uploaded.
          headers:
            Location:
              description: URI of the newly created script.
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScriptId'
              example:
                id: CollectAppMetrics
        default:
          $ref: '#/components/responses/GenericError'
  /components/DrivingComputer/scripts/CollectAppMetrics:
    get:
      description: Retrieves details and source for the CollectAppMetrics script.
      tags:
      - scripts
      responses:
        '200':
          description: Script details and source URI.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScriptDetails'
              example:
                item:
                  id: CollectAppMetrics
                  name: Collect execution metrics of an App
                  proximity_proof_required: false
                source: /v1/components/DrivingComputer/Scripts/CollectAppMetrics
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Deletes the CollectAppMetrics script.
      tags:
      - scripts
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /components/DrivingComputer/scripts/CollectAppMetrics/executions:
    get:
      description: Retrieves the list of active executions for the CollectAppMetrics
        script.
      tags:
      - scripts
      responses:
        '200':
          description: List of script execution IDs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfExecutions'
              example:
                items:
                - fd34f39d-06e7-494b-af2d-8928e1458fb0
                - cb73a10d-89a3-342d-eb5d-3527a3963ac1
        default:
          $ref: '#/components/responses/GenericError'
    post:
      description: Starts a new execution of the CollectAppMetrics script.
      tags:
      - scripts
      requestBody:
        $ref: '#/components/requestBodies/StartScriptExecution'
      responses:
        '202':
          description: Script execution started.
          headers:
            Location:
              description: URI to monitor the script execution status.
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionStatus'
              example:
                id: fd34f39d-06e7-494b-af2d-8928e1458fb0
                status: running
        default:
          $ref: '#/components/responses/GenericError'
  /components/DrivingComputer/scripts/CollectAppMetrics/executions/fd34f39d-06e7-494b-af2d-8928e1458fb0:
    get:
      description: Retrieves the status and result of the script execution with ID
        fd34f39d-...
      tags:
      - scripts
      responses:
        '200':
          description: Script execution status and result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionDetails'
              example:
                status: running
                last_started: '2023-12-31 22:10:04.387'
                result:
                  cpu_usage: 12.8
                  cpu_temperature: 45
                  ram_usage: 2048
        default:
          $ref: '#/components/responses/GenericError'
    put:
      description: Controls the script execution (e.g., stop).
      tags:
      - scripts
      requestBody:
        $ref: '#/components/requestBodies/ControlScriptExecution'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Deletes the record of the script execution with ID fd34f39d-...
      tags:
      - scripts
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering/modes:
    get:
      description: Retrieves the list of supported modes for the PowerSteering component.
      tags:
      - target-modes
      - discovery
      responses:
        '200':
          description: List of modes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfModes'
              example:
                items:
                - id: session
                  name: Diagnostic session
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering/modes/session:
    get:
      description: Retrieves the current value of the 'session' mode.
      tags:
      - target-modes
      responses:
        '200':
          description: Current mode value.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Mode'
              example:
                name: Diagnostic session
                value: DEFAULT
        default:
          $ref: '#/components/responses/GenericError'
    put:
      description: Sets the value of the 'session' mode.
      tags:
      - target-modes
      requestBody:
        $ref: '#/components/requestBodies/SetMode'
      responses:
        '200':
          description: Mode set successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  value:
                    type: string
                required:
                - id
                - value
              example:
                id: session
                value: EXTENDED
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering/locks:
    get:
      description: Retrieves the list of locks currently held on the PowerSteering
        component.
      tags:
      - locking
      responses:
        '200':
          description: List of locks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfLocks'
              example:
                items:
                - id: 15c3e824-8278-44e1-b0b2-3bc16e4522f2
                  owned: true
                  scopes:
                  - control
        default:
          $ref: '#/components/responses/GenericError'
    post:
      description: Acquires a lock on the PowerSteering component.
      tags:
      - locking
      requestBody:
        $ref: '#/components/requestBodies/AcquireLock'
      responses:
        '201':
          description: Lock acquired.
          headers:
            Location:
              description: URI of the acquired lock.
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LockId'
              example:
                id: 15c3e824-8278-44e1-b0b2-3bc16e4522f2
        '409':
          description: Conflict - Resource already locked.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering/locks/15c3e824-8278-44e1-b0b2-3bc16e4522f2:
    get:
      description: Retrieves details for the lock with ID 15c3e824-...
      tags:
      - locking
      responses:
        '200':
          description: Lock details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LockDetails'
              example:
                lock_expiration: '2021-06-22T11:47:22Z'
                owned: true
                scopes:
                - control
        default:
          $ref: '#/components/responses/GenericError'
    put:
      description: Updates the expiration time for the lock with ID 15c3e824-...
      tags:
      - locking
      requestBody:
        $ref: '#/components/requestBodies/UpdateLock'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Releases the lock with ID 15c3e824-...
      tags:
      - locking
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /updates:
    get:
      description: Retrieves the list of available or known update packages.
      tags:
      - updates
      - discovery
      responses:
        '200':
          description: List of update package IDs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfUpdates'
              example:
                items:
                - autonomous
                - ADAS-v2-03-2154
                - CAM-v1-18-8643
        default:
          $ref: '#/components/responses/GenericError'
    post:
      description: Registers or uploads a new update package.
      tags:
      - updates
      requestBody:
        $ref: '#/components/requestBodies/UploadUpdatePackage'
      responses:
        '201':
          description: Update package registered.
          headers:
            Location:
              description: URI of the registered update package.
              schema:
                type: string
                format: uri-reference
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateId'
        default:
          $ref: '#/components/responses/GenericError'
  /updates/autonomous:
    get:
      description: Retrieves details for the 'autonomous' update package (which might
        resolve to a specific version).
      tags:
      - updates
      responses:
        '200':
          description: Update package details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateDetails'
              example:
                id: ADAS-v2-03-2154
                update_name: ADAS feature update to version 2-03-2154
                automated: true
                origins:
                - remote
                - proximity
                preconditions: parking
                duration: 900
                size: 247000
                updated_components:
                - /v1/components/PowerSteering
                - /v1/apps/AdvancedLaneKeeping
                affected_components:
                - /v1/apps/AdvancedLaneKeeping
        default:
          $ref: '#/components/responses/GenericError'
  /updates/ADAS-v2-03-2154/automated:
    put:
      description: Initiates an automated update process for package ADAS-v2-03-2154.
      tags:
      - updates
      responses:
        '202':
          description: Automated update process initiated.
          headers:
            Location:
              description: URI to monitor the update status.
              schema:
                type: string
                format: uri-reference
              example: /v1/updates/ADAS-v2-03-2154/status
        '409':
          description: Conflict - Update process already in progress.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        default:
          $ref: '#/components/responses/GenericError'
  /updates/WC-v4-03-8413/prepare:
    put:
      description: Initiates the preparation phase for update package WC-v4-03-8413.
      tags:
      - updates
      responses:
        '202':
          description: Update preparation initiated.
          headers:
            Location:
              description: URI to monitor the update status.
              schema:
                type: string
                format: uri-reference
              example: /v1/updates/WC-v4-03-8413/status
        '409':
          description: Conflict - Update preparation already in progress.
          headers:
            Location:
              description: URI to monitor the ongoing update status.
              schema:
                type: string
                format: uri-reference
              example: /v1/updates/WC-v4-03-8413/status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
              example:
                error_code: update-preparation-in-progress
                message: An update is already in preparation
                parameters:
                  id: Identifier for update
        default:
          $ref: '#/components/responses/GenericError'
  /updates/WC-v4-03-8413/execute:
    put:
      description: Initiates the execution phase for update package WC-v4-03-8413.
      tags:
      - updates
      responses:
        '202':
          description: Update execution initiated.
          headers:
            Location:
              description: URI to monitor the update status.
              schema:
                type: string
                format: uri-reference
              example: /v1/updates/WC-v4-03-8413/status
        '409':
          description: Conflict - Cannot execute update.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        default:
          $ref: '#/components/responses/GenericError'
  /updates/ADAS-v2-03-2154/status:
    get:
      description: Retrieves the status of the update process for package ADAS-v2-03-2154.
      tags:
      - updates
      responses:
        '200':
          description: Current update status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateStatus'
              example:
                phase: execute
                status: inProgress
                progress: 87
                subprogress:
                - entity: /v1/components/PowerSteering
                  status: completed
                  progress: 100
                - entity: /v1/apps/AdvancedLaneKeeping
                  status: inProgress
                  progress: 75
        default:
          $ref: '#/components/responses/GenericError'
  /updates/WC-v4-03-8413:
    delete:
      description: Cancels or deletes the update package WC-v4-03-8413.
      tags:
      - updates
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/status:
    get:
      description: Retrieves the current status and control URIs for the AdvancedLaneKeeping
        application.
      tags:
      - application-status
      responses:
        '200':
          description: Application status and controls.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppStatusInfo'
              example:
                status: ready
                start: /v1/apps/AdvancedLaneKeeping/status/start
                restart: /v1/apps/AdvancedLaneKeeping/status/restart
                force-restart: /v1/apps/AdvancedLaneKeeping/status/force-restart
                shutdown: /v1/apps/AdvancedLaneKeeping/status/shutdown
                force-shutdown: /v1/apps/AdvancedLaneKeeping/status/force-shutdown
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/status/start:
    put:
      description: Starts the AdvancedLaneKeeping application.
      tags:
      - application-status
      requestBody:
        $ref: '#/components/requestBodies/ControlAppStatus'
      responses:
        '202':
          description: Start command accepted.
          headers:
            Location:
              description: URI to monitor the application status.
              schema:
                type: string
                format: uri-reference
              example: /v1/apps/AdvancedLaneKeeping/status
        '409':
          description: Conflict - Application already running.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
              example:
                error_code: already-running
                message: app is already running
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/status/restart:
    put:
      description: Restarts the AdvancedLaneKeeping application.
      tags:
      - application-status
      requestBody:
        $ref: '#/components/requestBodies/ControlAppStatus'
      responses:
        '202':
          description: Restart command accepted.
          headers:
            Location:
              schema:
                type: string
                format: uri-reference
              example: /v1/apps/AdvancedLaneKeeping/status
        '409':
          description: Conflict - Precondition not fulfilled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
              example:
                error_code: precondition-not-fulfilled
                message: Restarting not allowed while vehicle is in motion
        default:
          $ref: '#/components/responses/GenericError'
  /apps/Navigation/status/force-restart:
    put:
      description: Force restarts the Navigation application.
      tags:
      - application-status
      requestBody:
        $ref: '#/components/requestBodies/ControlAppStatus'
      responses:
        '202':
          description: Force restart command accepted.
          headers:
            Location:
              schema:
                type: string
                format: uri-reference
              example: /v1/apps/Navigation/status
        default:
          $ref: '#/components/responses/GenericError'
  /apps/AdvancedLaneKeeping/status/shutdown:
    put:
      description: Shuts down the AdvancedLaneKeeping application.
      tags:
      - application-status
      requestBody:
        $ref: '#/components/requestBodies/ControlAppStatus'
      responses:
        '202':
          description: Shutdown command accepted.
          headers:
            Location:
              schema:
                type: string
                format: uri-reference
              example: /v1/apps/AdvancedLaneKeeping/status
        '409':
          description: Conflict - Precondition not fulfilled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
              example:
                error_code: precondition-not-fulfilled
                message: Shutdown not allowed while vehicle in motion
        default:
          $ref: '#/components/responses/GenericError'
  /apps/Navigation/status/force-shutdown:
    put:
      description: Force shuts down the Navigation application.
      tags:
      - application-status
      requestBody:
        $ref: '#/components/requestBodies/ControlAppStatus'
      responses:
        '202':
          description: Force shutdown command accepted.
          headers:
            Location:
              schema:
                type: string
                format: uri-reference
              example: /v1/apps/Navigation/status
        '409':
          description: Conflict - Cannot force shutdown.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
              example:
                error_code: precondition-not-fulfilled
                message: Force shutdown not allowed
        default:
          $ref: '#/components/responses/GenericError'
  /apps/Navi/bulk-data:
    get:
      description: Retrieves the list of bulk data categories for the Navi application.
      tags:
      - bulk-data
      - discovery
      responses:
        '200':
          description: List of bulk data categories.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfBulkDataCategories'
              example:
                items:
                - maps
                - pois
                - logs
        default:
          $ref: '#/components/responses/GenericError'
  /apps/Navi/bulk-data/maps:
    get:
      description: Retrieves metadata for bulk data items in the 'maps' category.
      tags:
      - bulk-data
      parameters:
      - name: created-before
        in: query
        description: Filter items created before a specific timestamp.
        required: false
        schema:
          type: string
          format: date-time
        example: '2021-06-22T11:47:22Z'
      responses:
        '200':
          description: List of bulk data metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfBulkDataDescriptors'
              example:
                items:
                - id: EU
                  name: OSM data for Europe
                  mimetype: application/vnd.osm+xml
                - id: US
                  name: OSM data for the United States of America
                  mimetype: application/vnd.osm+xml
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Deletes all bulk data items in the 'maps' category.
      tags:
      - bulk-data
      responses:
        '200':
          description: Deletion result (some may fail).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkDataDeletionResult'
              example:
                deleted_ids:
                - US
                errors:
                - id: EU
                  error:
                    error_code: vendor-specific
                    vendor_code: unable-to-delete
                    message: Could not delete map currently in use.
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /apps/Navi/bulk-data/pois/GasStations:
    get:
      description: Downloads the 'GasStations' bulk data item from the 'pois' category.
      tags:
      - bulk-data
      responses:
        '200':
          description: Bulk data content (multipart).
          content:
            multipart/form-data:
              schema:
                type: object
                properties:
                  signature:
                    type: string
                    description: Signature part
                  GasStations:
                    type: string
                    format: binary
                    description: File part
              encoding:
                signature:
                  contentType: application/json
                GasStations:
                  contentType: application/octet-stream
              example: See simulation data for multipart example structure
            application/octet-stream:
              schema:
                type: string
                format: binary
        default:
          $ref: '#/components/responses/GenericError'
  /apps/Navigation/bulk-data/pois:
    post:
      description: Uploads a new bulk data item to the 'pois' category for the 'Navigation'
        app.
      tags:
      - bulk-data
      requestBody:
        $ref: '#/components/requestBodies/UploadBulkData'
      responses:
        '201':
          description: Bulk data uploaded.
          headers:
            Location:
              description: URI of the uploaded bulk data item.
              schema:
                type: string
                format: uri-reference
              example: /v1/app/Navigation/bulk-data/pois/GasStations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkDataId'
              example:
                id: GasStations
        default:
          $ref: '#/components/responses/GenericError'
  /apps/Navi/bulk-data/maps/US:
    delete:
      description: Deletes the 'US' bulk data item from the 'maps' category.
      tags:
      - bulk-data
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /components/DrivingComputer/logs:
    get:
      description: Retrieves the URIs for log entries and configuration for the DrivingComputer.
      tags:
      - logging
      - discovery
      responses:
        '200':
          description: Log resource URIs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  entries:
                    type: string
                    format: uri-reference
                  config:
                    type: string
                    format: uri-reference
                required:
                - entries
                - config
              example:
                entries: /v1/components/DrivingComputer/logs/entries
                config: /v1/components/DrivingComputer/logs/config
        default:
          $ref: '#/components/responses/GenericError'
  /components/DrivingComputer/logs/entries:
    get:
      description: Retrieves log entries for the DrivingComputer.
      tags:
      - logging
      responses:
        '200':
          description: List of log entries.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfLogEntries'
              example:
                items:
                - timestamp: '2021-07-20T00:00:04.387819Z'
                  context:
                    type: RFC5424
                    host: Linux
                    process: systemd
                    pid: 1
                  severity: info
                  msg: Closed D-Bus User Message Bus Socket
                  href: /v1/components/DrivingComputer/bulk-data/logs/server.log
                - timestamp: '2021-07-20T00:00:04.387820Z'
                  context:
                    type: AUTOSAR_DLT
                    session: SES01
                    session_id: '0x0001'
                    application_id: WindowControl
                    context_id: STD0
                    message_id: msg000012
                  severity: info
                  msg: Received command to close driver window
                  href: /v1/components/DrivingComputer/bulk-data/logs/window_control.log
                - timestamp: '2021-07-20T00:00:04.387821Z'
                  context:
                    type: RFC5424
                    host: Linux
                    process: systemd
                    pid: 1
                  severity: info
                  msg: Other log message for Linux host
                  href: /v1/components/DrivingComputer/bulk-data/logs/server.log
        default:
          $ref: '#/components/responses/GenericError'
  /components/DrivingComputer/logs/config:
    get:
      description: Retrieves the current logging configuration for the DrivingComputer.
      tags:
      - logging
      responses:
        '200':
          description: Current logging configuration.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfLogConfigurations'
              example:
                contexts:
                - context:
                    type: RFC5424
                    host: Linux
                    process: systemd
                    pid: 1
                  severity: info
                - context:
                    type: AUTOSAR_DLT
                    session: SES01
                    session_id: '0x0001'
                    application_id: WindowControl
                    context_id: STD0
                    message_id: msg000012
                  severity: info
        default:
          $ref: '#/components/responses/GenericError'
    put:
      description: Sets the logging configuration for the DrivingComputer.
      tags:
      - logging
      requestBody:
        $ref: '#/components/requestBodies/SetLogConfig'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Resets the logging configuration for the DrivingComputer to default.
      tags:
      - logging
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering/communication-logs:
    get:
      description: Retrieves the list of available communication logs for the PowerSteering
        component.
      tags:
      - communication-logging
      - discovery
      responses:
        '200':
          description: List of communication log IDs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfCommunicationLogs'
              example:
                items:
                - ea0d92dd-0956-43ca-a41f-f1c892fcf314
        default:
          $ref: '#/components/responses/GenericError'
    post:
      description: Creates a new communication log recording session.
      tags:
      - communication-logging
      requestBody:
        description: Parameters for the new communication log.
        required: false
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Communication log created.
          headers:
            Location:
              description: URI of the created communication log.
              schema:
                type: string
                format: uri-reference
              example: /v1/components/PowerSteering/communication-logs/ea0d92dd-0956-43ca-a41f-f1c892fcf314
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationLogId'
              example:
                id: ea0d92dd-0956-43ca-a41f-f1c892fcf314
                status: inactive
                stream: false
                log: /v1/components/PowerSteering/bulk-data/communication-logs/ea0d92ed-0a56-43ba-a51f-f1c492ecd314
        default:
          $ref: '#/components/responses/GenericError'
  /components/PowerSteering/communication-logs/ea0d92dd-0956-43ca-a41f-f1c892fcf314:
    get:
      description: Retrieves the status and details of the communication log with
        ID ea0d92dd-...
      tags:
      - communication-logging
      responses:
        '200':
          description: Communication log status and details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommunicationLogInfo'
              example:
                id: ea0d92dd-0956-43ca-a41f-f1c892fcf314
                status: active
                stream: false
                log: /v1/components/PowerSteering/bulk-data/communication-logs/ea0d92ed-0a56-43ba-a51f-f1c492ecd314
                activated: '2022-12-20T00:00:04.387819Z'
        default:
          $ref: '#/components/responses/GenericError'
    put:
      description: Controls the communication log recording (activate/deactivate).
      tags:
      - communication-logging
      requestBody:
        $ref: '#/components/requestBodies/ControlCommunicationLog'
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
    delete:
      description: Deletes the communication log with ID ea0d92dd-...
      tags:
      - communication-logging
      responses:
        '204':
          $ref: '#/components/responses/NoContent'
        default:
          $ref: '#/components/responses/GenericError'
  /token:
    post:
      description: Requests an authentication token (e.g., OAuth2).
      tags:
      - authentication
      requestBody:
        description: Credentials for token request.
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                grant_type:
                  type: string
                  example: client_credentials
      responses:
        '200':
          description: Authentication token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
              example:
                access_token: eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9...
                token_type: Bearer
                expires_in: 3600
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericError'
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVACM:
    get:
      description: Retrieves details for the LL_BVACM component.
      tags:
      - discovery
      responses:
        '200':
          description: Component details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityDetails'
              example:
                id: LL_BVACM
                name: BVACM
                data: /v1/components/LL_BVACM/data
                faults: /v1/components/LL_BVACM/faults
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVBCM:
    get:
      description: Retrieves details for the LL_BVBCM component.
      tags:
      - discovery
      responses:
        '200':
          description: Component details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityDetails'
              example:
                id: LL_BVBCM
                name: BVBCM
                data: /v1/components/LL_BVBCM/data
                faults: /v1/components/LL_BVBCM/faults
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVCCU:
    get:
      description: Retrieves details for the LL_BVCCU component.
      tags:
      - discovery
      responses:
        '200':
          description: Component details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityDetails'
              example:
                id: LL_BVCCU
                name: BVCCU
                data: /v1/components/LL_BVCCU/data
                faults: /v1/components/LL_BVCCU/faults
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVSESAM:
    get:
      description: Retrieves details for the LL_BVSESAM component.
      tags:
      - discovery
      responses:
        '200':
          description: Component details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityDetails'
              example:
                id: LL_BVSESAM
                name: BVSESAM
                data: /v1/components/LL_BVSESAM/data
                faults: /v1/components/LL_BVSESAM/faults
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVACM/data:
    get:
      description: Retrieves the list of data resources for the LL_BVACM component.
      tags:
      - data-retrieval
      - discovery
      responses:
        '200':
          description: List of data resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataList'
              example:
                items:
                - id: PartNumberAndVersionDataIdentifier
                  name: Part Number And Version Data Identifier
                  category: IDENTIFICATION-READ
                - id: ECUBodyCANdbcFileVersion
                  name: ECU Body CAN .dbc File Version
                  category: IDENTIFICATION-READ
                - id: ServiceDate
                  name: Service Date
                  category: IDENTIFICATION-READ
                - id: ECUNameDataIdentifier
                  name: ECU Name Data Identifier
                  category: IDENTIFICATION-READ
                - id: ActiveDiagnosticSessionDataIdentifier
                  name: Active Diagnostic Session Data Identifier
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUSoftwareNumberDataIdentifier
                  name: Vehicle Manufacturer ECU Software Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: SystemSupplierIdentifier
                  name: System Supplier Identifier
                  category: IDENTIFICATION-READ
                - id: ECUManufacturingDate
                  name: ECU Manufacturing Date
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUHardwareNumberDataIdentifier
                  name: Vehicle Manufacturer ECU Hardware Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: SystemSupplierECUHardwareNumber
                  name: System Supplier ECU Hardware Number
                  category: IDENTIFICATION-READ
                - id: SystemSupplierECUSoftwareNumber
                  name: System Supplier ECU Software Number
                  category: IDENTIFICATION-READ
                - id: SupplierSpecificPartNumberDataIdentifier
                  name: Supplier Specific Part Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: EndOfLinestatus
                  name: End Of Line status
                  category: IDENTIFICATION-READ
                - id: SquibResistanceValues
                  name: Squib Resistance Values
                  category: MEASUREMENT-VALUES-READ
                - id: RealTimeInformation
                  name: Real Time Information
                  category: MEASUREMENT-VALUES-READ
                - id: DataBlock1CrashData
                  name: Data Block 1 Crash Data
                  category: MEASUREMENT-VALUES-READ
                - id: DataBlock1SensorAccelerationData1k
                  name: Data Block 1Sensor Acceleration Data 1k
                  category: MEASUREMENT-VALUES-READ
                - id: DataBlock1FISAccelerationData1k
                  name: Data Block 1 FIS Acceleration Data 1k
                  category: MEASUREMENT-VALUES-READ
                - id: DataBlock1SensorAccelerationData2k
                  name: Data Block 1Sensor Acceleration Data 2k
                  category: MEASUREMENT-VALUES-READ
                - id: DataBlock1SISAccelerationData2k
                  name: Data Block 1SIS Acceleration Data 2k
                  category: MEASUREMENT-VALUES-READ
                - id: DataBlock2CrashData
                  name: Data Block 2 Crash Data
                  category: MEASUREMENT-VALUES-READ
                - id: DataBlock2SensorAccelerationData1k
                  name: Data Block 2 Sensor Acceleration Data 1k
                  category: MEASUREMENT-VALUES-READ
                - id: DataBlock2FISAccelerationData1k
                  name: Data Block 2 FIS Acceleration Data 1k
                  category: MEASUREMENT-VALUES-READ
                - id: DataBlock2SensorAccelerationData2k
                  name: Data Block 2 Sensor Acceleration Data 2k
                  category: MEASUREMENT-VALUES-READ
                - id: DataBlock2SISAccelerationData2k
                  name: Data Block 2 SIS Acceleration Data 2k
                  category: MEASUREMENT-VALUES-READ
                - id: ReadCrashRecordingDataStatus
                  name: Read Crash Recording Data Status
                  category: MEASUREMENT-VALUES-READ
                - id: VehicleManufacturerECUSoftwareNumber
                  name: Vehicle Manufacturer ECU Software Number
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUHardwareNumber
                  name: Vehicle Manufacturer ECU Hardware Number
                  category: IDENTIFICATION-READ
                - id: PartNumberAndVersionDataIdentifier
                  name: Part Number And Version Data Identifier
                  category: IDENTIFICATION-READ
                - id: DC_ReadDataByIdentCodinDataStrin
                  name: Read Data By Identifier Coding Data String
                  category: currentData
                - id: DC_ReadDataByIdentFactoVehicOrderData
                  name: Read Data By Identifier Factory Vehicle Order Data
                  category: currentData
                - id: DC_ReadDataByIdentCurreVehicOrderData
                  name: Read Data By Identifier Current Vehicle Order Data
                  category: currentData
                - id: DC_ReadDataByIdentParam
                  name: Read Data By Identifier Parametrization
                  category: PARAMETRIZATION-READ
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVBCM/data:
    get:
      description: Retrieves the list of data resources for the LL_BVBCM component.
      tags:
      - data-retrieval
      - discovery
      responses:
        '200':
          description: List of data resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataList'
              example:
                items:
                - id: VehicleIdentificationNumber
                  name: Vehicle Identification Number
                  category: IDENTIFICATION-READ
                - id: PartNumberAndVersionDataIdentifier
                  name: Part Number And Version Data Identifier
                  category: IDENTIFICATION-READ
                - id: ActiveDiagnosticSessionDataIdentifier
                  name: Active Diagnostic Session Data Identifier
                  category: IDENTIFICATION-READ
                - id: SystemSupplierIdentifier
                  name: System Supplier Identifier
                  category: IDENTIFICATION-READ
                - id: ECUManufacturingDate
                  name: ECU Manufacturing Date
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUHardwareNumberDataIdentifier
                  name: Vehicle Manufacturer ECU Hardware Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUSoftwareNumberDataIdentifier
                  name: Vehicle Manufacturer ECU Software Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: BootLoaderVersionNumber
                  name: Boot Loader Version Number
                  category: IDENTIFICATION-READ
                - id: ECUBodyCANdbcFileVersion
                  name: ECU Body CAN .dbc File Version
                  category: IDENTIFICATION-READ
                - id: ECUPTCANdbcFileVersion
                  name: ECU PT CAN .dbc File Version
                  category: IDENTIFICATION-READ
                - id: ECULIN1ldfFileVersion
                  name: ECU LIN1 .ldf File Version
                  category: IDENTIFICATION-READ
                - id: ECULIN2ldfFileVersion
                  name: ECU LIN2 .ldf File Version
                  category: IDENTIFICATION-READ
                - id: ServiceDate
                  name: Service Date
                  category: IDENTIFICATION-READ
                - id: SupplierSpecificPartNumberDataIdentifier
                  name: Supplier Specific Part Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: SystemSupplierECUHardwareNumber
                  name: System Supplier ECU Hardware Number
                  category: IDENTIFICATION-READ
                - id: SystemSupplierECUSoftwareNumber
                  name: System Supplier ECU Software Number
                  category: IDENTIFICATION-READ
                - id: ECUNameDataIdentifier
                  name: ECU Name Data Identifier
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint
                  name: Programming Fingerprint
                  category: IDENTIFICATION-READ
                - id: CodingforCDSFingerprint
                  name: Coding for CDS Fingerprint
                  category: IDENTIFICATION-READ
                - id: CodingforVODFingerprint
                  name: Coding for VOD Fingerprint
                  category: IDENTIFICATION-READ
                - id: ReadProgrammingFingerprint1
                  name: Read Programming Fingerprint1
                  category: IDENTIFICATION-READ
                - id: ReadProgrammingFingerprint2
                  name: Read Programming Fingerprint2
                  category: IDENTIFICATION-READ
                - id: ReadProgrammingFingerprint3
                  name: Read Programming Fingerprint3
                  category: IDENTIFICATION-READ
                - id: ReadProgrammingFingerprint4
                  name: Read Programming Fingerprint4
                  category: IDENTIFICATION-READ
                - id: ReadProgrammingFingerprint5
                  name: Read Programming Fingerprint5
                  category: IDENTIFICATION-READ
                - id: General
                  name: General
                  category: IDENTIFICATION-READ
                - id: MHUSetting
                  name: MHU Setting
                  category: IDENTIFICATION-READ
                - id: DoorLockConfiguration
                  name: Door Lock Configuration
                  category: IDENTIFICATION-READ
                - id: EnergyManagementConfiguration
                  name: Energy Management Configuration
                  category: IDENTIFICATION-READ
                - id: ClampConfiguration
                  name: Clamp Configuration
                  category: IDENTIFICATION-READ
                - id: HornDefrostBASPowerConfiguration
                  name: Horn/Defrost/BAS/Power Configuration
                  category: IDENTIFICATION-READ
                - id: ExternalLightConfiguration
                  name: External Light Configuration
                  category: IDENTIFICATION-READ
                - id: EngineStartStopConfiguration
                  name: Engine Start Stop Configuration
                  category: IDENTIFICATION-READ
                - id: InteralLightConfiguration
                  name: Interal Light Configuration
                  category: IDENTIFICATION-READ
                - id: MirrorConfiguration
                  name: Mirror Configuration
                  category: IDENTIFICATION-READ
                - id: wiperwasherconfiguration
                  name: wiper&washer configuration
                  category: IDENTIFICATION-READ
                - id: windowliftconfiguration
                  name: window lift configuration
                  category: IDENTIFICATION-READ
                - id: VoltageRegulation
                  name: VoltageRegulation
                  category: IDENTIFICATION-READ
                - id: IACconfiguration
                  name: IAC configuration
                  category: IDENTIFICATION-READ
                - id: IACdynamicnumberconfiguration
                  name: IAC dynamic number configuration
                  category: IDENTIFICATION-READ
                - id: Odometer
                  name: Odometer
                  category: MEASUREMENT-VALUES-READ
                - id: Powersupply
                  name: Power supply
                  category: MEASUREMENT-VALUES-READ
                - id: Ignitionstatus
                  name: Ignition status
                  category: MEASUREMENT-VALUES-READ
                - id: Crashstatus
                  name: Crash status
                  category: MEASUREMENT-VALUES-READ
                - id: Clampstatus
                  name: Clamp status
                  category: MEASUREMENT-VALUES-READ
                - id: HornDefrostPDCIOStatus
                  name: Horn/Defrost/PDC IO Status
                  category: MEASUREMENT-VALUES-READ
                - id: DoorlockingIOstatus
                  name: Door locking IO status
                  category: MEASUREMENT-VALUES-READ
                - id: WiperWasherLINinputstatus
                  name: Wiper Washer LIN input status
                  category: MEASUREMENT-VALUES-READ
                - id: WiperWasherIOstatus
                  name: Wiper Washer IO status
                  category: MEASUREMENT-VALUES-READ
                - id: WiperWasherLastCommandSource
                  name: Wiper Washer Last Command Source
                  category: MEASUREMENT-VALUES-READ
                - id: Externallightsinputstatus
                  name: External lights input status
                  category: MEASUREMENT-VALUES-READ
                - id: ExternalLightsOutputStatus
                  name: External Lights Output Status
                  category: MEASUREMENT-VALUES-READ
                - id: ExternalLightsLastCommandSource
                  name: External Lights Last Command Source
                  category: MEASUREMENT-VALUES-READ
                - id: InternallightsIOstatus
                  name: Internal lights IO status
                  category: MEASUREMENT-VALUES-READ
                - id: Internallightslastcommandsource
                  name: Internal lights last command source
                  category: MEASUREMENT-VALUES-READ
                - id: WindowLiftIOStatus1
                  name: Window Lift IO Status1
                  category: MEASUREMENT-VALUES-READ
                - id: WindowliftStatus2
                  name: Window lift Status2
                  category: MEASUREMENT-VALUES-READ
                - id: MirrorIOstatus
                  name: Mirror IO status
                  category: MEASUREMENT-VALUES-READ
                - id: FuelPumpStatus
                  name: Fuel Pump Status
                  category: MEASUREMENT-VALUES-READ
                - id: AntiTheftconfiguration
                  name: Anti Theft configuration
                  category: MEASUREMENT-VALUES-READ
                - id: SleepPreventerTable
                  name: Sleep Preventer Table
                  category: MEASUREMENT-VALUES-READ
                - id: Recordingofexceedingvehiclequiescentcurrent
                  name: Recording of exceeding vehicle quiescent current
                  category: MEASUREMENT-VALUES-READ
                - id: MirrorPosition
                  name: Mirror Position
                  category: MEASUREMENT-VALUES-READ
                - id: Energymanagementinfo
                  name: Energy management info
                  category: MEASUREMENT-VALUES-READ
                - id: ECUResetReason
                  name: ECU Reset Reason
                  category: MEASUREMENT-VALUES-READ
                - id: LockUnlockCmdInformation
                  name: LockUnlockCmd Information
                  category: MEASUREMENT-VALUES-READ
                - id: ComfortOpenCmdInformation
                  name: ComfortOpenCmd Information
                  category: MEASUREMENT-VALUES-READ
                - id: ReadSOC
                  name: ReadSOC
                  category: MEASUREMENT-VALUES-READ
                - id: CodingDataStringCDS
                  name: Coding Data String CDS
                  category: PARAMETRIZATION-READ
                - id: FactoryVehicleOrderDataVOD
                  name: Factory Vehicle Order Data VOD
                  category: PARAMETRIZATION-READ
                - id: CurrentVehicleOrderDataVOD
                  name: Current Vehicle Order Data VOD
                  category: PARAMETRIZATION-READ
                - id: VehicleManufacturerECUSoftwareNumber
                  name: Vehicle Manufacturer ECU Software Number
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUHardwareNumber
                  name: Vehicle Manufacturer ECU Hardware Number
                  category: IDENTIFICATION-READ
                - id: PartNumberAndVersionDataIdentifier
                  name: Part Number And Version Data Identifier
                  category: IDENTIFICATION-READ
                - id: DC_ReadDataByIdentCodinDataStrin
                  name: Read Data By Identifier Coding Data String
                  category: currentData
                - id: DC_ReadDataByIdentFactoVehicOrderData
                  name: Read Data By Identifier Factory Vehicle Order Data
                  category: currentData
                - id: DS_ReadFactoVehicOrderDataVOD
                  name: Read Factory Vehicle Order Data VOD
                  category: currentData
                - id: DC_ReadCurreVehicOrderDataVOD
                  name: Read Current Vehicle Order Data VOD
                  category: currentData
                - id: DC_ReadDataByIdentCurreVehicOrderData
                  name: Read Data By Identifier Current Vehicle Order Data
                  category: currentData
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVCCU/data:
    get:
      description: Retrieves the list of data resources for the LL_BVBCM component.
      tags:
      - data-retrieval
      - discovery
      responses:
        '200':
          description: List of data resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataList'
              example:
                items:
                - id: PartNumberAndVersionDataIdentifier
                  name: Part Number And Version Data Identifier
                  category: IDENTIFICATION-READ
                - id: ActiveDiagnosticSessionDataIdentifier
                  name: Active Diagnostic Session Data Identifier
                  category: IDENTIFICATION-READ
                - id: SystemSupplierIdentifier
                  name: System Supplier Identifier
                  category: IDENTIFICATION-READ
                - id: ECUManufacturingDate
                  name: ECU Manufacturing Date
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUHardwareNumberDataIdentifier
                  name: Vehicle Manufacturer ECU Hardware Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUSoftwareNumberDataIdentifier
                  name: Vehicle Manufacturer ECU Software Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: BootLoaderVersionNumber
                  name: Boot Loader Version Number
                  category: IDENTIFICATION-READ
                - id: ECUBodyCANdbcFileVersion
                  name: ECU Body CAN .dbc File Version
                  category: IDENTIFICATION-READ
                - id: ServiceDate
                  name: Service Date
                  category: IDENTIFICATION-READ
                - id: SupplierSpecificPartNumberDataIdentifier
                  name: Supplier Specific Part Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: SystemSupplierECUHardwareNumber
                  name: System Supplier ECU Hardware Number
                  category: IDENTIFICATION-READ
                - id: SystemSupplierECUSoftwareNumber
                  name: System Supplier ECU Software Number
                  category: IDENTIFICATION-READ
                - id: ECUNameDataIdentifier
                  name: ECU Name Data Identifier
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint
                  name: Programming Fingerprint
                  category: IDENTIFICATION-READ
                - id: CodingforCDSFingerprint
                  name: Coding for CDS Fingerprint
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint1
                  name: Programming Fingerprint 1
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint2
                  name: Programming Fingerprint 2
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint3
                  name: Programming Fingerprint 3
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint4
                  name: Programming Fingerprint 4
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint5
                  name: Programming Fingerprint 5
                  category: IDENTIFICATION-READ
                - id: IncartemperatureLeftside
                  name: Incar temperature(Left side)
                  category: MEASUREMENT-VALUES-READ
                - id: IncartemperatureRightside
                  name: Incar temperature(Right side)
                  category: MEASUREMENT-VALUES-READ
                - id: Evaporatortemperature
                  name: Evaporator temperature
                  category: MEASUREMENT-VALUES-READ
                - id: SolarradiationLeftside
                  name: Solar radiation (Left side)
                  category: MEASUREMENT-VALUES-READ
                - id: SolarradiationRightside
                  name: Solar radiation (Right side)
                  category: MEASUREMENT-VALUES-READ
                - id: PressureACRefrigerant
                  name: Pressure A/C Refrigerant
                  category: MEASUREMENT-VALUES-READ
                - id: BlowerPWM
                  name: Blower PWM
                  category: MEASUREMENT-VALUES-READ
                - id: Blowerfeedbackvoltage
                  name: Blower feedback voltage
                  category: MEASUREMENT-VALUES-READ
                - id: Modemotorstep
                  name: Mode motor step
                  category: MEASUREMENT-VALUES-READ
                - id: ACpwmset
                  name: AC pwm set
                  category: MEASUREMENT-VALUES-READ
                - id: PTClevelset
                  name: PTC level set
                  category: MEASUREMENT-VALUES-READ
                - id: Recyclemotorstep
                  name: Recycle motor step
                  category: MEASUREMENT-VALUES-READ
                - id: MixLmotorstep
                  name: Mix_L motor step
                  category: MEASUREMENT-VALUES-READ
                - id: MixRmotorstep
                  name: Mix_R motor step
                  category: MEASUREMENT-VALUES-READ
                - id: CompressorClutchrelay
                  name: Compressor Clutch relay
                  category: MEASUREMENT-VALUES-READ
                - id: Torquerequest
                  name: Torque request
                  category: MEASUREMENT-VALUES-READ
                - id: RearEvaporatortemperature
                  name: Rear Evaporator temperature
                  category: MEASUREMENT-VALUES-READ
                - id: RearACstatus
                  name: Rear AC status
                  category: MEASUREMENT-VALUES-READ
                - id: RearBlowerlevel
                  name: Rear Blower level
                  category: MEASUREMENT-VALUES-READ
                - id: LeftSetTemperature
                  name: Left Set Temperature
                  category: MEASUREMENT-VALUES-READ
                - id: RightSetTemperature
                  name: Right Set Temperature
                  category: MEASUREMENT-VALUES-READ
                - id: Batteryvoltage
                  name: Battery voltage
                  category: MEASUREMENT-VALUES-READ
                - id: DIRRDEF
                  name: DI_RR_DEF
                  category: MEASUREMENT-VALUES-READ
                - id: DIDEF
                  name: DI_DEF
                  category: MEASUREMENT-VALUES-READ
                - id: AIRECFB
                  name: AI_REC_FB
                  category: MEASUREMENT-VALUES-READ
                - id: DEFINDPWM
                  name: DEF_IND_PWM
                  category: MEASUREMENT-VALUES-READ
                - id: RRDEFINDPWM
                  name: RR_DEF_IND_PWM
                  category: MEASUREMENT-VALUES-READ
                - id: IGN1voltage
                  name: IGN1 voltage
                  category: MEASUREMENT-VALUES-READ
                - id: RearCompressorClutch
                  name: Rear Compressor Clutch
                  category: MEASUREMENT-VALUES-READ
                - id: VehicleManufacturerECUSoftwareNumber
                  name: Vehicle Manufacturer ECU Software Number
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUHardwareNumber
                  name: Vehicle Manufacturer ECU Hardware Number
                  category: IDENTIFICATION-READ
                - id: PartNumberAndVersionDataIdentifier
                  name: Part Number And Version Data Identifier
                  category: IDENTIFICATION-READ
                - id: DC_ReadDataByIdentCodinDataStrin
                  name: Read Data By Identifier Coding Data String
                  category: currentData
                - id: DC_ReadDataByIdentParam
                  name: Read Data By Identifier Parametrization
                  category: PARAMETRIZATION-READ
                - id: DC_ReadDataByIdentFactoVehicOrderData
                  name: Read Data By Identifier Factory Vehicle Order Data
                  category: currentData
                - id: DC_ReadDataByIdentCurreVehicOrderData
                  name: Read Data By Identifier Current Vehicle Order Data
                  category: currentData
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVSESAM/data:
    get:
      description: Retrieves the list of data resources for the LL_BVBCM component.
      tags:
      - data-retrieval
      - discovery
      responses:
        '200':
          description: List of data resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataList'
              example:
                items:
                - id: SystemSupplierIdentifier
                  name: System Supplier Identifier
                  category: IDENTIFICATION-READ
                - id: ECUManufacturingDate
                  name: ECU Manufacturing Date
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUHardwareNumberDataIdentifier
                  name: Vehicle Manufacturer ECU Hardware Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUSoftwareNumberDataIdentifier
                  name: Vehicle Manufacturer ECU Software Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: BootLoaderVersionNumber
                  name: Boot Loader Version Number
                  category: IDENTIFICATION-READ
                - id: ApplicationSoftwarePartNumber
                  name: Application Software Part Number
                  category: IDENTIFICATION-READ
                - id: BasicSoftwareDataPartNumber
                  name: Basic Software Data Part Number
                  category: IDENTIFICATION-READ
                - id: SupplierSpecificPartNumberDataIdentifier
                  name: Supplier Specific Part Number Data Identifier
                  category: IDENTIFICATION-READ
                - id: SystemSupplierECUHardwareNumber
                  name: System Supplier ECU Hardware Number
                  category: IDENTIFICATION-READ
                - id: SystemSupplierECUSoftwareNumber
                  name: System Supplier ECU Software Number
                  category: IDENTIFICATION-READ
                - id: ECUNameDataIdentifier
                  name: ECU Name Data Identifier
                  category: IDENTIFICATION-READ
                - id: PartNumberAndVersionDataIdentifier
                  name: Part Number And Version Data Identifier
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint
                  name: Programming Fingerprint
                  category: IDENTIFICATION-READ
                - id: ECUPTCANdbcFileVersion
                  name: ECU PT CAN .dbc File Version
                  category: IDENTIFICATION-READ
                - id: ServiceDate
                  name: Service Date
                  category: IDENTIFICATION-READ
                - id: ActiveDiagnosticSessionDataIdentifier
                  name: Active Diagnostic Session Data Identifier
                  category: IDENTIFICATION-READ
                - id: ECUSerialNumber
                  name: ECU Serial Number
                  category: IDENTIFICATION-READ
                - id: ECUInstallationDate
                  name: ECU Installation Date
                  category: IDENTIFICATION-READ
                - id: CodingforCDSFingerprint
                  name: Coding for CDS Fingerprint
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint1
                  name: Programming Fingerprint1
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint2
                  name: Programming Fingerprint2
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint3
                  name: Programming Fingerprint3
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint4
                  name: Programming Fingerprint4
                  category: IDENTIFICATION-READ
                - id: ProgrammingFingerprint5
                  name: Programming Fingerprint5
                  category: IDENTIFICATION-READ
                - id: TotalNumberofkeystobelearntwithSESAM
                  name: Total Number of keys to be learnt with SESAM
                  category: IDENTIFICATION-READ
                - id: ValueofAESSKkey
                  name: Value of AES SK key
                  category: IDENTIFICATION-READ
                - id: Pairingprepare
                  name: Pairing prepare
                  category: IDENTIFICATION-READ
                - id: IMMOSKSESAM
                  name: IMMO_SK_SESAM
                  category: IDENTIFICATION-READ
                - id: StatusIMMO
                  name: Status_IMMO
                  category: IDENTIFICATION-READ
                - id: StatusIMMOSK
                  name: Status_IMMO_SK
                  category: IDENTIFICATION-READ
                - id: PairingStatusofSESAMEnabledKeyLines
                  name: Pairing Status of SESAM Enabled Key Lines
                  category: MEASUREMENT-VALUES-READ
                - id: TotalNumberofKeysPaired
                  name: Total Number of Keys Paired
                  category: MEASUREMENT-VALUES-READ
                - id: PairedUIDID
                  name: Paired UID ID
                  category: MEASUREMENT-VALUES-READ
                - id: SESAMLifecyclewithUID
                  name: SESAM Lifecycle with UID
                  category: MEASUREMENT-VALUES-READ
                - id: VehicleManufacturerECUSoftwareNumber
                  name: Vehicle Manufacturer ECU Software Number
                  category: IDENTIFICATION-READ
                - id: VehicleManufacturerECUHardwareNumber
                  name: Vehicle Manufacturer ECU Hardware Number
                  category: IDENTIFICATION-READ
                - id: PartNumberAndVersionDataIdentifier
                  name: Part Number And Version Data Identifier
                  category: IDENTIFICATION-READ
                - id: DC_ReadDataByIdentCodinDataStrin
                  name: Read Data By Identifier Coding Data String
                  category: currentData
                - id: DC_ReadDataByIdentParam
                  name: Read Data By Identifier Parametrization
                  category: PARAMETRIZATION-READ
                - id: DC_ReadDataByIdentFactoVehicOrderData
                  name: Read Data By Identifier Factory Vehicle Order Data
                  category: currentData
                - id: DC_ReadDataByIdentCurreVehicOrderData
                  name: Read Data By Identifier Current Vehicle Order Data
                  category: currentData
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVACM/faults:
    get:
      description: Retrieves the list of faults for the LL_BVACM component.
      tags:
      - fault-handling
      responses:
        '200':
          description: List of faults.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfFaults'
              example:
                items: []
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVBCM/faults:
    get:
      description: Retrieves the list of faults for the LL_BVBCM component.
      tags:
      - fault-handling
      responses:
        '200':
          description: List of faults.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfFaults'
              example:
                items: []
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVCCU/faults:
    get:
      description: Retrieves the list of faults for the LL_BVCCU component.
      tags:
      - fault-handling
      responses:
        '200':
          description: List of faults.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfFaults'
              example:
                items:
                - code: '941015'
                  display_code: B141015
                  fault_name: Temp_L circuit open or short to vcc5
                  fault_translation_id: DT1722286109
                  severity: 1
                - code: '941115'
                  display_code: B141115
                  fault_name: Temp_R circuit open or short to vcc5
                  fault_translation_id: DT91231279
                  severity: 1
                - code: '941215'
                  display_code: B141215
                  fault_name: Evap_Temp circuit open or short to vcc5
                  fault_translation_id: DT1543977307
                  severity: 1
                - code: '941514'
                  display_code: B141514
                  fault_name: Pressure_sensor circuit open or short to gnd
                  fault_translation_id: DT1013087052
                  severity: 1
                - code: '941614'
                  display_code: B141614
                  fault_name: Mode motor step short to GND or open
                  fault_translation_id: DT2013316651
                  severity: 1
                - code: '941714'
                  display_code: B141714
                  fault_name: Rec_motor poti short to GND or open
                  fault_translation_id: DT1387823325
                  severity: 1
                - code: '941814'
                  display_code: B141814
                  fault_name: Mix_R motor step short to GND or open
                  fault_translation_id: DT1812302917
                  severity: 1
                - code: '941914'
                  display_code: B141914
                  fault_name: Mix_L motor step short to GND or open
                  fault_translation_id: DT1845107576
                  severity: 1
                - code: 941d14
                  display_code: B141D14
                  fault_name: Blower_FB resistance short to GND or open
                  fault_translation_id: DT858304387
                  severity: 1
                - code: d41187
                  display_code: U141187
                  fault_name: Lost_B_BCM
                  fault_translation_id: DT144357461
                  severity: 1
                - code: d41287
                  display_code: U141287
                  fault_name: Lost_B_ACM
                  fault_translation_id: DT276004366
                  severity: 1
                - code: d41387
                  display_code: U141387
                  fault_name: Lost_B_IPC
                  fault_translation_id: DT158782861
                  severity: 1
                - code: d41487
                  display_code: U141487
                  fault_name: Lost_B_MHU
                  fault_translation_id: DT349432114
                  severity: 1
                - code: d41587
                  display_code: U141587
                  fault_name: Lost_RR_CCU
                  fault_translation_id: DT316313274
                  severity: 1
        default:
          $ref: '#/components/responses/GenericError'
  /components/LL_BVSESAM/faults:
    get:
      description: Retrieves the list of faults for the LL_BVSESAM component.
      tags:
      - fault-handling
      responses:
        '200':
          description: List of faults.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfFaults'
              example:
                items: []
        default:
          $ref: '#/components/responses/GenericError'
  /areas/Perception/subareas:
    get:
      description: Provides the list of subareas within the Perception area.
      tags:
      - discovery
      responses:
        '200':
          description: List of subareas.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityList'
              example:
                items: []
        default:
          $ref: '#/components/responses/GenericError'
components:
  schemas:
    GenericError:
      description: Standard error structure.
      type: object
      properties:
        error_code:
          type: string
          description: SOVD standardized or vendor-specific error code.
        vendor_code:
          type: string
          description: Vendor specific error code if error_code is vendor-specific.
        message:
          type: string
          description: Detailed error message.
        translation_id:
          type: string
          description: Identifier for translating the message.
        parameters:
          type: object
          description: Additional error parameters.
      required:
      - error_code
      - message
    EntityReference:
      description: Reference to another entity (Component, Area, App).
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the entity.
        name:
          type: string
          description: Display name of the entity.
        href:
          type: string
          format: uri-reference
          description: Relative URI to the entity.
        tags:
          type: array
          items:
            type: string
          description: Optional tags associated with the entity.
      required:
      - id
      - name
      - href
    EntityList:
      description: A list of entity references.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/EntityReference'
      required:
      - items
    EntityDetails:
      description: Detailed information about an entity and its resource collections.
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        tags:
          type: array
          items:
            type: string
        variant:
          type: object
          description: Variant information.
        configurations:
          type: string
          format: uri-reference
        bulk-data:
          type: string
          format: uri-reference
        data:
          type: string
          format: uri-reference
        data-lists:
          type: string
          format: uri-reference
        faults:
          type: string
          format: uri-reference
        operations:
          type: string
          format: uri-reference
        scripts:
          type: string
          format: uri-reference
        updates:
          type: string
          format: uri-reference
        modes:
          type: string
          format: uri-reference
        locks:
          type: string
          format: uri-reference
        logs:
          type: string
          format: uri-reference
        communication-logs:
          type: string
          format: uri-reference
        cyclic-subscriptions:
          type: string
          format: uri-reference
        triggers:
          type: string
          format: uri-reference
        related-apps:
          type: string
          format: uri-reference
        related-components:
          type: string
          format: uri-reference
        subareas:
          type: string
          format: uri-reference
        subcomponents:
          type: string
          format: uri-reference
        status:
          type: string
          format: uri-reference
      required:
      - id
      - name
    DataMetadata:
      description: Metadata for a data resource.
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        category:
          type: string
        groups:
          type: array
          items:
            type: string
        tags:
          type: array
          items:
            type: string
      required:
      - id
      - name
      - category
    DataList:
      description: A list of data resource metadata.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/DataMetadata'
      required:
      - items
    DataError:
      description: Describes an error related to a specific part of the data.
      type: object
      properties:
        path:
          type: string
          format: json-pointer
          description: JSON Pointer to the erroneous element.
        error:
          $ref: '#/components/schemas/GenericError'
      required:
      - path
      - error
    ReadValue:
      description: Represents a single data value read from a resource.
      type: object
      properties:
        id:
          type: string
          description: Identifier of the data resource.
        data:
          description: The actual data value. Structure varies.
        errors:
          type: array
          items:
            $ref: '#/components/schemas/DataError'
          description: Optional errors related to reading parts of the data.
        schema:
          type: object
          description: Optional inline schema describing the 'data' structure.
      required:
      - id
      - data
    DataListId:
      description: Identifier for a created data list.
      type: object
      properties:
        id:
          type: string
      required:
      - id
    ReadDataListResponse:
      description: Response containing values read from a data list.
      type: object
      properties:
        id:
          type: string
          description: Identifier of the data list.
        items:
          type: array
          items:
            $ref: '#/components/schemas/ReadValue'
      required:
      - id
      - items
    Fault:
      description: Description of a single fault (DTC).
      type: object
      properties:
        code:
          type: string
          description: Native fault code.
        scope:
          type: string
          description: Fault scope (e.g., Default).
        display_code:
          type: string
          description: User-friendly display code (e.g., P-code).
        fault_name:
          type: string
          description: Description of the fault.
        fault_translation_id:
          type: string
          description: Translation ID for the fault name.
        severity:
          type: integer
          description: Severity level.
        status:
          type: object
          additionalProperties:
            type: string
          description: Detailed status bits (e.g., UDS status byte).
      required:
      - code
      - fault_name
    ListOfFaults:
      description: A list of faults.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Fault'
        schema:
          type: object
          description: Optional inline schema for the list.
      required:
      - items
    FaultDetails:
      description: Detailed information about a specific fault, including environment
        data.
      type: object
      properties:
        item:
          $ref: '#/components/schemas/Fault'
        environment_data:
          type: object
          properties:
            extended_data_records:
              type: object
              description: Extended data records.
            snapshots:
              type: array
              items:
                type: object
              description: Snapshot records (freeze frames).
      required:
      - item
    DataCategoryInfo:
      description: Information about a data category.
      type: object
      properties:
        item:
          type: string
          description: Category name.
        category_translation_id:
          type: string
          description: Translation ID.
      required:
      - item
    ListOfDataCategories:
      description: List of supported data categories.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/DataCategoryInfo'
      required:
      - items
    DataGroupInfo:
      description: Information about a data group.
      type: object
      properties:
        id:
          type: string
          description: Group ID.
        category:
          type: string
          description: Category the group belongs to.
      required:
      - id
      - category
    ListOfDataGroups:
      description: List of supported data groups.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/DataGroupInfo'
      required:
      - items
    SubscriptionInfo:
      description: Details of a cyclic subscription.
      type: object
      properties:
        id:
          type: string
        resource:
          type: string
          format: uri-reference
          description: The subscribed resource URI.
        observed_resource:
          type: string
          format: uri-reference
          description: The subscribed resource URI.
        event_source:
          type: string
          format: uri-reference
          description: URI to receive events.
        protocol:
          type: string
          description: Event protocol (e.g., sse).
        interval:
          type: string
          description: Subscription interval.
        expires:
          type: string
          format: date-time
          description: Expiration timestamp.
        status:
          type: string
          enum:
          - active
          - inactive
          description: Subscription status.
      required:
      - id
      - event_source
      - protocol
    ListOfSubscriptions:
      description: A list of subscriptions.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionInfo'
      required:
      - items
    TriggerInfo:
      description: Details of a trigger.
      type: object
      properties:
        id:
          type: string
        observed_resource:
          type: string
          format: uri-reference
        event_source:
          type: string
          format: uri-reference
        protocol:
          type: string
        expires:
          type: string
          format: date-time
        status:
          type: string
          enum:
          - active
          - inactive
        trigger_condition:
          type: object
          description: Condition that triggers the event.
        path:
          type: string
          description: JSON Pointer within the resource to monitor.
        log_settings:
          type: object
          description: Settings for logging when triggered.
        multishot:
          type: boolean
          description: Whether the trigger fires multiple times.
        persistent:
          type: boolean
          description: Whether the trigger persists across sessions.
        lifetime:
          type: integer
          description: Lifetime in seconds if not persistent.
      required:
      - id
      - observed_resource
      - event_source
      - protocol
      - status
      - trigger_condition
    ListOfTriggers:
      description: A list of triggers.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/TriggerInfo'
      required:
      - items
    ConfigurationMetadata:
      description: Metadata for a configuration resource.
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
          enum:
          - bulk
          - parameter
        version:
          type: string
          description: Version (mandatory for bulk).
        content_type:
          type: string
          description: MIME type (mandatory for bulk).
      required:
      - id
      - name
      - type
    ListOfConfigurations:
      description: A list of configuration metadata.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ConfigurationMetadata'
      required:
      - items
    ClearDataStatus:
      description: Status of a data clearing operation.
      type: object
      properties:
        status:
          type: string
          enum:
          - idle
          - running
          - completed
          - failed
        resource:
          type: string
          description: Resource being cleared (e.g., cached-data).
        last_started:
          type: string
          format: date-time
      required:
      - status
      - resource
      - last_started
    OperationDescription:
      description: Description of an available operation.
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        translation_id:
          type: string
        proximity_proof_required:
          type: boolean
        asynchronous_execution:
          type: boolean
      required:
      - id
      - name
      - proximity_proof_required
      - asynchronous_execution
    ListOfOperations:
      description: A list of operation descriptions.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/OperationDescription'
      required:
      - items
    OperationDetails:
      description: Detailed information about a specific operation.
      type: object
      properties:
        item:
          $ref: '#/components/schemas/OperationDescription'
        modes:
          type: object
          description: Required modes for execution.
        proximity_challenge:
          type: object
          properties:
            challenge:
              type: string
            valid_until:
              type: string
              format: date-time
          required:
          - challenge
          - valid_until
      required:
      - item
    ExecutionStatus:
      description: Status of an operation or script execution.
      type: object
      properties:
        id:
          type: string
          description: Execution identifier.
        status:
          type: string
          enum:
          - running
          - completed
          - failed
          - pending
          - inactive
          - active
      required:
      - id
      - status
    ExecutionDetails:
      description: Detailed status and result of an execution.
      type: object
      properties:
        status:
          type: string
          enum:
          - running
          - completed
          - failed
          - pending
          - inactive
          - active
        capability:
          type: string
          description: Capability being executed (for operations).
        parameters:
          type: object
          description: Current parameters or result parameters.
        last_started:
          type: string
          format: date-time
          description: Timestamp when execution started (for scripts).
        result:
          type: object
          description: Result data (for scripts).
        error:
          $ref: '#/components/schemas/GenericError'
          description: Error details if status is 'failed'.
      required:
      - status
    ListOfExecutions:
      description: A list of execution identifiers.
      type: object
      properties:
        items:
          type: array
          items:
            type: string
      required:
      - items
    ScriptInfo:
      description: Metadata for a script.
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        proximity_proof_required:
          type: boolean
      required:
      - id
      - name
      - proximity_proof_required
    ListOfScripts:
      description: A list of script metadata.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ScriptInfo'
      required:
      - items
    ScriptDetails:
      description: Detailed information about a specific script.
      type: object
      properties:
        item:
          $ref: '#/components/schemas/ScriptInfo'
        source:
          type: string
          format: uri-reference
          description: URI to retrieve the script content.
      required:
      - item
      - source
    ScriptId:
      description: Identifier for a created script.
      type: object
      properties:
        id:
          type: string
      required:
      - id
    ModeReference:
      description: Reference to a supported mode.
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      required:
      - id
      - name
    ListOfModes:
      description: A list of mode references.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ModeReference'
      required:
      - items
    Mode:
      description: Current value of a mode.
      type: object
      properties:
        name:
          type: string
        value:
          description: The current mode value (type varies).
      required:
      - name
      - value
    LockInfo:
      description: Information about a lock.
      type: object
      properties:
        id:
          type: string
        owned:
          type: boolean
          description: True if the current client owns the lock.
        scopes:
          type: array
          items:
            type: string
          description: Scopes covered by the lock.
      required:
      - id
      - owned
    ListOfLocks:
      description: A list of lock information.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/LockInfo'
      required:
      - items
    LockId:
      description: Identifier for an acquired lock.
      type: object
      properties:
        id:
          type: string
      required:
      - id
    LockDetails:
      description: Details of a specific lock.
      type: object
      properties:
        lock_expiration:
          type: string
          format: date-time
        owned:
          type: boolean
        scopes:
          type: array
          items:
            type: string
      required:
      - lock_expiration
      - owned
    UpdateId:
      description: Identifier for an update package.
      type: object
      properties:
        id:
          type: string
      required:
      - id
    ListOfUpdates:
      description: A list of update package identifiers.
      type: object
      properties:
        items:
          type: array
          items:
            type: string
      required:
      - items
    UpdateDetails:
      description: Detailed information about an update package.
      type: object
      properties:
        id:
          type: string
        update_name:
          type: string
        automated:
          type: boolean
        origins:
          type: array
          items:
            type: string
        preconditions:
          type: string
        duration:
          type: integer
          description: Estimated duration in seconds.
        size:
          type: integer
          description: Download size in kilobytes.
        updated_components:
          type: array
          items:
            type: string
            format: uri-reference
        affected_components:
          type: array
          items:
            type: string
            format: uri-reference
      required:
      - id
      - update_name
      - size
    UpdateStatus:
      description: Status of an update process.
      type: object
      properties:
        phase:
          type: string
          enum:
          - prepare
          - execute
        status:
          type: string
          enum:
          - pending
          - inProgress
          - failed
          - completed
        progress:
          type: integer
          description: Overall progress percentage.
        subprogress:
          type: array
          items:
            type: object
            properties:
              entity:
                type: string
                format: uri-reference
              status:
                type: string
                enum:
                - pending
                - inProgress
                - failed
                - completed
              progress:
                type: integer
            required:
            - entity
            - status
        error:
          $ref: '#/components/schemas/GenericError'
          description: Error details if status is 'failed'.
      required:
      - phase
      - status
    AppStatusInfo:
      description: Status and control URIs for an application.
      type: object
      properties:
        status:
          type: string
          enum:
          - running
          - stopped
          - ready
          - failed
          - unknown
        start:
          type: string
          format: uri-reference
        restart:
          type: string
          format: uri-reference
        force-restart:
          type: string
          format: uri-reference
        shutdown:
          type: string
          format: uri-reference
        force-shutdown:
          type: string
          format: uri-reference
      required:
      - status
    BulkDataCategory:
      description: A category for bulk data.
      type: string
      example: maps
    ListOfBulkDataCategories:
      description: A list of bulk data categories.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/BulkDataCategory'
      required:
      - items
    BulkDataDescriptor:
      description: Metadata for a bulk data item.
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        mimetype:
          type: string
        size:
          type: integer
        creation_date:
          type: string
          format: date-time
        last_modified:
          type: string
          format: date-time
        hash:
          type: string
        hash_algorithm:
          type: string
      required:
      - id
      - name
      - mimetype
    ListOfBulkDataDescriptors:
      description: A list of bulk data descriptors.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/BulkDataDescriptor'
      required:
      - items
    BulkDataId:
      description: Identifier for an uploaded bulk data item.
      type: object
      properties:
        id:
          type: string
      required:
      - id
    BulkDataDeletionResult:
      description: Result of a bulk data deletion operation.
      type: object
      properties:
        deleted_ids:
          type: array
          items:
            type: string
        errors:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              error:
                $ref: '#/components/schemas/GenericError'
            required:
            - id
            - error
      required:
      - deleted_ids
      - errors
    LogEntry:
      description: A single log entry.
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
        context:
          type: object
          description: Context information (e.g., RFC5424, DLT).
        severity:
          type: string
          enum:
          - fatal
          - error
          - warn
          - info
          - debug
        msg:
          type: string
          description: The log message.
        href:
          type: string
          format: uri-reference
          description: Link to the original log file/source.
      required:
      - timestamp
      - context
      - severity
      - msg
    ListOfLogEntries:
      description: A list of log entries.
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/LogEntry'
      required:
      - items
    LogConfiguration:
      description: Configuration for a specific log context.
      type: object
      properties:
        context:
          type: object
          description: The context to configure.
        severity:
          type: string
          enum:
          - fatal
          - error
          - warn
          - info
          - debug
          description: Minimum severity level to log.
      required:
      - context
      - severity
    ListOfLogConfigurations:
      description: The current logging configuration.
      type: object
      properties:
        contexts:
          type: array
          items:
            $ref: '#/components/schemas/LogConfiguration'
      required:
      - contexts
    CommunicationLogId:
      description: Identifier and initial status of a communication log.
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          enum:
          - active
          - inactive
        stream:
          type: boolean
        log:
          type: string
          format: uri-reference
          description: URI to the log data (likely bulk data).
      required:
      - id
      - status
      - stream
      - log
    ListOfCommunicationLogs:
      description: A list of communication log identifiers.
      type: object
      properties:
        items:
          type: array
          items:
            type: string
      required:
      - items
    CommunicationLogInfo:
      description: Status and details of a communication log.
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          enum:
          - active
          - inactive
        stream:
          type: boolean
        log:
          type: string
          format: uri-reference
        activated:
          type: string
          format: date-time
          description: Timestamp when activated.
      required:
      - id
      - status
      - stream
      - log
    TokenResponse:
      description: Response containing an authentication token.
      type: object
      properties:
        access_token:
          type: string
        token_type:
          type: string
          example: Bearer
        expires_in:
          type: integer
          description: Lifetime in seconds.
      required:
      - access_token
      - token_type
      - expires_in
  responses:
    GenericError:
      description: An unexpected error occurred.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError'
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError'
          example:
            error_code: resource-not-found
            message: The requested resource could not be found.
    MethodNotAllowed:
      description: Method Not Allowed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError'
          example:
            error_code: method-not-allowed
            message: The requested HTTP method is not supported for this resource.
    NoContent:
      description: Request successful, no content to return.
    Accepted:
      description: Request accepted for asynchronous processing.
      headers:
        Location:
          description: URI to monitor the status of the operation.
          schema:
            type: string
            format: uri-reference
    Created:
      description: Resource created successfully.
      headers:
        Location:
          description: URI of the newly created resource.
          schema:
            type: string
            format: uri-reference
    Conflict:
      description: Conflict - The request could not be completed due to a conflict
        with the current state of the resource (e.g., already locked, update in progress).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError'
    BadRequest:
      description: Bad Request - The request was malformed or contained invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError'
    Unauthorized:
      description: Unauthorized - Authentication is required and has failed or has
        not yet been provided.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError'
    Forbidden:
      description: Forbidden - The client does not have permission to access the
        requested resource or perform the action.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GenericError'
    DataError:
      description: Data Error - The provided data is invalid or incomplete.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DataError'
  requestBodies:
    WriteValue:
      description: Request body to write a single data value.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                description: The value to write (structure varies).
              signature:
                type: string
                description: Optional signature.
            required:
            - data
    CreateDataList:
      description: Request body to create a data list.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              ids:
                type: array
                items:
                  type: string
                description: List of data resource IDs.
            required:
            - ids
    CreateSubscription:
      description: Request body to create a cyclic subscription.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              resource:
                type: string
                format: uri-reference
              protocol:
                type: string
                enum:
                - sse
                - webhook
              interval:
                type: string
                description: Desired interval (e.g., fast, slow, custom).
              duration:
                type: integer
                description: Duration in seconds.
            required:
            - resource
            - protocol
            - interval
            - duration
    UpdateSubscription:
      description: Request body to update a cyclic subscription.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              interval:
                type: string
              duration:
                type: integer
            required:
            - interval
            - duration
    CreateTrigger:
      description: Request body to create a trigger.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              resource:
                type: string
                format: uri-reference
              trigger_condition:
                type: object
                description: Condition definition (structure varies).
              path:
                type: string
                description: Optional JSON Pointer within the resource.
              log_settings:
                type: object
                description: Optional logging settings.
              multishot:
                type: boolean
              persistent:
                type: boolean
              lifetime:
                type: integer
                description: Lifetime in seconds.
            required:
            - resource
            - trigger_condition
    UpdateTrigger:
      description: Request body to update a trigger (e.g., extend lifetime).
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              lifetime:
                type: integer
            required:
            - lifetime
    WriteConfiguration:
      description: Request body to write configuration (parameter or bulk).
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                description: Configuration parameters.
              signature:
                type: string
            required:
            - data
        multipart/form-data:
          schema:
            type: object
            properties:
              signature:
                type: string
                description: Optional signature info (as form field or JSON part).
              file:
                type: string
                format: binary
                description: The configuration file.
          encoding:
            signature:
              contentType: application/json
        application/octet-stream:
          schema:
            type: string
            format: binary
    StartExecution:
      description: Request body to start an operation execution.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              timeout:
                type: integer
                description: Execution timeout in seconds.
              parameters:
                type: object
                description: Operation-specific parameters.
              proximity_response:
                type: string
                description: Response to proximity challenge, if required.
    ControlExecution:
      description: Request body to control an ongoing operation execution.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              capability:
                type: string
                enum:
                - execute
                - stop
                - freeze
                - reset
                - status
                description: The control action.
              timeout:
                type: integer
              parameters:
                type: object
              proximity_response:
                type: string
            required:
            - capability
    StartScriptExecution:
      description: Request body to start a script execution.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              execution_type:
                type: string
                description: When to execute (e.g., now, on_restart).
              parameters:
                type: object
                description: Script-specific parameters.
    ControlScriptExecution:
      description: Request body to control a script execution.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              action:
                type: string
                enum:
                - stop
            required:
            - action
    SetMode:
      description: Request body to set an entity mode.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              value:
                description: The mode value to set.
              mode_expiration:
                type: integer
                description: Expiration time in seconds.
            required:
            - value
            - mode_expiration
    AcquireLock:
      description: Request body to acquire a lock.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              lock_expiration:
                type: integer
                description: Lock duration in seconds.
              scopes:
                type: array
                items:
                  type: string
                description: Optional scopes to lock.
            required:
            - lock_expiration
    UpdateLock:
      description: Request body to update a lock's expiration.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              lock_expiration:
                type: integer
            required:
            - lock_expiration
    UploadUpdatePackage:
      description: Request body to register/upload an update package.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              id:
                type: string
              source:
                type: string
                description: Source identifier (e.g., USB, URL).
              filename:
                type: string
                description: Filename on the source.
              signature:
                type: string
                description: Optional signature.
            required:
            - id
            - source
            - filename
    ControlAppStatus:
      description: Request body to control application status.
      required: false
      content:
        application/json:
          schema:
            type: object
            properties:
              parameters:
                type: object
                description: Optional parameters for the action.
    UploadBulkData:
      description: Request body to upload bulk data.
      required: true
      content:
        multipart/form-data:
          schema:
            type: object
            properties:
              signature:
                type: string
                description: Optional signature info (as form field or JSON part).
              file:
                type: string
                format: binary
                description: The bulk data file.
          encoding:
            signature:
              contentType: application/json
        application/octet-stream:
          schema:
            type: string
            format: binary
    SetLogConfig:
      description: Request body to set the logging configuration.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              items:
                type: array
                items:
                  $ref: '#/components/schemas/LogConfiguration'
            required:
            - items
    ControlCommunicationLog:
      description: Request body to control a communication log.
      required: true
      content:
        application/json:
          schema:
            type: object
            properties:
              action:
                type: string
                enum:
                - activate
                - deactivate
            required:
            - action
security: []