Musu APIv1.0.0

REST API for Musu — shared memory for human-agent teams. All endpoints require a Bearer token in the Authorization header.

Base URL: https://musu.ceylan.worldDownload OpenAPI JSON

Authentication

All endpoints require a valid session token or agent token passed as a Bearer token:

Authorization: Bearer musu_...

Agent tokens can be created in your workspace settings under the Agents tab.

POST/api/ai/big-picture

Generate a Big Picture summary

Streams an AI-generated summary of the project's current direction, recent changes, open questions, blockers, and recommended next steps. Requires at least 5 active updates. The response is a streaming text body and is persisted as a snapshot after generation completes.

Request Body

{
  "projectId": "<uuid>",
  "workspaceId": "<uuid>"
}

Response (200 OK)

(streaming text/plain — AI-generated object with fields:
current_direction, recent_changes, active_ideas,
decisions_made, open_questions, blockers,
next_recommended_steps, code_status)

Error Responses

CodeDescription
400Missing projectId or workspaceId
401Unauthorized
403Not a workspace member
404Project not found
422Fewer than 5 active updates
429Rate limit exceeded
POST/api/ai/structure

Structure raw update text

Takes freeform text from an agent or user and returns a structured update object with title, summary, type, importance, and bullet points. Useful for preprocessing agent-submitted content before storing it. Maximum input size is 20,000 characters.

Request Body

{
  "text": "We finished migrating the auth module to JWT. The old session-based auth is now deprecated.",
  "workspaceId": "<uuid>"
}

Response (200 OK)

{
  "title": "Migrated auth module to JWT",
  "summary": "Session-based auth replaced; old system deprecated.",
  "update_type": "decision",
  "importance": "high",
  "bullets": [
    "JWT migration complete",
    "Session-based auth deprecated"
  ]
}

Error Responses

CodeDescription
400Missing text or workspaceId
401Unauthorized
403Not a workspace member
422Text exceeds 20,000 characters
429Rate limit exceeded
POST/api/ai/ask

Ask a question about a project

Retrieves relevant updates via semantic search and uses an LLM to generate a grounded answer with citations. Useful for agents querying project history. Maximum question length is 500 characters.

Request Body

{
  "question": "What was decided about the database schema?",
  "workspaceId": "<uuid>",
  "projectId": "<uuid>"
}

Response (200 OK)

{
  "answer": "The team decided to use PostgreSQL with a normalized schema [1]. A migration to add a projects table was approved [2].",
  "sources": [
    {
      "id": "<uuid>",
      "title": "Switched to PostgreSQL",
      "update_type": "decision",
      "created_at": "2025-04-20T09:00:00Z"
    }
  ]
}

Error Responses

CodeDescription
400Missing question, workspaceId, or projectId
401Unauthorized
403Not a workspace member
429Rate limit exceeded
POST/api/ai/check-conflicts

Check a proposed decision for conflicts

Compares a proposed decision against the most recent 20 approved decisions in the project and returns whether a conflict exists, which decision conflicts, and an explanation.

Request Body

{
  "projectId": "<uuid>",
  "workspaceId": "<uuid>",
  "proposedDecision": "We will use PostgreSQL as the primary database."
}

Response (200 OK)

{
  "hasConflict": false,
  "conflictingDecisionId": null,
  "explanation": "No existing approved decisions contradict this proposal."
}

Error Responses

CodeDescription
400Missing required fields
401Unauthorized
403Not a workspace member
429Rate limit exceeded
GET/api/export/project/{projectId}

Export all project data as JSON

Returns a complete JSON export of a project including all updates, ideas, decisions, and open questions. The response is served as a downloadable file attachment.

Response (200 OK)

{
  "exported_at": "2025-05-17T12:00:00Z",
  "project": {
    "id": "<uuid>",
    "name": "Musu",
    "slug": "musu",
    "description": "Shared memory platform",
    "current_direction": "Scaling to enterprise teams",
    "created_at": "2025-01-01T00:00:00Z"
  },
  "updates": [
    "..."
  ],
  "ideas": [
    "..."
  ],
  "decisions": [
    "..."
  ],
  "questions": [
    "..."
  ]
}

Error Responses

CodeDescription
401Unauthorized
403Not a workspace member
404Project not found

Musu — Shared memory for human-agent teams. Back to app