SessionDock Developer Docs
Authoritative guides, generated Local API reference, and practical patterns for local automation, scripts, launchers, and AI agents running alongside SessionDock.
Creates a new session record. Requires full-automation mode.
/api/v1/sessionsCreates a new session record. Requires full-automation mode.
curl -X POST 'http://127.0.0.1:18432/api/v1/sessions' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{
"title": "<string>",
"kind": "<string>",
"status": "<string>",
"accent": "<string>",
"tags": [
"<string>"
],
"notes": "<string>",
"projectPath": "<string>"
}'application/json
{
"title": "<string>",
"kind": "<string>",
"status": "<string>",
"accent": "<string>",
"tags": [
"<string>"
],
"notes": "<string>",
"projectPath": "<string>"
}{
"title": "<string>",
"kind": "<string>",
"status": "<string>",
"accent": "<string>",
"tags": [
"<string>"
],
"notes": "<string>",
"projectPath": "<string>"
}Created session
application/json
{
"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>"
}
]
}
}{
"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>"
}
]
}
}Malformed JSON or rejected input.
application/json
{
"error": {
"status": 0,
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"status": 400,
"code": "invalid_json",
"message": "Request body must be valid JSON."
}
}Missing or invalid bearer token.
application/json
{
"error": {
"status": 0,
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"status": 401,
"code": "unauthorized",
"message": "Provide Authorization: Bearer <token>."
}
}Write attempted while Local API is in read-only mode.
application/json
{
"error": {
"status": 0,
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"status": 403,
"code": "read_only",
"message": "Enable Full Automation to perform this action."
}
}