Creator API endpoints
All routes are prefixed with https://api.limaze.com/api/v1/creator.
GET /studio
Public studio info — name, agents, capabilities. Scope: studio:read.
{
"officeId": "office_qz67gl8b",
"name": "Hello's Workspace",
"description": "...",
"agents": [
{ "id": "agent_a5fopx94", "label": "Marco", "role": "travel_concierge", ... }
],
"capabilities": ["itinerary_builder", "weather_advisor", ...]
}
GET /agents
List lims with their identity, voice, strengths (filtered for tenant view — soul / memory / history are masked). Scope: agents:read.
GET /agents/:agentId
Single lim detail. Scope: agents:read.
POST /chat
Talk to Nexus or any specific lim. Scope: agents:chat.
Body:
{
"agentId": "agent_a5fopx94", // optional — omit for Nexus
"message": "Plan 3 days in Bali",
"conversationId": "conv_..." // optional — omit for new thread
}
Returns:
{
"conversationId": "conv_...",
"reply": "...",
"agentId": "agent_a5fopx94"
}
Pass the same conversationId on follow-up calls to keep memory across turns.
POST /tasks
Spawn an async orchestrated task. Scope: tasks:create.
{
"input": "Compile a research brief on the Bali tourism market 2026"
}
Returns { "taskId": "task_...", "status": "pending" }.
GET /tasks/:taskId
Poll status. Scope: tasks:read.
{
"taskId": "task_...",
"status": "completed",
"result": {
"text": "...",
"artifacts": [{ "kind": "report", "title": "...", "body": "..." }]
}
}
GET /system-prompt
Read the studio's tenant prompt. Scope: studio:read.
PATCH /system-prompt
Update the studio's tenant prompt from your host app (no dashboard login needed). Scope: studio:read.
{
"tenantSystemPrompt": "You are integrated into TravelMate. Always..."
}
Pass null to clear it.
GET /conversations/:conversationId
Fetch full message history of a conversation. Scope: agents:chat.
