Proposta futura, não implementada na API REST L1. Entidades e funcionalidades da app descritas abaixo não implicam endpoints /v1 disponíveis.
Ficheiros
Existe: Cloud Storage organizations/{orgId}/{area}/… (storage.rules), metadados em storageObjects (trigger storageFinalized: quota, miniaturas WebP em _thumbnails), diretório do projeto em projectExtras.directory. Limite 10 MiB; MIME application/pdf, image/png|jpeg|webp, text/plain (área catalog-imports aceita também csv/xlsx/zip). Áreas _thumbnails e exports só são escritas pelo servidor.
| Método | Caminho | Scope |
|---|---|---|
| POST | /files | files:write (multipart: file, area, projectId?, parentId?) |
| POST | /files/upload-url | files:write (URL assinado PUT, 10 min) |
| GET | /files?projectId=&area= | files:read |
| GET | /files/{id} | files:read (metadados) |
| GET | /files/{id}/content | files:read (stream ou 302 URL assinado 5 min) |
| DELETE | /files/{id} | files:write |
Resposta:
{ "id": "f_3c0a…", "name": "planta-cozinha.pdf", "area": "projects", "projectId": "prj_bl001", "mimeType": "application/pdf", "size": 482113, "state": "ready", "thumbnailHref": "/v1/files/f_3c0a…/thumbnail", "createdAt": "2026-11-03T11:00:00Z" }
Erros: 413 payload_too_large, 415 unsupported_media_type, 507 quota_exceeded (quota da organização).