LogoLogo
DocsHomeSupportContact
  • Getting Started
    • Introduction
    • Build on DIMO
  • DEVELOPER GUIDE
    • Developer Overview
    • Developer Console
    • Authentication
    • DIMO Developer SDKs
      • Data SDK
      • Login with DIMO SDK
        • React Component
        • Login with DIMO Redirect
        • Core Functionalities
      • TypeScript: Transactions SDK
      • SDK Release Notes
    • Low Code Tools
      • n8n: Getting Started
    • Permissions Contract: SACD
    • DIMO Credits
    • Response Types
    • Rate Limits
    • Developer FAQ
    • Developer Changelogs
    • Troubleshooting Common Issues
  • API References
    • Overview of DIMO API
    • Attestation API
    • Device Definitions API
    • Identity API
      • Schema & Types
      • Scalars
      • Nodes & Objects
        • AftermarketDevice
        • AftermarketDeviceConnection
        • DCN
        • DCNConnection
        • DeveloperLicense
        • DeviceDefinition
        • Earning
        • EarningsConnection
        • Manufacturer
        • Sacd
        • SyntheticDevice
        • Vehicle
        • VehicleConnection
        • VehicleEarnings
        • UserRewards
      • Common Queries
    • Telemetry API
      • Schema & Types
      • Scalars
      • Nodes & Objects
        • Signals
        • SignalsLatest
      • Common Queries
    • Token Exchange API
    • Trips API
    • Valuations API
  • DIMO Hardware
    • Introduction
    • DIMO Hardware Application
    • DIMO Manufacturing License
    • Development & Certification
    • Audits & Assessments
      • Hardware & Security Audit
      • Customer Experience Assessment
      • Integration Testing & Quality Control
      • Final Approval
    • DIMO Device License
      • Device Minting Certificates
    • Essential Documents
      • Hardware & Security Audit Checklist
      • Approved Hardware Auditors
      • DIMO Memorandum of Understanding (MOU)
  • Additional References
    • Developer License
    • DIMO GraphQL Basics
  • Deprecated Resources
    • Guides
      • Developer Journey
      • Quick Start Guide
      • Hello World
      • Code Exchange Flow
    • Data Availability
Powered by GitBook
On this page
  • Developer Onboarding
  • Experience DePIN
  • Join the Community
  • Watch these Videos
  • Reading
  • DIMO Terminologies
  • Get a Developer License
  • Build An App
  • Sharing Vehicle Permissions
  • Build with DIMO Data

Was this helpful?

  1. Deprecated Resources
  2. Guides

Developer Journey

PreviousGuidesNextQuick Start Guide

Last updated 7 months ago

Was this helpful?

Before jumping in to code, we highly recommend you checking out the DIMO Developer Journey to determine how you should build your application:

Developer Onboarding

Here, we outline the onboarding steps that developers may need to go through before building.

Experience DePIN

Join the Community

  • Access to 1st hand developer news (#built-on-dimo)

  • Interact with developer resource

  • Monthly Town Hall meetings

Watch these Videos

Reading

Read up on a few more resources:

DIMO Terminologies

Get a Developer License

  • Developer License clientId (0x Public key)

  • A self-defined domain

  • An enabled-signer privateKey (Private API key)

With the combination of these 3 credentials, you will be able to interact with the DIMO Auth Server to get an API access_token.


Build An App

DIMO Check-in

Sharing Vehicle Permissions

As of now, there are two ways for a vehicle to share permissions with a Developer:

  1. Using the DIMO Mobile App

    In the DIMO Mobile App, simply go to Vehicle settings > Permission sharing > + > Enter the ENS or 0x address of the Developer License > Select the permissions to share

  2. Interacting with the DIMO Vehicle smart contract directly

    An example of the input would be:

[
 (9527, 1, 0xA, 1713510000), (9527, 2, 0xA, 1713510000), 
 (9527, 3, 0xA, 1713510000), (9527, 4, 0xA, 1713510000)
]
  • Requesting privileges sharing for a vehicle with a tokenId of 9527

  • Requesting privileges 1 through 4

  • Privileges will be granted to 0xA Developer License address

  • Permission expires on 1713510000 (unix timestamp in seconds)

Build with DIMO Data

Telemetry (Requires privilege ID: 1)

Telemetry provides all the sensor signals returned by the DIMO-connected vehicles. The GraphQL implementation provides developers with self-defined queries to avoid over-fetching, aliases to simplify data formatting, and the ability to decouple queries for different signals.

Developer Notes

An example of Telemetry usage would be an app that displays different sensor data. While speed might be something that you wish to display at a higher frequency (refreshes every 10 seconds), powertrainTransmissionTravelledDistance (odometer) reading can be displayed at a lower frequency (refreshes every 6 hours). By using query aliases, you can easily define powertrainTransmissionTravelledDistance as odometer so the API returns the data in the parameter name of your choice.

Trips (Requires privilege ID: 3 & 4)

Trips is an abstraction determined by the DIMO Protocol based on the vehicle's driving data. It establishes a trip from start to end, which is recorded with location data (lat, lng).

Developer Notes

Attestation (Requires privilege ID: 5)

Streamr (Requires privilege ID: 6)

Download the to see what owners of those 100k cars are experiencing - at least try to connect your car (might not be supported).

Join our community for:

Getting a is the first step to building your app using the DIMO API. With a Developer License, you are registered as a DIMO Developer and will be able to take advantage of the DIMO Permission layer model. A successfully minted Developer License will enable you to get the following API credentials:

Before you start to build your app via , you'll need to have DIMO-connected vehicles share permissions with you via the clientId - is acts as your developer identity in the DIMO App Store.

For developers that wish to build an app using the , you are saving time by reusing the wallet integration and user management on DIMO, but do note that your application is locked in with a single logged-in user that is an existing DIMO user.

DIMO provides a setPrivileges that takes in an array of tuples which invokes a series of setPrivilege function calls grouped in a single transaction. Note that this method will require a wallet integration on your application.

Once you have the vehicle permissions, you have gained the access to interact with the to obtain privilege tokens for DIMO-connected vehicles.

These benefits of the API allows you to set up different querying cadences and aliases to save you time and resources. Check out for an implementation of the Telemetry API.

Check out for an implementation of the Trips API.

For VIN and other vehicle credentials, check out the .

For Streamr, check out the DIMO .

DIMO Mobile App
Discord
Build on DIMO Monthly Developer Newsletter
DIMO Developer SDK Roadmap
DIMO Ignite Grants Program
Developer License
Wallet-Based Authentication
Developer License
Code Exchange Authentication
function on the vehicle contract
Token Exchange API
Vehicle Usage Report
Trips Sandbox
Attestation API
Streamr integration
DIMO Developer Journey
Basic DIMO Terminologies
DIMO Permission / Privilege Model