Limaze AILimaze AIDocs
Back to site
Docs/🔗 Creator API/Endpoint reference

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.