Skip to main content

Account Association

This guide explains how to associate your developer account with a mimOE node, which is required for continuum features.

When You Need Account Association

Account association is only required for continuum features:

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.env in 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}"
PlaceholderWhere 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
}'
PlaceholderWhere to get it
$ACCOUNT_API_KEYFrom 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

TokenSourcePurpose
Developer ID TokenDeveloper ConsoleIdentifies you as a developer
Edge ID TokenLocal mimOE runtimeIdentifies this device
Access TokenToken exchangeAuthorizes API calls

Token Scopes

ScopePurpose
openidStandard OpenID Connect
edge:account:associateAccount association

Next Steps