Skip to content
Reference

API Reference

Complete reference for all 57 JSON-RPC methods. Click any method to see request and response examples.

Authentication

The AudioMap API requires session token authentication. The API is available on the Pro license tier. Every WebSocket connection must authenticate before calling any other method.

How it works

  1. 1When AudioMap launches, it generates a random session token (UUID) and writes it to a file on disk.
  2. 2Your client reads the token from the file and sends it as the first message after connecting.
  3. 3Once authenticated, all API methods are available for the lifetime of the connection.
  4. 4The token is deleted when AudioMap shuts down. A new token is generated on next launch.

Token file location

macOS~/Library/Application Support/AudioMap/api_session_token
Windows%APPDATA%\AudioMap\api_session_token

Example

Request (must be first message)
{
  "jsonrpc": "2.0",
  "method": "authenticate",
  "params": {
    "token": "a1b2c3d4e5f6..."
  },
  "id": 1
}
Response
{
  "jsonrpc": "2.0",
  "result": {
    "authenticated": true
  },
  "id": 1
}

Security note: The token file is only readable by the local user, so other devices on the network cannot access the API without physical access to the machine running AudioMap. All API calls sent before authentication will receive a -32000 error.

Authentication

1 methods

State & Configuration

9 methods

Generators

2 methods

Capture

3 methods

Measurements

4 methods

Reflections & Surfaces

3 methods

Tuning

6 methods

Audio Devices

2 methods

Calibration

2 methods

Project

5 methods

Playback Control

4 methods

Live Data

3 methods

Timing & Alignment

3 methods

Heatmap & Spatial

2 methods

Routing & Configuration

4 methods

Events

2 methods

Event Notifications

Events are server-initiated messages pushed to subscribed clients. They have no id field. Events are filtered per-client — each connection only receives events it has subscribed to. Invalid event names passed to subscribe are reported back as errors.

{
  "jsonrpc": "2.0",
  "method": "event.measurementAdded",
  "params": {"id": "uuid-1", "name": "S0R0: 5.2ms"}
}
EventDescription
measurementAddedNew measurement captured
measurementRemovedMeasurement deleted
captureCompleteSpatial auto-capture finished (includes measurements)
captureStateChangedCapture progress update
surfaceInferenceCompleteSurface detection finished
audioDeviceChangedAudio device configuration changed
stateChangedAny configuration change
delayMeasuredDelay measurement completed — includes sourceIndex, receiverIndex, delaySamples, delayMs
projectLoadedProject file loaded — includes path and name
projectSavedProject file saved — includes path
fftSizeChangedFFT size changed — includes oldSize and newSize