Projekte — API und MCP
Überblick
Dieser Bereich stellt 73 Operationen bereit. Jede davon ist zugleich ein MCP-Werkzeug.
Der Bereich hängt am Modul-Schalter module.projects. Ist das Modul aus, antworten diese Operationen mit 404.
Operationen
| Methode | Pfad | Zweck | Recht | Parameter |
|---|---|---|---|---|
GET | /api/v1/project-acceptances | Liste der ProjectAcceptance | projects.project.view | page, projectId, projectUlid, status |
GET | /api/v1/project-activity | Liste der ProjectActivity | projects.project.view | page, itemsPerPage, projectUlid, order[occurredAt] |
GET | /api/v1/project-boards | Liste der Board | projects.project.view | page, projectId, projectUlid |
POST | /api/v1/project-boards | Eine Board anlegen | projects.project.edit | + Rumpf |
DELETE | /api/v1/project-boards/{ulid} | Eine Board löschen | projects.project.edit | ulid |
GET | /api/v1/project-boards/{ulid} | Eine Board lesen | projects.project.view | ulid |
PATCH | /api/v1/project-boards/{ulid} | Eine Board ändern | projects.project.edit | ulid, + Rumpf |
GET | /api/v1/project-members | Liste der ProjectMember | projects.project.view | page, projectId, employeeId |
POST | /api/v1/project-members | Eine ProjectMember anlegen | projects.project.edit | + Rumpf |
DELETE | /api/v1/project-members/{id} | Eine ProjectMember löschen | projects.project.edit | id |
GET | /api/v1/project-members/{id} | Eine ProjectMember lesen | projects.project.view | id |
PATCH | /api/v1/project-members/{id} | Eine ProjectMember ändern | projects.project.edit | id, + Rumpf |
GET | /api/v1/project-milestones | Liste der Milestone | projects.project.view | page, projectId, order[dueAt], order[name], order[sortOrder] |
POST | /api/v1/project-milestones | Eine Milestone anlegen | projects.project.edit | + Rumpf |
DELETE | /api/v1/project-milestones/{ulid} | Eine Milestone löschen | projects.project.edit | ulid |
GET | /api/v1/project-milestones/{ulid} | Eine Milestone lesen | projects.project.view | ulid |
PATCH | /api/v1/project-milestones/{ulid} | Eine Milestone ändern | projects.project.edit | ulid, + Rumpf |
POST | /api/v1/project-milestones/{ulid}/accept | Meilenstein intern abnehmen — Nimmt den Meilenstein INTERN ab. Die Kundenentscheidung läuft ausschließlich über das Portal. | projects.acceptance.internal | ulid, + Rumpf |
POST | /api/v1/project-milestones/{ulid}/bill | Meilenstein abrechnen — Stößt die Festpreis-Abrechnung des Meilensteins an (meldet BillingRequested). Verlangt das eigene Auslöserecht für Abrechnungen; billedAt ist nicht direkt schreibbar. | projects.billing.trigger | ulid, + Rumpf |
POST | /api/v1/project-milestones/{ulid}/request-acceptance | Kundenabnahme des Meilensteins anfordern — Fordert die Abnahme durch den Kunden an: legt sie als pending an und benachrichtigt das Portal. Nimmt nur kind=customer. | projects.project.edit | ulid, + Rumpf |
GET | /api/v1/project-risks | Liste der ProjectRisk | projects.project.view | page, projectId, projectUlid, status, type |
POST | /api/v1/project-risks | Eine ProjectRisk anlegen | projects.project.edit | + Rumpf |
DELETE | /api/v1/project-risks/{ulid} | Eine ProjectRisk löschen | projects.project.edit | ulid |
GET | /api/v1/project-risks/{ulid} | Eine ProjectRisk lesen | projects.project.view | ulid |
PATCH | /api/v1/project-risks/{ulid} | Eine ProjectRisk ändern | projects.project.edit | ulid, + Rumpf |
GET | /api/v1/project-templates | Liste der ProjectTemplate | projects.project.view | page, active, projectType, brandId, search, order[name], order[createdAt], order[updatedAt] |
POST | /api/v1/project-templates | Eine ProjectTemplate anlegen | projects.config.manage | + Rumpf |
DELETE | /api/v1/project-templates/{ulid} | Eine ProjectTemplate löschen | projects.config.manage | ulid |
GET | /api/v1/project-templates/{ulid} | Eine ProjectTemplate lesen | projects.project.view | ulid |
PATCH | /api/v1/project-templates/{ulid} | Eine ProjectTemplate ändern | projects.config.manage | ulid, + Rumpf |
GET | /api/v1/project/milestone-statuses | Liste der MilestoneStatus | projects.project.view | page |
POST | /api/v1/project/milestone-statuses | Eine MilestoneStatus anlegen | projects.config.manage | + Rumpf |
DELETE | /api/v1/project/milestone-statuses/{key} | Eine MilestoneStatus löschen | projects.config.manage | key |
GET | /api/v1/project/milestone-statuses/{key} | Eine MilestoneStatus lesen | projects.project.view | key |
PATCH | /api/v1/project/milestone-statuses/{key} | Eine MilestoneStatus ändern | projects.config.manage | key, + Rumpf |
GET | /api/v1/project/project-roles | Liste der ProjectRole | projects.project.view | page |
POST | /api/v1/project/project-roles | Eine ProjectRole anlegen | projects.config.manage | + Rumpf |
DELETE | /api/v1/project/project-roles/{key} | Eine ProjectRole löschen | projects.config.manage | key |
GET | /api/v1/project/project-roles/{key} | Eine ProjectRole lesen | projects.project.view | key |
PATCH | /api/v1/project/project-roles/{key} | Eine ProjectRole ändern | projects.config.manage | key, + Rumpf |
GET | /api/v1/project/project-statuses | Liste der ProjectStatus | projects.project.view | page |
POST | /api/v1/project/project-statuses | Eine ProjectStatus anlegen | projects.config.manage | + Rumpf |
DELETE | /api/v1/project/project-statuses/{key} | Eine ProjectStatus löschen | projects.config.manage | key |
GET | /api/v1/project/project-statuses/{key} | Eine ProjectStatus lesen | projects.project.view | key |
PATCH | /api/v1/project/project-statuses/{key} | Eine ProjectStatus ändern | projects.config.manage | key, + Rumpf |
GET | /api/v1/project/project-types | Liste der ProjectType | projects.project.view | page |
POST | /api/v1/project/project-types | Eine ProjectType anlegen | projects.config.manage | + Rumpf |
DELETE | /api/v1/project/project-types/{key} | Eine ProjectType löschen | projects.config.manage | key |
GET | /api/v1/project/project-types/{key} | Eine ProjectType lesen | projects.project.view | key |
PATCH | /api/v1/project/project-types/{key} | Eine ProjectType ändern | projects.config.manage | key, + Rumpf |
GET | /api/v1/projects | Liste der Project | projects.project.view | page, customerId, brandId, teamId, type, statusId, statusCategory, showDone, health, mine, search, q, order[createdAt], order[updatedAt], order[name], order[code], order[dueAt], order[budgetAmount] |
POST | /api/v1/projects | Eine Project anlegen | projects.project.create | + Rumpf |
POST | /api/v1/projects/from-quote | Create project from a quote — Create project from a quote. Dedicated action endpoint — not a standard CRUD create. | projects.project.create_from_quote | + Rumpf |
POST | /api/v1/projects/from-template | Eine Project anlegen | projects.project.create | + Rumpf |
POST | /api/v1/projects/{projectUlid}/ai/risk-scan | Verzugs- und Risikosignale erkennen — Erkennt Verzugs-/Risiko-Signale und ordnet sie ein; createRisk legt daraus ein Projekt-Risiko an (verlangt projects.project.edit). | projects.project.view | projectUlid, + Rumpf |
POST | /api/v1/projects/{projectUlid}/ai/status-summary | Statusbericht erzeugen — Erzeugt einen Statusbericht zum Projekt. | projects.project.view | projectUlid, + Rumpf |
POST | /api/v1/projects/{projectUlid}/ai/task-breakdown | Aufgaben-Vorschlag aus einem Briefing — Schlägt Aufgaben aus einem Briefing vor (Vorschau, legt nichts an). | projects.project.view | projectUlid, + Rumpf |
POST | /api/v1/projects/{projectUlid}/ai/task-breakdown/apply | Aufgaben-Vorschläge übernehmen — Legt die übergebenen Aufgaben-Vorschläge als Aufgaben des Projekts an. | projects.project.edit | projectUlid, + Rumpf |
GET | /api/v1/projects/{projectUlid}/autopilot | Eine ProjectAutopilot lesen | projects.project.view | projectUlid |
PATCH | /api/v1/projects/{projectUlid}/autopilot | Autopilot-Einstellungen ändern — Ändert die Autopilot-Einstellungen des Projekts. Wirkt ausschließlich auf Benachrichtigungen — nie auf Status oder Termine. | projects.project.edit | projectUlid, + Rumpf |
GET | /api/v1/projects/{projectUlid}/gantt | Retrieves a ProjectGantt resource. — Balken (Aufgaben mit Start/Ende), Kanten (Abhängigkeiten) und Meilensteine eines Projekts für die Zeitachse. | projects.project.view | projectUlid |
DELETE | /api/v1/projects/{ulid} | Eine Project löschen | projects.project.delete | ulid |
GET | /api/v1/projects/{ulid} | Eine Project lesen | projects.project.view | ulid |
PATCH | /api/v1/projects/{ulid} | Eine Project ändern | projects.project.edit | ulid, + Rumpf |
POST | /api/v1/projects/{ulid}/as-template | Projekt als Vorlage sichern — Legt aus dem Projekt eine Projektvorlage an. Verlangt das Konfigurationsrecht. | projects.config.manage | ulid, + Rumpf |
POST | /api/v1/projects/{ulid}/duplicate | Projekt kopieren — Legt eine Kopie des Projekts an. | projects.project.create | ulid, + Rumpf |
POST | /api/v1/projects/{ulid}/request-acceptance | Kundenabnahme des Projekts anfordern — Fordert die Abnahme des Projekts durch den Kunden an: legt sie als pending an und benachrichtigt das Portal. Nimmt nur kind=customer. | projects.project.edit | ulid, + Rumpf |
GET | /api/v1/task-bundles | Liste der TaskBundle | projects.project.view | page, active, q, order[name], order[createdAt], order[updatedAt] |
POST | /api/v1/task-bundles | Eine TaskBundle anlegen | projects.config.manage | + Rumpf |
DELETE | /api/v1/task-bundles/{ulid} | Eine TaskBundle löschen | projects.config.manage | ulid |
GET | /api/v1/task-bundles/{ulid} | Eine TaskBundle lesen | projects.project.view | ulid |
PATCH | /api/v1/task-bundles/{ulid} | Eine TaskBundle ändern | projects.config.manage | ulid, + Rumpf |
POST | /api/v1/task-bundles/{ulid}/apply | Aufgaben-Bündel in ein Projekt laden — Lädt das Bündel in ein bestehendes Projekt (gleichnamige Listen werden gemerged). | projects.project.edit | ulid, + Rumpf |
Zweckangaben, die nicht dem Standardmuster folgen, stammen unverändert aus der Schnittstellen-Beschreibung im Code.