Account Association
This guide explains how to associate your developer account with a mimOE node, which is required for continuum features.
Account association is only required for continuum features:
- Account-Based Discovery: Find your devices across networks
- Proximity Discovery: Location-based device discovery
- Cross-device communication via tunneling
Local AI inference does not require account association. You can run models on-device without any tokens.
Prerequisites
Before starting, you need:
- ACCOUNT_API_KEY: Found in
mimoe-api-key.envin your mimOE working directory (auto-generated on first startup). See API Key File for details. - Client ID: From the Developer Console project settings
- Developer ID Token: From the Developer Console
See Developer Console Setup for help with Client ID and Developer ID Token.
Account Association Flow
To use continuum features, you must associate your local mimOE runtime with your developer account. This involves a token exchange:
Step 1: Get Edge ID Token
Request an Edge ID Token from your local mimOE runtime. This requires your ACCOUNT_API_KEY from the API key file as a bearer token:
curl -X POST "http://localhost:8083/jsonrpc/v1" \
-H "Authorization: Bearer $ACCOUNT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method": "getEdgeIdToken", "params": [], "id": 1}'
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"id_token": "eyJhbGciOiJS..."
}
}
See Account Association API: getEdgeIdToken for full parameter and token claim details.
Step 2: Exchange for Access Token
Exchange your Developer ID Token and Edge ID Token for an Access Token:
curl -X POST "https://devconsole-mid.mimik.com/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_id={YOUR_CLIENT_ID}" \
-d "grant_type=id_token_signin" \
-d "id_token={YOUR_DEVELOPER_ID_TOKEN}" \
-d "scope=openid edge:account:associate" \
-d "edge_id_token={EDGE_ID_TOKEN_FROM_STEP_1}"
| Placeholder | Where to get it |
|---|---|
{YOUR_CLIENT_ID} | From Developer Console → Project Settings |
{YOUR_DEVELOPER_ID_TOKEN} | From Developer Console → ID Token |
{EDGE_ID_TOKEN_FROM_STEP_1} | From Step 1 response → result.id_token |
Response includes your access token:
{
"access_token": "eyJhbGciOiJS...",
"token_type": "Bearer",
"expires_in": 86400
}
Step 3: Associate Account
Associate your mimOE runtime with your developer account:
curl -X POST "http://localhost:8083/jsonrpc/v1" \
-H "Authorization: Bearer $ACCOUNT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "associateAccount",
"params": ["{ACCESS_TOKEN_FROM_STEP_2}"],
"id": 1
}'
| Placeholder | Where to get it |
|---|---|
$ACCOUNT_API_KEY | From mimoe-api-key.env in your working directory |
{ACCESS_TOKEN_FROM_STEP_2} | From Step 2 response → access_token |
Once associated, your device can use Account-Based Discovery and other continuum features.
See Account Association API: associateAccount for error cases and behavior details.
Token Types
| Token | Source | Purpose |
|---|---|---|
| Developer ID Token | Developer Console | Identifies you as a developer |
| Edge ID Token | Local mimOE runtime | Identifies this device |
| Access Token | Token exchange | Authorizes API calls |
Token Scopes
| Scope | Purpose |
|---|---|
openid | Standard OpenID Connect |
edge:account:associate | Account association |
Next Steps
- Account Association API: Full JSON-RPC 2.0 method reference
- Account-Based Discovery: Connect devices across networks
- Proximity Discovery: Location-based discovery
- Tunneling: Cross-network communication