Client SDK - DIMO Connect
Get Data Permissions From Vehicle Owners
DIMO Connect is a user interface built on our robust privacy engine that allows app developers to specify and request data from vehicle owners. Developers can get started using either the React Component SDK (aka Login with DIMO) or by simply creating a DIMO Connect URL.
How It Works
Configure Your URL

Using the Client ID
and Redirect URI
from your Developer License, configure your DIMO Connect URL along with the specific vehicle data you want to request from your users.
Try it out
- URL Method
- SDK Method
DIMO Connect URL Builder
Configure your DIMO Connect URL by filling out the fields below. The URL will be generated in real-time below.
import {
LoginWithDimo,
ShareVehiclesWithDimo,
ExecuteAdvancedTransactionWithDimo,
initializeDimoSDK,
useDimoAuthState,
} from "@dimo-network/login-with-dimo";
const { isAuthenticated, getValidJWT, email, walletAddress, getEmail } =
useDimoAuthState();
useEffect(()=>{ if ( isAuthenticated ) {
//makeAuthenticatedRequest(getValidJWT()) console.log(email);
console.log(walletAddress); } },[isAuthenticated])
initializeDimoSDK({ clientId: process.env.REACT_APP_DIMO_CLIENT_ID!,
redirectUri: process.env.REACT_APP_DIMO_REDIRECT_URI!, });
...
{isAuthenticated ? (
<ShareVehiclesWithDimo
mode="popup"
onSuccess={authData => console.log('Success:', authData)}
onError={error => console.error('Error:', error)}
permissionTemplateId={'1'}
// expirationDate={} // Optional ISO string
/>
<ExecuteAdvancedTransactionWithDimo
mode="popup"
onSuccess={(transactionData: any) =>
console.log("Transaction Hash:", transactionData.transactionHash)
}
onError={(error: any) => console.error("Error:", error)}
address="0x21cFE003997fB7c2B3cfe5cf71e7833B7B2eCe10"
value="0"
abi={sampleAbi}
functionName="transfer"
args={["0x62b98e019e0d3e4A1Ad8C786202e09017Bd995e1", "0"]}
/>
) : (
<LoginWithDimo
mode="popup"
onSuccess={(authData) => console.log("Success:", authData)}
onError={(error) => console.error("Error:", error)}
permissionTemplateId={permissionsEnabled ? "1" : undefined}
// expirationDate={} // Optional ISO string
// vehicles={["585","586"]}
/>
)}
Share with Users

Users using your DIMO Connect URL can grant you permissions to begin accessing their vehicle data.
Check Vehicle Status

Use the DIMO Developer Console or the Identity API to track which vehicles have shared permissions with you.
Try it out
Identity API
GraphQL Variables
Get Vehicle JWT
Try it out
Exchange Developer JWT for a Vehicle JWT
Request Parameters
{ "nftContractAddress": "0xbA5738a18d83D41847dfFbDC6101d37C69c9B0cF" }
Start Getting Data

Begin polling the DIMO APIs or setting up DIMO Webhooks using one of the available Data SDKs.
Try it out
Telemetry API
GraphQL Variables
Using the SDK
If you are a React developer, you are more than welcome to use the SDK directly and skip using the DIMO Connect URL. The SDK is guaranteed to have more functionalities as the DIMO Connect URL is bounded by query parameter limitations.
Client SDK: DIMO Connect
Full Feature List
React SDK | Connect URL | Details | |
---|---|---|---|
Account Creation/Login | ✅ | ✅ | Login with DIMO allow developers to onboard users to DIMO, enabling logins across all DIMO platforms with the use of a passkey or email OTP. |
Permissions | ✅ | ✅ | This is an optional entry state where users are asked to share their vehicles with your application, login is required before entering the vehicle permissions state. |
Entry States | ✅ | ✅ | Multiple entry states to customize user flow |
Campaign Tracking | ✅ | ✅ | UTM parameter allows you to drive campaigns with channel partners of yours, maximizing the potential of your application. |
Advanced Filtering | ✅ | ✅ | Ensure that vehicles are compatible with your app by applying filters on vehicle token IDs, vehicle brand, and/or powertrain types. |
Custom Button | ℹ️ | ✅ | Customize button style and text to fit your design needs |
Custom Expiration Dates | ✅ | ✅ | Customize expiration dates for your user data permissions. |
Popup Mode | ✅ | ❌ | Web popup mode |
Advanced Transactions | ✅ | ❌ | Execute specific blockchain transactions |
Customized Messaging | ✅ | ❌ | Customize text fields with your brand messaging to better cater to your audiences. |
Callbacks (onSuccess/onError) | ✅ | ❌ | Customizable actions on callbacks, ensuring a full e2e experience for your beloved users. |
Vehicle Onboarding (beta) | ✅ | ✅ | Onboarding new vehicles onto the DIMO Network, supports Tesla only. |