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. Optional deep_think (VIP/PRO) enables reasoning. 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,
"deep_think": false
}
View Response Sample
{
"success": true,
"reply": "Based on the provided architecture diagram, here is the technical breakdown...",
"sender_name": "AI Assistant",
"quota": {
"tier": "vip",
"daily_remaining": 140,
"daily_limit": 150,
"deep_think_available": true,
"deep_think_cost": 2
}
}
GET
/api/chat-quota
Session or API Key
Returns remaining daily turns, Deep Think availability/cost, and premium (PRO v4-pro) remaining. Guests are limited by session plus hashed IP. Logged-in users use account counters.
View Response Sample
{
"success": true,
"quota": {
"tier": "free",
"daily_count": 3,
"daily_limit": 20,
"daily_remaining": 17,
"deep_think_available": false,
"deep_think_cost": 0,
"premium_remaining": 0,
"premium_limit": 0,
"allow_image": false,
"max_input_chars": 1000
}
}
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
}