---
title: "Cobertura das operações"
description: "Cobertura gerada para REST, CLI e MCP, permissões necessárias e exceções explícitas específicas de cada interface."
canonical: "https://atelier201.com/docs/pt/api/surfaces"
updated: "2026-11-06"
---

# Cobertura das operações

Esta referência é gerada a partir do registro de rotas e dos mapeamentos de suas interfaces.
Ela descreve a versão da API documentada aqui, não as permissões da sua credencial.
Chame `get_account`, `atelier201 account` ou `GET /v1/account` para verificá-las.

## Descubra o contrato

- REST: consulte [OpenAPI](/docs/openapi.json). Cada operação inclui `x-atelier201-surfaces`.
- CLI: execute `atelier201 help files read --json` para ver um comando ou `atelier201 help --operation readSiteFile --json` para consultar os esquemas REST exatos correspondentes. Esse é o contrato incluído na CLI instalada.
- MCP: consulte `atelier201://operations` para ver um índice compacto e, em seguida, `atelier201://operations/{operation_id}` para acessar o contrato completo de uma operação. O documento completo está em `atelier201://openapi`. Clientes sem suporte a recursos podem usar os esquemas das ferramentas ou a OpenAPI pública.
- Code Mode: `search` retorna as mesmas operações e os mapeamentos de interface; uma pesquisa com filtros inclui os esquemas completos.

Todas as interfaces usam as mesmas permissões do serviço. A inclusão de um comando ou ferramenta na lista não concede acesso.
Os comandos do sistema de arquivos local, os envios anônimos de visitantes e os cartões interativos do MCP são diferentes por definição.
A tabela registra as exceções, em vez de sugerir que cada interface aceita o mesmo transporte ou formato de saída.

## Recursos

| Operação                 | REST                                                         | CLI                                 | MCP                                                                                                                                                                                                                       | Permissão               |
| ------------------------ | ------------------------------------------------------------ | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
| `getAccount`             | `GET /v1/account`                                            | `atelier201 account`                | `get_account`                                                                                                                                                                                                             | `account:read`          |
| `submitFeedback`         | `POST /v1/feedback`                                          | `atelier201 feedback send`          | `send_feedback`                                                                                                                                                                                                           | Autenticado, sem escopo |
| `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` Requer `confirm_name`: os agentes precisam digitar o nome ou slug do site para confirmar antes da exclusão. O REST também permite chamadas diretas de administradores sem esse campo de confirmação.        | `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`              | Um arquivo de projeto é um fluxo binário de até 50 MB; um modelo não consegue produzi-lo por meio de uma chamada de ferramenta. Os agentes alteram arquivos com edit\_files ou um changeset; a CLI envia pastas inteiras. | `sites:write`           |
| `exportSiteArchive`      | `GET /v1/sites/{site_id}/export`                             | `atelier201 site pull`              | Retorna um arquivo tar binário, que não pode ser transmitido de forma útil pelo resultado de uma ferramenta. Os agentes leem arquivos com read\_file; a CLI baixa o projeto inteiro.                                      | `sites:read`            |
| `listSkills`             | `GET /v1/skills`                                             | `atelier201 skills list`            | `list_skills`                                                                                                                                                                                                             | Público                 |
| `getSkill`               | `GET /v1/skills/{skill_id}`                                  | `atelier201 skills get`             | `get_skill`                                                                                                                                                                                                               | Público                 |
| `prepareGuestSite`       | `POST /v1/guest/sites`                                       | `atelier201 site push --guest`      | Antes de entrar, não há OAuth, e o MCP remoto precisa dele antes da execução de qualquer ferramenta. Os agentes usam este endpoint HTTP (ou a CLI) e entregam à pessoa o link para reivindicar o site.                    | Público                 |
| `importGuestSite`        | `POST /v1/guest/sites/{site_id}/import`                      | `atelier201 site push --guest`      | Parte do fluxo HTTP anterior à criação da conta (consulte prepareGuestSite).                                                                                                                                              | Público                 |
| `buildGuestSite`         | `POST /v1/guest/sites/{site_id}/builds`                      | `atelier201 site push --guest`      | Parte do fluxo HTTP anterior à criação da conta (consulte prepareGuestSite).                                                                                                                                              | Público                 |
| `getGuestSite`           | `GET /v1/guest/sites/{site_id}`                              | `atelier201 site push --guest`      | Parte do fluxo HTTP anterior à criação da conta (consulte prepareGuestSite).                                                                                                                                              | Público                 |
