Vehicle Signal Decoding API Endpoints

Base URLs

https://vehicle-signal-decoding.dev.dimo.zone


List All Device Config URLs

Get Device Config URLs by VIN

GET {baseUrl}/v1/device-config/vin/{vin}/urls

Retrieves all available device configuration URLs by Vehicle Identification Number.

Path Parameters

NameTypeDescription

vin*

String

Vehicle Identification Number (VIN).

Query Parameters

NameTypeDescription

protocol

String

CAN Protocol, this can be either 6 or 7.

{
    "dbcUrl": "https://vehicle-signal-decoding.dimo.zone/v1/device-config/dbc/ford-passive-odo-0x430@v1.0.0",
    "pidUrl": "https://vehicle-signal-decoding.dimo.zone/v1/device-config/pids/2019plus-ice-can11@v1.0.1",
    "deviceSettingUrl": "https://vehicle-signal-decoding.dimo.zone/v1/device-config/settings/default-ice@v1.0.0"
}

Get Device Config URLs by Ethereum Address

GET {baseUrl}/v1/device-config/eth-addr/{eth-addr}/urls

Retrieves all available device configuration URLs by Ethereum Address.

Path Parameters

NameTypeDescription

eth-addr*

String

0x Ethereum address for the connected device.

Query Parameters

NameTypeDescription

protocol

String

CAN Protocol, this can be either 6 or 7.

{
    "dbcUrl": "https://vehicle-signal-decoding.dimo.zone/v1/device-config/dbc/ford-passive-odo-0x430@v1.0.0",
    "pidUrl": "https://vehicle-signal-decoding.dimo.zone/v1/device-config/pids/2019plus-ice-can11@v1.0.1",
    "deviceSettingUrl": "https://vehicle-signal-decoding.dimo.zone/v1/device-config/settings/default-ice@v1.0.0"
}

Retrieve Device Configs

Developer Notes

The following endpoints are essentially returning the JSON blob or text of each configuration. To get the {templateName} of each device config, please fetch the URLs first from Get Device Config URLs by VIN.

Get PID Config JSON

GET {baseUrl}/v1/device-config/pids/{templateName}

Retrieve the PID configurations for a given template name.

Path Parameters

NameTypeDescription

templateName*

String

Template name of the PID config.

{
    "template_name": "2019plus-ice-can11",
    "version": "v1.0.1",
    "requests": [
        {
            "name": "odometer",
            "header": 2015,
            "mode": 1,
            "pid": 166,
            "formula": "dbc: 31|32@0+ (0.1,0) [1|429496730] \"km\"",
            "interval_seconds": 60,
            "protocol": "CAN11_500"
        },
        {
            "name": "runTime",
            "header": 2015,
            "mode": 1,
            "pid": 31,
            "formula": "dbc: 31|16@0+ (1,0) [0|65535] \"seconds\"",
            "interval_seconds": 30,
            "protocol": "CAN11_500"
        }
    ]
}

Get Device Setting JSON

GET {baseUrl}/v1/device-config/settings/{templateName}

Retrieve the device setting configurations for a given template name.

Path Parameters

NameTypeDescription

templateName*

String

Template name of the device setting config.

{
    "template_name": "default-ice",
    "safety_cut_out_voltage": 11.93,
    "sleep_timer_event_driven_interval_secs": 3600,
    "sleep_timer_event_driven_period_secs": 30,
    "sleep_timer_inactivity_after_sleep_secs": 21600,
    "sleep_timer_inactivity_fallback_interval_secs": 21600,
    "wake_trigger_voltage_level": 13.3
}

Get DBC Text

GET {baseUrl}/v1/device-config/dbc/{templateName}

Retrieve the DBC file for a given template name.

Path Parameters

NameTypeDescription

templateName*

String

Template name of the DBC config.

BO_ 1072 prod_odometer_FORD430: 8 Vector_XXX
 SG_ odometer : 15|24@0+ (1,0) [0|16777214] "km"  Vector_XXX

Device Operations

Get Device Status by Ethereum Address

GET {baseUrl}/v1/device-config/eth-addr/{eth-addr}/status

Retrieves the current status of the device identified by Ethereum Address.

Path Parameters

NameTypeDescription

eth-addr*

String

0x Ethereum address for the connected device.

{
    "isTemplateUpToDate": false,
    "firmwareVersion": "v0.8.6",
    "isFirmwareUpToDate": true
}

Set Device Status by Ethereum Address

PATCH {baseUrl}/v1/device-config/eth-addr/{eth-addr}/status

Sets the current status of the device identified by Ethereum Address.

Path Parameters

NameTypeDescription

eth-addr*

String

0x Ethereum address for the connected device.

Headers

NameTypeDescription

Authorization*

String

Bearer authentication using the token generated from the Token Exchange.

Request Body

NameTypeDescription

config*

Object

{
    "dbcUrl": "string",
    "firmwareVersionApplied": "string",
    "pidsUrl": "string",
    "settingsUrl": "string"
}

Get Device Jobs by Ethereum Address

GET {baseUrl}/v1/device-config/eth-addr/{eth-addr}/jobs

Retrieves the jobs of the device identified by Ethereum Address.

⚠️ Currently not working as this is under construction

Path Parameters

NameTypeDescription

eth-addr*

String

0x Ethereum address for the connected device.

Get Pending Device Jobs by Ethereum Address

GET {baseUrl}/v1/device-config/eth-addr/{eth-addr}/jobs/pending

Retrieves the pending jobs of the device identified by Ethereum Address.

⚠️ Currently not working as this is under construction

Path Parameters

NameTypeDescription

eth-addr*

String

0x Ethereum address for the connected device.

Set Device Job Status by Ethereum Address

PATCH {baseUrl}/v1/device-config/eth-addr/{eth-addr}/jobs/{jobId}/{status}

⚠️ Currently not working as this is under construction

Path Parameters

NameTypeDescription

eth-addr*

String

0x Ethereum address for the connected device.

jobId*

String

status*

String

Headers

NameTypeDescription

Authorization*

String

Bearer authentication using the token generated from the Token Exchange.


Swagger Doc

Last updated