---
title: "Abdeckung der Operationen"
description: "Generierte Abdeckung für REST, CLI und MCP, erforderliche Berechtigungen und ausdrücklich dokumentierte Ausnahmen je Oberfläche."
canonical: "https://atelier201.com/docs/de/api/surfaces"
updated: "2026-11-06"
---

# Abdeckung der Operationen

Diese Referenz wird aus dem Routenverzeichnis und den Zuordnungen zu den jeweiligen Oberflächen generiert.
Sie beschreibt die API-Version in dieser Dokumentation, nicht die Berechtigungen deiner Zugangsdaten.
Rufe `get_account`, `atelier201 account` oder `GET /v1/account` auf, um diese zu prüfen.

## Den Vertrag einsehen

- REST: Lies [OpenAPI](/docs/openapi.json). Jede Operation enthält `x-atelier201-surfaces`.
- CLI: Führe für einen Befehl `atelier201 help files read --json` oder für die exakten REST-Schemas `atelier201 help --operation readSiteFile --json` aus. Dies ist der Vertrag, der in deiner installierten CLI enthalten ist.
- MCP: Lies `atelier201://operations` als kompakte Übersicht und anschließend `atelier201://operations/{operation_id}` für den vollständigen Vertrag einer Operation. Das vollständige Dokument ist `atelier201://openapi`. Clients ohne Unterstützung für Ressourcen können die Schemas ihrer Tools oder die öffentliche OpenAPI-Spezifikation verwenden.
- Code Mode: `search` gibt dieselben Operationen und Zuordnungen zu den Oberflächen zurück; eine gefilterte Suche enthält die vollständigen Schemas.

Für alle Oberflächen gelten dieselben Dienstberechtigungen. Dass ein Befehl oder Tool aufgeführt ist, gewährt keinen Zugriff.
Befehle für das lokale Dateisystem, anonyme Uploads von Gästen und interaktive MCP-Karten unterscheiden sich bewusst.
Die Tabelle dokumentiert Ausnahmen, statt den Eindruck zu erwecken, dass jede Schnittstelle denselben Übertragungsweg oder dasselbe Ausgabeformat unterstützt.

## Funktionen

| Operation                | REST                                                         | CLI                                 | MCP                                                                                                                                                                                                                       | Berechtigung                             |
| ------------------------ | ------------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
| `getAccount`             | `GET /v1/account`                                            | `atelier201 account`                | `get_account`                                                                                                                                                                                                             | `account:read`                           |
| `submitFeedback`         | `POST /v1/feedback`                                          | `atelier201 feedback send`          | `send_feedback`                                                                                                                                                                                                           | Authentifiziert, kein Scope erforderlich |
| `getCredits`             | `GET /v1/credits`                                            | `atelier201 credits`                | `get_credit_balance`                                                                                                                                                                                                      | `account:read`                           |
| `getUsage`               | `GET /v1/usage`                                              | `atelier201 usage`                  | `get_usage`                                                                                                                                                                                                               | `usage:read`                             |
| `listSites`              | `GET /v1/sites`                                              | `atelier201 sites list`             | `list_sites`                                                                                                                                                                                                              | `sites:read`                             |
| `createSite`             | `POST /v1/sites`                                             | `atelier201 sites create`           | `create_site`                                                                                                                                                                                                             | `sites:write`                            |
| `getSite`                | `GET /v1/sites/{site_id}`                                    | `atelier201 sites get`              | `get_site`                                                                                                                                                                                                                | `sites:read`                             |
| `updateSite`             | `PATCH /v1/sites/{site_id}`                                  | `atelier201 sites rename`           | `rename_site`                                                                                                                                                                                                             | `sites:write`                            |
| `deleteSite`             | `DELETE /v1/sites/{site_id}`                                 | `atelier201 sites delete`           | `delete_site` Erfordert `confirm_name`: Agents müssen vor dem Löschen den Namen oder Slug der Website exakt eingeben. REST unterstützt außerdem direkte Administratoraufrufe ohne dieses Bestätigungsfeld.                | `sites:publish`                          |
| `applySitePlan`          | `POST /v1/sites/{site_id}/plan:apply`                        | `atelier201 sites apply`            | `apply_site_plan`                                                                                                                                                                                                         | `sites:write`                            |
| `listSiteFiles`          | `GET /v1/sites/{site_id}/files`                              | `atelier201 files list`             | `list_files`                                                                                                                                                                                                              | `sites:read`                             |
| `readSiteFile`           | `GET /v1/sites/{site_id}/files/content`                      | `atelier201 files read`             | `read_file`                                                                                                                                                                                                               | `sites:read`                             |
| `readSiteFiles`          | `POST /v1/sites/{site_id}/files/read`                        | `atelier201 files read-many`        | `read_files`                                                                                                                                                                                                              | `sites:read`                             |
| `searchSiteFiles`        | `GET /v1/sites/{site_id}/search`                             | `atelier201 files search`           | `search_files`                                                                                                                                                                                                            | `sites:read`                             |
| `commitSiteFiles`        | `POST /v1/sites/{site_id}/commits`                           | `atelier201 files commit`           | `edit_files`                                                                                                                                                                                                              | `sites:write`                            |
| `runSiteCommand`         | `POST /v1/sites/{site_id}/workspace:run`                     | `atelier201 workspace run`          | `bash`                                                                                                                                                                                                                    | `sites:write`                            |
| `getSiteWorkspace`       | `GET /v1/sites/{site_id}/workspace`                          | `atelier201 workspace diff`         | `get_workspace`                                                                                                                                                                                                           | `sites:write`                            |
| `commitSiteWorkspace`    | `POST /v1/sites/{site_id}/workspace:commit`                  | `atelier201 workspace commit`       | `commit_workspace`                                                                                                                                                                                                        | `sites:write`                            |
| `discardSiteWorkspace`   | `POST /v1/sites/{site_id}/workspace:discard`                 | `atelier201 workspace discard`      | `discard_workspace`                                                                                                                                                                                                       | `sites:write`                            |
| `listSiteRevisions`      | `GET /v1/sites/{site_id}/revisions`                          | `atelier201 history list`           | `list_history`                                                                                                                                                                                                            | `sites:read`                             |
| `compareSiteRevisions`   | `GET /v1/sites/{site_id}/compare`                            | `atelier201 history compare`        | `compare_revisions`                                                                                                                                                                                                       | `sites:read`                             |
| `restoreSiteRevision`    | `POST /v1/sites/{site_id}/revisions/{revision}/restore`      | `atelier201 history restore`        | `restore_revision`                                                                                                                                                                                                        | `sites:write`                            |
| `openChangeset`          | `POST /v1/sites/{site_id}/changesets`                        | `atelier201 changesets open`        | `open_changeset`                                                                                                                                                                                                          | `sites:write`                            |
| `patchChangeset`         | `POST /v1/sites/{site_id}/changesets/{changeset_id}/patch`   | `atelier201 changesets stage`       | `stage_changes`                                                                                                                                                                                                           | `sites:write`                            |
| `commitChangeset`        | `POST /v1/sites/{site_id}/changesets/{changeset_id}/commit`  | `atelier201 changesets commit`      | `commit_changeset`                                                                                                                                                                                                        | `sites:write`                            |
| `abandonChangeset`       | `POST /v1/sites/{site_id}/changesets/{changeset_id}/abandon` | `atelier201 changesets abandon`     | `abandon_changeset`                                                                                                                                                                                                       | `sites:write`                            |
| `startSiteBuild`         | `POST /v1/sites/{site_id}/builds`                            | `atelier201 builds start`           | `build_site`                                                                                                                                                                                                              | `sites:write`                            |
| `listSiteBuilds`         | `GET /v1/sites/{site_id}/builds`                             | `atelier201 builds list`            | `list_builds`                                                                                                                                                                                                             | `sites:read`                             |
| `getSiteBuild`           | `GET /v1/sites/{site_id}/builds/{build_id}`                  | `atelier201 builds get`             | `get_build`                                                                                                                                                                                                               | `sites:read`                             |
| `readSitePage`           | `GET /v1/sites/{site_id}/pages`                              | `atelier201 pages read`             | `read_page`                                                                                                                                                                                                               | `sites:read`                             |
| `getSiteBuildLog`        | `GET /v1/sites/{site_id}/builds/{build_id}/log`              | `atelier201 builds log`             | `get_build_log`                                                                                                                                                                                                           | `sites:read`                             |
| `createSitePreview`      | `POST /v1/sites/{site_id}/previews`                          | `atelier201 previews create`        | `share_preview`                                                                                                                                                                                                           | `sites:write`                            |
| `listSitePreviews`       | `GET /v1/sites/{site_id}/previews`                           | `atelier201 previews list`          | `list_previews`                                                                                                                                                                                                           | `sites:read`                             |
| `revokeSitePreview`      | `DELETE /v1/sites/{site_id}/previews/{preview_id}`           | `atelier201 previews revoke`        | `revoke_preview`                                                                                                                                                                                                          | `sites:write`                            |
| `getSiteAnalytics`       | `GET /v1/sites/{site_id}/analytics`                          | `atelier201 analytics`              | `get_site_analytics`                                                                                                                                                                                                      | `sites:read`                             |
| `reviewSitePublish`      | `GET /v1/sites/{site_id}/publish/review`                     | `atelier201 publish review`         | `review_publish`                                                                                                                                                                                                          | `sites:read`                             |
| `publishSite`            | `POST /v1/sites/{site_id}/publish`                           | `atelier201 publish`                | `publish_site`                                                                                                                                                                                                            | `sites:publish`                          |
| `rollbackSite`           | `POST /v1/sites/{site_id}/rollback`                          | `atelier201 publish rollback`       | `rollback_site`                                                                                                                                                                                                           | `sites:publish`                          |
| `unpublishSite`          | `POST /v1/sites/{site_id}/unpublish`                         | `atelier201 publish unpublish`      | `unpublish_site`                                                                                                                                                                                                          | `sites:publish`                          |
| `listSitePublications`   | `GET /v1/sites/{site_id}/publications`                       | `atelier201 publish history`        | `list_publications`                                                                                                                                                                                                       | `sites:read`                             |
| `listSiteDomains`        | `GET /v1/sites/{site_id}/domains`                            | `atelier201 domains list`           | `list_domains`                                                                                                                                                                                                            | `sites:read`                             |
| `addSiteDomain`          | `POST /v1/sites/{site_id}/domains`                           | `atelier201 domains add`            | `add_domain`                                                                                                                                                                                                              | `domains:write`                          |
| `checkSiteDomain`        | `POST /v1/sites/{site_id}/domains/{domain_id}/check`         | `atelier201 domains check`          | `check_domain`                                                                                                                                                                                                            | `domains:write`                          |
| `removeSiteDomain`       | `DELETE /v1/sites/{site_id}/domains/{domain_id}`             | `atelier201 domains remove`         | `remove_domain`                                                                                                                                                                                                           | `domains:write`                          |
| `setSiteAddress`         | `POST /v1/sites/{site_id}/address`                           | `atelier201 domains address`        | `set_site_address`                                                                                                                                                                                                        | `domains:write`                          |
| `setSiteCanonicalDomain` | `POST /v1/sites/{site_id}/domains/{domain_id}/canonical`     | `atelier201 domains main`           | `set_main_domain`                                                                                                                                                                                                         | `domains:write`                          |
| `getContentModel`        | `GET /v1/sites/{site_id}/content`                            | `atelier201 content model`          | `get_content_model`                                                                                                                                                                                                       | `sites:read`                             |
| `listContentEntries`     | `GET /v1/sites/{site_id}/content/{collection}`               | `atelier201 content list`           | `list_entries`                                                                                                                                                                                                            | `sites:read`                             |
| `getContentEntry`        | `GET /v1/sites/{site_id}/content/{collection}/{slug}`        | `atelier201 content get`            | `get_entry`                                                                                                                                                                                                               | `sites:read`                             |
| `saveContentEntry`       | `PUT /v1/sites/{site_id}/content/{collection}/{slug}`        | `atelier201 content save`           | `save_entry`                                                                                                                                                                                                              | `sites:write`                            |
| `deleteContentEntry`     | `DELETE /v1/sites/{site_id}/content/{collection}/{slug}`     | `atelier201 content delete`         | `delete_entry`                                                                                                                                                                                                            | `sites:write`                            |
| `saveContentEntries`     | `POST /v1/sites/{site_id}/content:batch`                     | `atelier201 content save-many`      | `save_entries`                                                                                                                                                                                                            | `sites:write`                            |
| `getSingleton`           | `GET /v1/sites/{site_id}/singletons/{name}`                  | `atelier201 content singleton`      | `get_singleton`                                                                                                                                                                                                           | `sites:read`                             |
| `saveSingleton`          | `PUT /v1/sites/{site_id}/singletons/{name}`                  | `atelier201 content save-singleton` | `save_singleton`                                                                                                                                                                                                          | `sites:write`                            |
| `replaceSiteText`        | `POST /v1/sites/{site_id}/text:replace`                      | `atelier201 content replace`        | `edit_text`                                                                                                                                                                                                               | `sites:write`                            |
| `setContentField`        | `POST /v1/sites/{site_id}/fields`                            | `atelier201 content set`            | `set_field`                                                                                                                                                                                                               | `sites:write`                            |
| `listSiteMedia`          | `GET /v1/sites/{site_id}/media`                              | `atelier201 media list`             | `list_media`                                                                                                                                                                                                              | `sites:read`                             |
| `uploadSiteMedia`        | `POST /v1/sites/{site_id}/media`                             | `atelier201 media upload`           | `upload_media`                                                                                                                                                                                                            | `sites:write`                            |
| `deleteSiteMedia`        | `DELETE /v1/sites/{site_id}/media`                           | `atelier201 media delete`           | `delete_media`                                                                                                                                                                                                            | `sites:write`                            |
| `searchStockMedia`       | `GET /v1/sites/{site_id}/media/stock`                        | `atelier201 media stock search`     | `search_stock_media`                                                                                                                                                                                                      | `sites:read`                             |
| `importStockMedia`       | `POST /v1/sites/{site_id}/media/stock`                       | `atelier201 media stock import`     | `import_stock_media`                                                                                                                                                                                                      | `sites:write`                            |
| `placeSiteImage`         | `POST /v1/sites/{site_id}/images:place`                      | `atelier201 media place`            | `place_image`                                                                                                                                                                                                             | `sites:write`                            |
| `listMediaModels`        | `GET /v1/media/models`                                       | `atelier201 media models`           | `list_media_models`                                                                                                                                                                                                       | `sites:read`                             |
| `generateSiteMedia`      | `POST /v1/sites/{site_id}/media/generations`                 | `atelier201 media generate`         | `generate_media`                                                                                                                                                                                                          | `media:generate`                         |
| `getSiteMediaGeneration` | `GET /v1/sites/{site_id}/media/generations/{generation_id}`  | `atelier201 media generation`       | `get_media_generation`                                                                                                                                                                                                    | `sites:read`                             |
| `importSiteArchive`      | `POST /v1/sites/{site_id}/import`                            | `atelier201 site push`              | Ein Projektarchiv ist ein binärer Datenstrom von bis zu 50 MB, den ein Modell nicht über einen Tool-Aufruf erzeugen kann. Agents bearbeiten Dateien mit edit\_files oder einem Changeset; die CLI lädt ganze Ordner hoch. | `sites:write`                            |
| `exportSiteArchive`      | `GET /v1/sites/{site_id}/export`                             | `atelier201 site pull`              | Gibt ein binäres tar-Archiv zurück, das sich nicht sinnvoll als Tool-Ergebnis übermitteln lässt. Agents lesen Dateien mit read\_file; die CLI lädt das gesamte Projekt herunter.                                          | `sites:read`                             |
| `listSkills`             | `GET /v1/skills`                                             | `atelier201 skills list`            | `list_skills`                                                                                                                                                                                                             | Öffentlich                               |
| `getSkill`               | `GET /v1/skills/{skill_id}`                                  | `atelier201 skills get`             | `get_skill`                                                                                                                                                                                                               | Öffentlich                               |
| `prepareGuestSite`       | `POST /v1/guest/sites`                                       | `atelier201 site push --guest`      | Vor der Anmeldung gibt es kein OAuth. Remote MCP benötigt OAuth, bevor ein Tool ausgeführt werden kann. Agents verwenden diesen HTTP-Endpunkt (oder die CLI) und geben der Person den Link zum Beanspruchen der Website.  | Öffentlich                               |
| `importGuestSite`        | `POST /v1/guest/sites/{site_id}/import`                      | `atelier201 site push --guest`      | Teil des HTTP-Ablaufs vor der Kontoerstellung (siehe prepareGuestSite).                                                                                                                                                   | Öffentlich                               |
| `buildGuestSite`         | `POST /v1/guest/sites/{site_id}/builds`                      | `atelier201 site push --guest`      | Teil des HTTP-Ablaufs vor der Kontoerstellung (siehe prepareGuestSite).                                                                                                                                                   | Öffentlich                               |
| `getGuestSite`           | `GET /v1/guest/sites/{site_id}`                              | `atelier201 site push --guest`      | Teil des HTTP-Ablaufs vor der Kontoerstellung (siehe prepareGuestSite).                                                                                                                                                   | Öffentlich                               |
