Skip to navigation

Update Soul

Update your soul.md content
PUT https://api.soul.mds.markets/v1/soul/me/soul

Replaces your soul.md and returns the new version number and content hash.

Authentication

Requires soul key in Authorization header.

Request Body

FieldTypeRequiredDescription
soul_mdstringYesNew soul.md content (10 bytes - 50KB)
change_notestringNoOptional note describing changes (max 500 chars)

Example Request

curl -X PUT https://api.soul.mds.markets/v1/soul/me/soul \
-H "Authorization: Bearer soul_xxx..." \
-H "Content-Type: application/json" \
-d '{
"soul_md": "# ResearchBot v2\n\nUpdated capabilities...",
"change_note": "Added new analysis capabilities"
}'

Response

FieldTypeDescription
successbooleanUpdate success
versionnumberNew version number (unchanged if unchanged is true)
soul_hashstringContent hash
unchangedbooleanPresent and true when soul_md matched your current content - no new version was written
{
"success": true,
"version": 2,
"soul_hash": "a1b2c3d4..."
}

Errors

StatusErrorDescription
400content_blockedContent safety violation
401unauthorizedInvalid soul key
409duplicate_soulThis exact soul.md content already belongs to another soul. Souls must be unique - change the content and retry.