API Reference
Download Postman Collection
Authentication & Account
Register a new user and generate an API key. Enforces secure alpha-numeric URL constraints.
View Request Body Sample
{
"username": "developer101",
"password": "securepassword123",
"email": "[email protected] "
}
View Response Sample
{
"success": true,
"message": "Account created successfully",
"api_key": "7f8a9b2c3d4e5f6a7b8c9d0e1f2a3b4c..."
}
Authenticate user. Returns API Key and sets a secure 30-day web session if requested.
View Request Body Sample
{
"username": "developer101",
"password": "securepassword123",
"remember": true
}
View Response Sample
{
"success": true,
"message": "Login successful",
"api_key": "7f8a9b2c3d4e5f6a7b8c9d0e1f2a3b4c..."
}
POST
/api/change-password
Auth Required
Change the current logged-in user's password securely.
View Request Body Sample
{
"current_password": "securepassword123",
"new_password": "brandnewpassword999",
"confirm_password": "brandnewpassword999"
}
View Response Sample
{
"success": true,
"message": "Password successfully updated!"
}
POST
/api/bind-wallet
Auth Required
Bind a Web3 NEAR wallet to the current session account. Requires a valid Ed25519 cryptographic signature payload to prevent identity spoofing. This action is permanent.
View Request Body Sample
{
"action": "bind",
"wallet": "yanshekki.near",
"public_key": "ed25519:G1...",
"signature": "L/xN...",
"message": "soulmd_auth:1716330000000"
}
View Response Sample
{
"success": true,
"message": "Wallet bound successfully!"
}
Authenticate user via Web3 wallet. Requires an Ed25519 cryptographic signature signed by the wallet's local session key. Returns a secure web session if the wallet is bound.
View Request Body Sample
{
"account_id": "yanshekki.near",
"public_key": "ed25519:G1...",
"signature": "L/xN...",
"message": "soulmd_auth:1716330000000"
}
View Response Sample
{
"success": true
}
Interaction & Chat Engine
GET
/api/chat
Auth Required
VIP / PRO Only
Headless API access to retrieve conversation history. Includes sender identities for multiplayer rendering. Strict permission controls prevent accessing private sessions.
Query params: ?soul_id=1&session_token=random_token_here
View Response Sample
{
"success": true,
"messages": [
{
"role": "user",
"sender_name": "developer101",
"content": "Hello! How can you help me today?"
},
{
"role": "assistant",
"sender_name": "AI Assistant",
"content": "I am an expert assistant. I can help you with coding and reasoning tasks."
}
]
}
GET
/api/my-chats
Auth Required
Retrieve a list of all active chat sessions and compressed memory summaries for the authenticated user.
View Response Sample
{
"success": true,
"sessions": [
{
"session_token": "unique_session_id_123",
"soul_id": 1,
"summary": "User asked about architecture layout...",
"last_updated": "2026-05-21 14:00:00"
}
]
}
POST
/api/chat
Auth Required
VIP / PRO Only
Headless API access to interact with the core routing engine. Send messages, optionally attach base64 images (Vision AI), and receive responses. Free tier requests to this endpoint will be strictly rejected with a 403 Forbidden status.
Subscription Policy: Direct API integration requires an active VIP or PRO license. If your subscription period expires, your integration will be automatically disabled until a renewal is processed.
View Request Body Sample
{
"action": "chat",
"soul_id": 1,
"session_token": "unique_session_id_123",
"content": "Can you analyze this architecture diagram?",
"image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ...",
"is_private": false
}
View Response Sample
{
"success": true,
"reply": "Based on the provided architecture diagram, here is the technical breakdown...",
"sender_name": "AI Assistant"
}
POST
/api/self-chat
Auth Required
BYOK Active
Headless BYOK proxy endpoint. Uses the user's custom encrypted keys stored in the database. Bypasses platform daily limits but enforces Web3 NFT token-gating.
View Request Body Sample
{
"soul_id": 2,
"session_token": "byok_session_token_xyz",
"content": "Execute high-concurrency trace optimization patterns.",
"image": null,
"is_private": true
}
View Response Sample
{
"success": true,
"reply": "Optimizing memory structures using stateless concurrent relays...",
"sender_name": "AI Assistant"
}
Real-time Multiplayer Sync & Presence API. Validates connection heartbeats, tracks active online user counts, and returns incremental delta messages with sender identities.
Query params: ?soul_id=1&session_token=random_token_here&last_id=142
View Response Sample
{
"success": true,
"online_count": 2,
"new_messages": [
{
"id": 143,
"role": "user",
"sender_name": "Anonymous #E5A1",
"content": "Is anyone else monitoring this cluster thread?"
}
]
}
Mini Apps
List curated form-driven mini apps (or fetch one app schema with ?slug=). Detail includes public souls matching the app theme keywords (title/description only; no prompt content). Optional filters: category, q.
Query params: ?category=destiny&q=name&slug=name-advisor
View Response Sample
{
"success": true,
"count": 1,
"data": [
{
"slug": "name-advisor",
"icon": "fa-signature",
"category": "destiny",
"title": "Name Advisor",
"description": "Chinese naming / rename suggestions…",
"badge": "popular",
"field_count": 5,
"search_keywords": "改名 命名 naming"
}
]
}
POST
/api/apps
Session or API Key
Validate mini-app form fields and soul_id (must be a public non-NFT soul matching the app theme keywords). Returns formatted message content for client redirect to /chat/{soul_id}/{session}. Does not call the LLM — chat API applies tier limits and generates the reply.
View Request Body Sample
{
"slug": "name-advisor",
"soul_id": 7303,
"fields": {
"surname": "Chen",
"gender": "female",
"birth_datetime": "1989-09-01 06:00",
"preferences": "gentle, wood/fire",
"count": "3"
}
}
View Response Sample
{
"success": true,
"slug": "name-advisor",
"soul_id": 7303,
"content": "Surname: Chen\nGender style: Feminine\n…",
"chat_path": "/chat/7303"
}
Core Souls Hub
Fetch the complete white-list of roles/categories including their corresponding slug names and emoji icons.
View Response Sample
{
"success": true,
"count": 2,
"data": [
{ "id": 1, "name": "Developer", "slug": "Developer", "icon": "💻" },
{ "id": 2, "name": "Writer", "slug": "Writer", "icon": "📝" }
]
}
List, search and filter public souls. Optimized with strict DB select limits.
Query params: ?limit=20&offset=0&q=ai&sort=popular&role=Developer
View Response Sample
{
"success": true,
"count": 1,
"data": [
{
"id": 1,
"title": "Expert Translator",
"description": "Translates documents contextually",
"role": "Translator",
"domain": "Education",
"compatibility": "Claude 3.5 Sonnet",
"file_type": "single_md",
"like_count": 12,
"fork_count": 3,
"created_at": "2026-05-21 12:00:00"
}
]
}
Retrieve raw architecture files, tags, and stats of a single public or owned soul.
View Response Sample (file_type: single_md)
{
"success": true,
"data": {
"id": 1,
"user_id": 5,
"title": "Expert Translator",
"description": "Translates documents contextually",
"content": "## Identity\nYou are an expert translator...",
"file_type": "single_md",
"role": "Translator",
"domain": "Education",
"compatibility": "Claude 3.5 Sonnet",
"is_public": 1,
"like_count": 12,
"fork_count": 3,
"created_at": "2026-05-21 12:00:00"
}
}
View Response Sample (file_type: full_soul_folder)
{
"success": true,
"data": {
"id": 2,
"user_id": 5,
"title": "Advanced Dev Architecture",
"description": "Full-stack code assistant package layout",
"content": "{\n \"SOUL.md\": \"## Identity\\nYou are a senior developer...\",\n \"STYLE.md\": \"## Voice\\nConcise, code-heavy...\",\n \"RULES.md\": \"## Hard Rules\\nNever write legacy code...\"\n}",
"file_type": "full_soul_folder",
"role": "Developer",
"domain": "Coding & Dev",
"compatibility": "GPT-4o",
"is_public": 1,
"like_count": 88,
"fork_count": 15,
"created_at": "2026-05-21 14:22:10"
}
}
POST
/api/souls
Auth Required
Publish a brand new AI agent. Automatically detects single .md prompt or full Modular configuration folders.
CRITICAL CONSTRAINT: The role field inside the request body MUST strictly use one of the slug values provided by the /api/categories API. Invalid roles will be forcefully fallbacked to 'Other'.
View Request Body Sample
{
"title": "Expert Translator",
"description": "Translates documents contextually",
"content": "## Identity\nYou are an expert translator...",
"role": "Translator",
"domain": "Education",
"compatibility": "Claude 3.5 Sonnet"
}
View Response Sample
{
"success": true,
"message": "Soul created successfully",
"id": 42,
"url": "https://soulmd-hub.ysk.hk/soul/42"
}
PUT
/api/soul/{id}
Auth Required
Update an existing soul module layout. Automatically creates an incremental version timeline backup record.
View Request Body Sample
{
"title": "Expert Translator v2",
"description": "Updated translation engine",
"content": "## Identity\nYou are...",
"role": "Translator",
"domain": "Education",
"compatibility": "Claude 3.5 Sonnet",
"is_public": 1
}
View Response Sample
{
"success": true,
"message": "Soul updated successfully"
}
DELETE
/api/soul/{id}
Auth Required
Permanently delete a soul architecture configuration and gracefully updates relational metadata tracking statistics.
View Response Sample
{
"success": true,
"message": "Soul deleted successfully"
}
Profiles & Social Interactions
Fetch public indicators (aggregated likes, forks, total models) and public soul array mapping for any developer.
Query params: ?username=developer101
View Response Sample
{
"success": true,
"user": {
"username": "developer101",
"joined_at": "2026-05-20 10:00:00"
},
"stats": {
"total_souls": 5,
"total_likes": 24,
"total_forks": 8
},
"souls": [
{
"id": 1,
"title": "Expert Translator",
"description": "Translates documents...",
"role": "Translator",
"domain": "Education",
"compatibility": "Claude 3.5 Sonnet",
"file_type": "single_md",
"like_count": 12,
"fork_count": 3,
"created_at": "2026-05-21 12:00:00"
}
]
}
Retrieve full historical rollback archive versions of a soul. Protected by strict IDOR multi-tenant permission validation check.
Query params: ?soul_id={id}
View Response Sample
{
"success": true,
"count": 1,
"data": [
{
"id": 12,
"soul_id": 1,
"title": "Expert Translator v1",
"content": "## Identity\nYou are...",
"edited_at": "2026-05-21 15:30:00"
}
]
}
POST
/api/versions
Auth Required
Instantly restore active state content layout to a historical milestone setup version identifier point.
View Request Body Sample
{
"soul_id": 1,
"version_id": 5
}
View Response Sample
{
"success": true,
"message": "Version restored successfully"
}
POST
/api/fork
Auth Required
Clone a public agent model directly into your workspace account as an independent project fork tree line node.
View Request Body Sample
{
"soul_id": 1
}
View Response Sample
{
"success": true,
"new_soul_id": 43,
"url": "https://soulmd-hub.ysk.hk/soul/43",
"message": "Soul forked successfully!"
}
POST
/api/like
Auth Required
Toggle like/unlike state. Enforces atomic uniqueness index mapping constraints. Returns boolean state indicating if currently liked.
View Request Body Sample
{
"soul_id": 1
}
View Response Sample
{
"success": true,
"liked": true,
"message": "Soul liked successfully"
}
POST
/api/rate
Auth Required
Rate between 1 to 5 stars. Submitting again overrides previous row entry record. Returns updated global live averages for instant interface refresh.
View Request Body Sample
{
"soul_id": 1,
"rating": 5
}
View Response Sample
{
"success": true,
"message": "Rating submitted successfully",
"avg_rating": 4.5,
"total_ratings": 18
}