SessionDock Developer Docs

Make your creative workflow programmable.

Authoritative guides, generated Local API reference, and practical patterns for local automation, scripts, launchers, and AI agents running alongside SessionDock.

Update a session

Applies a partial update to an existing session. Requires full-automation mode.

PATCH/api/v1/sessions/{id}

Applies a partial update to an existing session. Requires full-automation mode.

curl -X PATCH 'http://127.0.0.1:18432/api/v1/sessions/session_123' \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{
  "title": "<string>",
  "kind": "<string>",
  "status": "<string>",
  "accent": "<string>",
  "tags": [
    "<string>"
  ],
  "notes": "<string>",
  "projectPath": "<string>"
}'

Parameters

NameInTypeRequiredDescriptionExample
idpathstringYesSession identifier.session_123

Request Body

Required

application/json

Schema Shape

{
  "title": "<string>",
  "kind": "<string>",
  "status": "<string>",
  "accent": "<string>",
  "tags": [
    "<string>"
  ],
  "notes": "<string>",
  "projectPath": "<string>"
}

Example

{
  "title": "<string>",
  "kind": "<string>",
  "status": "<string>",
  "accent": "<string>",
  "tags": [
    "<string>"
  ],
  "notes": "<string>",
  "projectPath": "<string>"
}

Responses

200

Updated session

application/json

Schema Shape

{
  "data": {
    "id": "session_123",
    "title": "Launch cue prep",
    "kind": "Ableton",
    "status": "draft",
    "accent": "gradient",
    "tags": [
      "<string>"
    ],
    "notes": "<string>",
    "lastOpened": "2025-01-15T12:34:56Z",
    "projectPath": "<string>",
    "projectOriginalPath": "<string>",
    "previewStatus": "<string>",
    "previewUrl": "<string>",
    "previewAudioUrl": "<string>",
    "previewAudioMime": "<string>",
    "preferredPreviewId": "<string>",
    "previews": [
      {
        "id": "<string>",
        "name": "<string>",
        "path": "<string>",
        "status": "<string>"
      }
    ]
  }
}

Example

{
  "data": {
    "id": "session_123",
    "title": "Launch cue prep",
    "kind": "Ableton",
    "status": "draft",
    "accent": "gradient",
    "tags": [
      "<string>"
    ],
    "notes": "<string>",
    "lastOpened": "2025-01-15T12:34:56Z",
    "projectPath": "<string>",
    "projectOriginalPath": "<string>",
    "previewStatus": "<string>",
    "previewUrl": "<string>",
    "previewAudioUrl": "<string>",
    "previewAudioMime": "<string>",
    "preferredPreviewId": "<string>",
    "previews": [
      {
        "id": "<string>",
        "name": "<string>",
        "path": "<string>",
        "status": "<string>"
      }
    ]
  }
}
400

Malformed JSON or rejected input.

application/json

Schema Shape

{
  "error": {
    "status": 0,
    "code": "<string>",
    "message": "<string>"
  }
}

Example

{
  "error": {
    "status": 400,
    "code": "invalid_json",
    "message": "Request body must be valid JSON."
  }
}
401

Missing or invalid bearer token.

application/json

Schema Shape

{
  "error": {
    "status": 0,
    "code": "<string>",
    "message": "<string>"
  }
}

Example

{
  "error": {
    "status": 401,
    "code": "unauthorized",
    "message": "Provide Authorization: Bearer <token>."
  }
}
403

Write attempted while Local API is in read-only mode.

application/json

Schema Shape

{
  "error": {
    "status": 0,
    "code": "<string>",
    "message": "<string>"
  }
}

Example

{
  "error": {
    "status": 403,
    "code": "read_only",
    "message": "Enable Full Automation to perform this action."
  }
}
404

No matching resource was found.

application/json

Schema Shape

{
  "error": {
    "status": 0,
    "code": "<string>",
    "message": "<string>"
  }
}

Example

{
  "error": {
    "status": 404,
    "code": "not_found",
    "message": "session not found"
  }
}