Projektgrenzen und Basisvertrag
Der OpenAPI-Vertrag legt Projektoperationen unter /v1/projects/{project_id} offen; es gibt im committeten öffentlichen Daten-Ebenen-Vertrag keine Top-Level-Operation POST /v1/projects. Eine project_id wählt den Projektarbeitsbereich aus, während scope, bucket, team_id und path Autorisierungs- und Filterfelder bleiben. Authentifizieren Sie sich mit dem X-API-Key-Header und verwenden Sie ein Token, das für das ausgewählte Projekt/Team autorisiert ist.
- Kontext: POST /v1/projects/{project_id}/context.
- Todos: POST /v1/projects/{project_id}/todos; GET /v1/projects/{project_id}/todos.
- Todo-Übergänge: POST /v1/projects/{project_id}/todos/{todo_id}/accept; POST /v1/projects/{project_id}/todos/{todo_id}/assign; POST /v1/projects/{project_id}/todos/{todo_id}/block; POST /v1/projects/{project_id}/todos/{todo_id}/unblock; POST /v1/projects/{project_id}/todos/{todo_id}/complete; POST /v1/projects/{project_id}/todos/{todo_id}/cancel.
- Entscheidungen: POST /v1/projects/{project_id}/decisions; GET /v1/projects/{project_id}/decisions.
- Entscheidungs-Übergänge: POST /v1/projects/{project_id}/decisions/{decision_id}/resolve; POST /v1/projects/{project_id}/decisions/{decision_id}/supersede; POST /v1/projects/{project_id}/decisions/{decision_id}/reopen.
- Wartung: GET /v1/projects/{project_id}/maintenance/settings; PATCH /v1/projects/{project_id}/maintenance/settings; GET /v1/projects/{project_id}/maintenance; POST /v1/projects/{project_id}/maintenance/execute.
Schemas für Projektkontextanfragen und -antworten
POST /v1/projects/{project_id}/context akzeptiert ProjectContextRequest: bucket ist standardmäßig %, team_id und durable_query sind nullfähig, max_items ist standardmäßig 100 (1..1000), max_tokens ist standardmäßig 8000 (1..50000), include_durable_context ist standardmäßig true und recent_hours ist standardmäßig 168 (1..8760). Es liefert ProjectContextPackResponse mit den erforderlichen Feldern project_scope, assembled_at und budget sowie project_state, agent_states, action_items, decisions, timeline, recent_memories, durable_context, governance_caveats, missing_domains, incomplete_domains und suggested_next_actions zurück.
POST /v1/projects/memory-os/context
X-API-Key: <your-assigned-api-key>
Content-Type: application/json
{
"bucket": "work",
"max_items": 100,
"max_tokens": 8000,
"include_durable_context": true,
"recent_hours": 168
}Projekt-Todos und -Entscheidungen
Die Todo-Erstellung akzeptiert ProjectTodoCreateRequest mit erforderlichem content und optionalem priority, assignee_agent_id, depends_on, due_at, source_memory_id, metadata, bucket (Standard work), scope, path und team_id; sie gibt ProjectTodo zurück. GET todos akzeptiert optional status und team_id und liefert ein Array von ProjectTodo. Die Entscheidungserstellung akzeptiert ProjectDecisionCreateRequest mit erforderlichem context und optionalen Optionen, impact_level, proposed_by_agent_id, supersedes, source_memory_id, due_at, metadata, bucket (Standard work), scope, path und team_id; sie gibt ProjectDecision zurück. Die Entscheidungsauflistung akzeptiert status und team_id und gibt ein Array zurück.
POST /v1/projects/memory-os/todos
X-API-Key: <your-assigned-api-key>
Content-Type: application/json
{
"content": "Review the current API contract",
"priority": "high",
"bucket": "work"
}
POST /v1/projects/memory-os/decisions
X-API-Key: <your-assigned-api-key>
Content-Type: application/json
{
"context": "Choose the public REST reference scope",
"options": ["memory-only", "full-openapi"]
}Lebenszyklus-Operationen für Todos und Entscheidungen
Die OpenAPI-Lebenszyklusoperationen geben ProjectTodo oder ProjectDecision zurück, mit Ausnahme von supersede, das ein Array von ProjectDecision liefert. ProjectTodo erfordert todo_id, project_id und content; seine weiteren deklarierten Felder umfassen status, priority, assignee_agent_id, accepted_by_agent_id, blocked_reason, depends_on, due_at, completed_at, completion_note, source_memory_id, created_at, updated_at, audit_trail und extra_metadata. ProjectDecision erfordert decision_id, project_id und content; seine weiteren deklarierten Felder umfassen title, decision, rationale, status, proposed_by_agent_id, resolved_by_agent_id, impact_level, supersedes, superseded_by, options, resolution, decision_context, source_memory_id, resolved_at, created_at, updated_at, audit_trail und extra_metadata. POST /v1/projects/{project_id}/decisions/{decision_id}/resolve erfordert {resolution: string}; POST /v1/projects/{project_id}/decisions/{decision_id}/supersede erfordert context und akzeptiert options, impact_level, proposed_by_agent_id und resolution_note; reopen hat keinen Anfrage-Body. Die Todo-Aktionen accept, unblock und die meisten Übergänge haben keinen Anfrage-Body in OpenAPI; assign erfordert {assignee_agent_id: string}, block erfordert {reason: string}, complete akzeptiert {note: string|null} und cancel akzeptiert {reason: string|null}.
{
"resolution": "Use the memory-only public reference."
}Projektwartung, Paginierung, Fehler und Limits
Wartung ist Teil der öffentlichen Oberfläche von /v1/projects in OpenAPI: Einstellungen GET/PATCH nutzen ProjectMaintenanceSettingsResponse und ProjectMaintenanceSettingsPatchRequest; der Bericht GET akzeptiert team_id und scan_limit (Standard 1000, Bereich 1..5000) und gibt ProjectMaintenanceReportResponse zurück; execute POST akzeptiert ProjectMaintenanceExecuteRequest mit actions (1..4 Strings), target_ids (bis zu 500 IDs) und confirm_all_matching (Standard false) und gibt ProjectMaintenanceExecuteResponse zurück. Projekt-Todo- und Entscheidungslisten bieten status/team_id-Filter, jedoch keine Seiten- oder Cursor-Parameter in OpenAPI. Alle aufgeführten Operationen deklarieren HTTPValidationError für 422. Laufzeit-Autorisierungsfehler und konfigurierbare 60-Sekunden-Rate-Limits werden mit den Seiten für Authentifizierung und Speicher-API geteilt; in OpenAPI werden keine projektspezifischen Kontingente veröffentlicht.
Quelle: MCP-Tool-Oberfläche