Open Test Framework  
SOVD Server Support

The OTF fully supports SOVD according to ISO 17978-3:2026. A user's offline capability description in JSON format can be loaded and displayed in the toolbox. Based on this, the user can program their OTX test logic. Checker rules verify the correctness of inputs, and a built-in SOVD Server Simulation allows testing the OTX procedures even without an available server.

Overview

The SOVD (Service-Oriented Vehicle Diagnostics) standard defines an API for a diagnostic system integrated within the vehicle. It enables diagnostic access to functions running on High Performance Computers (HPCs), as used in software-defined vehicles (SDVs), as well as to conventional ECUs. The API supports multiple use cases, including traditional on-vehicle diagnostics, remote support via network access, and diagnostic applications executed directly within the vehicle.

Note: An introduction into SOVD can be found in the blog OTX and SOVD.

Preparation for Using SOVD

  1. Configuration of the SOVD Server
    The SOVD server must be configured before use in the configuration file.
  2. Select the OCD file
    The Offline Capability Description (OCD) file should be selected, see Design Time Support - OCD.
  3. Select and enable the SOVD simulation
    The simulation is stored in a JSON file that can be selected in the solution settings, see SOVD Simulation (built-in).
  4. Implement and execute the SOVD test logic
    Use the example, see SOVD OTX Example.

SOVD Server Configuration - Discovery

To configure a SOVD server, the file SovdServerList.json must be adjusted. The JSON file must be present in the OTX Runtime directory. This file contains a list of all SOVD servers. The first entry is returned by the term GetFirstDiscoveredServer. The complete list is returned by the term GetDiscoveredServers.

Note: The entry for the Simulative SOVD Server (sovd-simulation) should always exist in the OTF.

Note: Automatic server discovery will be provided in a future version.

Example of SovdServerList.json in the OTX Runtime directory for the Simulative SOVD Server:

[
{
"id": "sovd-simulation",
"name": "sovd-simulation",
"href": "https://localhost:8080/v1"
}
]

Design Time Support - OCD

The Offline Capability Description (OCD) is used to statically describe the diagnostic capabilities of a vehicle without requiring an active connection to the vehicle. The OCD is a file in JSON or YAML format and provides a machine-readable description of the diagnostic functions supported by the SOVD server. It is typically used prior to the actual diagnostic communication.

The OCD file is stored in the SOVD folder within the start project. The currently used OCD file is configured in the Solution Settings, as shown in the figure above.

Since an OCD file can be very large, it is converted into an internal format to enable efficient access. After the conversion, the OCD content is displayed in the toolbox, grouped by entities. Individual elements can be dragged from the toolbox into the designer to generate new actions or terms.

Note: The use of an OCD file is recommended, as it assists the author in creating diagnostic procedures and helps detect potential errors.

OCD Example Files

Below, two Example Offline Capability Descriptions can be downloaded in JSON and YAML format:

Offline Capability Description in JSON Format

Offline Capability Description in YANL Format

To see the complete JSON file click here to fold.

{
"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": []
}

SOVD OTX Example

The following OTX example in OTL notation demonstrates the application of the SOVD extension. It determines all errors found in the first-level components and returns them as a list.

public procedure GetAllFaults(out List<SOVD.FaultDescriptor> faultList)
{
List<SOVD.EntityDescriptor> servers;
SOVD.EntityDescriptor server;
Map<String, SOVD.EntityDescriptor> components;
SOVD.EntityDescriptor component;
Map<String, SOVD.FaultDescriptor> faults;
SOVD.FaultDescriptor fault;
servers = SOVD.GetDiscoveredSovdServer();
foreach (server in servers) : ForEachLoop1
{
components = SOVD.GetComponentDescriptors(server);
foreach (component in components) : ForEachLoop2
{
faults = SOVD.GetFaultsAsDescriptors(component);
foreach (fault in faults) : ForEachLoop3
{
ListAppendItems(faultList, {fault});
}
}
}
}

To see the complete example click here to fold.

namespace SovdExample1Package1
{
public procedure main()
{
SOVD.ServerDescriptor server;
Map<String, SOVD.AreaDescriptor> mainAreas;
Map<String, SOVD.AreaDescriptor> areas;
SOVD.AreaDescriptor area;
Map<String, SOVD.ComponentDescriptor> mainComponents;
Map<String, SOVD.ComponentDescriptor> components;
SOVD.ComponentDescriptor component;
Map<String, SOVD.AppDescriptor> apps;
SOVD.AppDescriptor app;
String key = "Key1";
JSON.JsonObject jsonObject;
JSON.JsonObject jsonObjectParent;
server = SOVD.GetFirstDiscoveredServer();
// Areas
jsonObjectParent = JSON.CreateJsonObject();
mainAreas = SOVD.GetAreaDescriptors(server);
if (MapGetSize(mainAreas) > 0)
{
jsonObject = JSON.CreateJsonObject();
foreach (key, area in mainAreas) : ForEachLoop1
{
GetArea(ref jsonObject, area);
}
JSON.ObjectAddProperties(jsonObjectParent, {"areas":jsonObject});
}
// Components
mainComponents = SOVD.GetComponentDescriptors(server);
if (MapGetSize(mainComponents) > 0)
{
jsonObject = JSON.CreateJsonObject();
foreach (key, component in mainComponents) : ForEachLoop2
{
GetComponent(ref jsonObject, component);
}
JSON.ObjectAddProperties(jsonObjectParent, {"components":jsonObject});
}
apps = SOVD.GetAppDescriptors(server);
if (MapGetSize(apps) > 0)
{
jsonObject = JSON.CreateJsonObject();
foreach (key, app in apps) : ForEachLoop3
{
GetApp(ref jsonObject, app);
}
JSON.ObjectAddProperties(jsonObjectParent, {"apps":jsonObject});
}
JSON.SaveJsonToFile(jsonObjectParent, "file:///c:/Users/js/Documents/Open Test Framework/SovdExample1/SovdExample1/SovdScan.json");
}
private procedure GetArea(ref JSON.JsonObject jsonObjectParent, in SOVD.AreaDescriptor area)
{
Map<String, SOVD.AreaDescriptor> subareas;
Map<String, SOVD.DataDescriptor> dataDescriptors;
Map<String, SOVD.DataListDescriptor> dataListDescriptors;
Map<String, SOVD.FaultDescriptor> faultDescriptors;
SOVD.AreaDescriptor subarea;
JSON.JsonObject resultObject;
SOVD.DataDescriptor dataDesc;
SOVD.DataListDescriptor dataListDesc;
SOVD.FaultDescriptor faultDesc;
JSON.JsonObject tempObject;
resultObject = area;
try
{
dataDescriptors = SOVD.GetDataDescriptors(area);
if (MapGetSize(dataDescriptors) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (dataDesc in dataDescriptors) : ForEachLoop1
{
GetData(ref tempObject, dataDesc);
}
JSON.ObjectAddProperties(resultObject, {"dataDescriptors":tempObject});
}
}
catch (Exception)
{
}
try
{
dataListDescriptors = SOVD.GetDataListDescriptors(area);
if (MapGetSize(dataListDescriptors) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (dataListDesc in dataListDescriptors) : ForEachLoop2
{
GetDataList(ref tempObject, dataListDesc);
}
JSON.ObjectAddProperties(resultObject, {"dataListDescriptors":tempObject});
}
}
catch (Exception)
{
}
try
{
faultDescriptors = SOVD.GetFaultsAsDescriptors(area);
if (MapGetSize(faultDescriptors) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (faultDesc in faultDescriptors) : ForEachLoop3
{
GetFault(ref tempObject, faultDesc);
}
JSON.ObjectAddProperties(resultObject, {"faultDescriptors":tempObject});
}
}
catch (Exception)
{
}
try
{
subareas = SOVD.GetAreaDescriptors(area);
if (MapGetSize(subareas) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (subarea in subareas) : ForEachLoop4
{
GetArea(ref tempObject, subarea);
}
JSON.ObjectAddProperties(resultObject, {"subarea":tempObject});
}
}
catch (Exception)
{
}
JSON.ObjectAddProperties(jsonObjectParent, {JSON.GetElementAsString(resultObject, "/id"):resultObject});
}
private procedure GetComponent(ref JSON.JsonObject jsonObjectParent, in SOVD.ComponentDescriptor component)
{
Map<String, SOVD.ComponentDescriptor> subcomponents;
Map<String, SOVD.DataDescriptor> dataDescriptors;
Map<String, SOVD.DataListDescriptor> dataListDescriptors;
Map<String, SOVD.FaultDescriptor> faultDescriptors;
SOVD.ComponentDescriptor subcomponent;
SOVD.DataDescriptor dataDesc;
SOVD.DataListDescriptor dataListDesc;
SOVD.FaultDescriptor faultDesc;
JSON.JsonObject tempObject;
JSON.JsonObject resultObject;
resultObject = component;
try
{
dataDescriptors = SOVD.GetDataDescriptors(component);
if (MapGetSize(dataDescriptors) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (dataDesc in dataDescriptors) : ForEachLoop1
{
GetData(ref tempObject, dataDesc);
}
JSON.ObjectAddProperties(resultObject, {"dataDescriptors":tempObject});
}
}
catch (Exception)
{
}
try
{
dataListDescriptors = SOVD.GetDataListDescriptors(component);
if (MapGetSize(dataListDescriptors) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (dataListDesc in dataListDescriptors) : ForEachLoop2
{
GetDataList(ref tempObject, dataListDesc);
}
JSON.ObjectAddProperties(resultObject, {"dataListDescriptors":tempObject});
}
}
catch (Exception)
{
}
try
{
faultDescriptors = SOVD.GetFaultsAsDescriptors(component);
if (MapGetSize(faultDescriptors) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (faultDesc in faultDescriptors) : ForEachLoop3
{
GetFault(ref tempObject, faultDesc);
}
JSON.ObjectAddProperties(resultObject, {"faultDescriptors":tempObject});
}
}
catch (Exception)
{
}
try
{
subcomponents = SOVD.GetComponentDescriptors(component);
if (MapGetSize(subcomponents) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (subcomponent in subcomponents) : ForEachLoop4
{
GetComponent(ref tempObject, subcomponent);
}
JSON.ObjectAddProperties(resultObject, {"subcomponents":tempObject});
}
}
catch (Exception)
{
}
JSON.ObjectAddProperties(jsonObjectParent, {JSON.GetElementAsString(resultObject, "/id"):resultObject});
}
private procedure GetApp(ref JSON.JsonObject jsonObjectParent, in SOVD.AppDescriptor app)
{
Map<String, SOVD.DataDescriptor> dataDescriptors;
Map<String, SOVD.DataListDescriptor> dataListDescriptors;
Map<String, SOVD.FaultDescriptor> faultDescriptors;
Map<String, SOVD.BulkDataDescriptor> bulkDataDescriptors;
Map<String, SOVD.ConfigurationDescriptor> configurationDescriptors;
SOVD.DataDescriptor dataDesc;
SOVD.DataListDescriptor dataListDesc;
SOVD.FaultDescriptor faultDesc;
SOVD.BulkDataDescriptor bulkDataDesc;
SOVD.ConfigurationDescriptor configurationDesc;
JSON.JsonObject tempObject;
JSON.JsonObject resultObject;
resultObject = app;
try
{
dataDescriptors = SOVD.GetDataDescriptors(app);
if (MapGetSize(dataDescriptors) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (dataDesc in dataDescriptors) : ForEachLoop1
{
GetData(ref tempObject, dataDesc);
}
JSON.ObjectAddProperties(resultObject, {"dataDescriptors":tempObject});
}
}
catch (Exception)
{
}
try
{
dataListDescriptors = SOVD.GetDataListDescriptors(app);
if (MapGetSize(dataListDescriptors) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (dataListDesc in dataListDescriptors) : ForEachLoop2
{
GetDataList(ref tempObject, dataListDesc);
}
JSON.ObjectAddProperties(resultObject, {"dataListDescriptors":tempObject});
}
}
catch (Exception)
{
}
try
{
faultDescriptors = SOVD.GetFaultsAsDescriptors(app);
if (MapGetSize(faultDescriptors) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (faultDesc in faultDescriptors) : ForEachLoop3
{
GetFault(ref tempObject, faultDesc);
}
JSON.ObjectAddProperties(resultObject, {"faultDescriptors":tempObject});
}
}
catch (Exception)
{
}
try
{
bulkDataDescriptors = SOVD.GetBulkDataDescriptors(app, "maps", "2021-06-22T11:47:22Z");
if (MapGetSize(bulkDataDescriptors) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (bulkDataDesc in bulkDataDescriptors) : ForEachLoop4
{
GetBulkData(ref tempObject, bulkDataDesc);
}
JSON.ObjectAddProperties(resultObject, {"bulkDataDescriptors":tempObject});
}
}
catch (Exception)
{
}
try
{
configurationDescriptors = SOVD.GetConfigurationDescriptors(app);
if (MapGetSize(configurationDescriptors) > 0)
{
tempObject = JSON.CreateJsonObject();
foreach (configurationDesc in configurationDescriptors) : ForEachLoop5
{
GetConfig(ref tempObject, configurationDesc);
}
JSON.ObjectAddProperties(resultObject, {"configurationDescriptors":tempObject});
}
}
catch (Exception)
{
}
JSON.ObjectAddProperties(jsonObjectParent, {JSON.GetElementAsString(resultObject, "/id"):resultObject});
}
private procedure GetData(ref JSON.JsonObject jsonObjectParent, in SOVD.DataDescriptor dataDesc)
{
SOVD.Data data;
JSON.JsonObject resultObject;
resultObject = dataDesc;
try
{
data = SOVD.GetData(dataDesc);
JSON.ObjectAddProperties(resultObject, {"data":data});
}
catch (Exception)
{
}
JSON.ObjectAddProperties(jsonObjectParent, {JSON.GetElementAsString(resultObject, "/id"):resultObject});
}
private procedure GetDataList(ref JSON.JsonObject jsonObjectParent, in SOVD.DataListDescriptor dataListDesc)
{
SOVD.DataList dataList;
JSON.JsonObject resultObject;
resultObject = dataListDesc;
try
{
dataList = SOVD.GetDataList(dataListDesc);
JSON.ObjectAddProperties(resultObject, {"dataList":dataList});
}
catch (Exception)
{
}
JSON.ObjectAddProperties(jsonObjectParent, {JSON.GetElementAsString(resultObject, "/id"):resultObject});
}
private procedure GetFault(ref JSON.JsonObject jsonObjectParent, in SOVD.FaultDescriptor faultDesc)
{
SOVD.FaultDetail fault;
JSON.JsonObject resultObject;
resultObject = faultDesc;
try
{
fault = SOVD.GetFaultDetail(faultDesc);
JSON.ObjectAddProperties(resultObject, {"fault":fault});
}
catch (Exception)
{
}
JSON.ObjectAddProperties(jsonObjectParent, {JSON.GetElementAsString(resultObject, "/code"):resultObject});
}
private procedure GetBulkData(ref JSON.JsonObject jsonObjectParent, in SOVD.BulkDataDescriptor bulkDataDesc)
{
ByteField bulkData;
JSON.JsonObject resultObject;
resultObject = bulkDataDesc;
try
{
bulkData = SOVD.GetBulkDataAsByteField(bulkDataDesc);
JSON.ObjectAddProperties(resultObject, {"bulkDataAsByteField":bulkData});
}
catch (Exception)
{
}
JSON.ObjectAddProperties(jsonObjectParent, {JSON.GetElementAsString(resultObject, "/id"):resultObject});
}
private procedure GetConfig(ref JSON.JsonObject jsonObjectParent, in SOVD.ConfigurationDescriptor configDesc)
{
SOVD.Data data;
JSON.JsonObject resultObject;
resultObject = configDesc;
try
{
data = SOVD.GetConfigurationAsData(configDesc);
JSON.ObjectAddProperties(resultObject, {"data":data});
}
catch (Exception)
{
}
JSON.ObjectAddProperties(jsonObjectParent, {JSON.GetElementAsString(resultObject, "/id"):resultObject});
}
}