Clients access Concordance through Diminuendo’s ACP WebSocket using config/* methods. Diminuendo resolves scopes to full namespaces using the authenticated user’s tenant and identity.

Scope Resolution

When a client sends config/get { scope: "user", key: "theme" }, Diminuendo resolves:
scope: "user" → namespace: "tenant:{tenantId}/user:{userId}/preferences"
scope: "tenant" → namespace: "tenant:{tenantId}/settings"
scope: "session", sessionId: "s1" → namespace: "tenant:{tenantId}/sessions/s1"
scope: "project", projectId: "p1" → namespace: "tenant:{tenantId}/projects/p1"
scope: "device", deviceId: "d1" → namespace: "tenant:{tenantId}/user:{userId}/devices/d1"

Methods

config/get

{"jsonrpc": "2.0", "method": "config/get", "params": {"scope": "user", "key": "theme"}, "id": 1}
Response:
{"jsonrpc": "2.0", "result": {"value": "dark", "version": 7}, "id": 1}

config/set

{"jsonrpc": "2.0", "method": "config/set", "params": {"scope": "user", "key": "theme", "value": "dark"}, "id": 2}

config/delete

{"jsonrpc": "2.0", "method": "config/delete", "params": {"scope": "user", "key": "oldPref"}, "id": 3}

config/list

{"jsonrpc": "2.0", "method": "config/list", "params": {"scope": "user", "prefix": "theme"}, "id": 4}
Response:
{"jsonrpc": "2.0", "result": {"items": [{"key": "theme", "value": "dark", "version": 7}]}, "id": 4}

config/batch

Atomic multi-key write across scopes.
{"jsonrpc": "2.0", "method": "config/batch", "params": {"operations": [
  {"op": "set", "scope": "user", "key": "theme", "value": "dark"},
  {"op": "set", "scope": "user", "key": "font", "value": "mono"},
  {"op": "delete", "scope": "user", "key": "oldPref"}
]}, "id": 5}

config/subscribe

Watch for changes in a scope.
{"jsonrpc": "2.0", "method": "config/subscribe", "params": {"scope": "user"}, "id": 6}

config/unsubscribe

{"jsonrpc": "2.0", "method": "config/unsubscribe", "params": {"scope": "user"}, "id": 7}

Server Notifications

config/update

Sent to all same-tenant clients when a subscribed scope changes.
{"jsonrpc": "2.0", "method": "config/update", "params": {"scope": "user", "key": "theme", "value": "dark", "version": 8, "updatedBy": "auth0|user123"}}

config/deleted

{"jsonrpc": "2.0", "method": "config/deleted", "params": {"scope": "user", "key": "oldPref", "version": 5}}