ReferenzREST-APIProjekte-API

REST API

Projekte-API

Halten Sie projektbezogenen Kontext und Übergabedatensätze mit dem Agenten-Workflow verknüpft, der sie erstellt hat.

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