Files and public links
Team and personal drive, upload/download and share links.
| Método | Path | Resumo | Access |
|---|---|---|---|
| GET | /files/invoices/{filename} | Streams a locally-stored PDF. | Team member |
| DELETE | /me/avatar | Remove o avatar atual do caller: apaga o objeto no storage (best-effort) e limpa users.avatar_url. | Signed in |
| POST | /me/avatar/commit | Finaliza o upload: HEAD verify + UPDATE users.avatar_url + cleanup best-effort do avatar anterior. | Signed in |
| GET | /me/avatar/serve/{userID}/{filename} | Entrega o avatar público de qualquer user (rota sem auth). | Public |
| PUT | /me/avatar/upload-binary | — caminho fallback pra providers sem presign (local/bunny). | Signed in |
| POST | /me/avatar/upload-init | Inicia o fluxo de upload gerando a upload URL adequada ao backend (presigned PUT em S3/R2 ou rota local-proxy /me/avatar/upload-binary). | Signed in |
| GET | /me/files | Listar files pessoais | Signed in |
| GET | /me/files/{fileID} | Metadata do file pessoal | Signed in |
| DELETE | /me/files/{fileID} | Soft-delete + hard-delete storage | Signed in |
| POST | /me/files/{fileID}/cancel-upload | Cancelar upload pending | Signed in |
| POST | /me/files/{fileID}/complete-upload | Finalizar upload pessoal (HEAD verify + status) | Signed in |
| GET | /me/files/{fileID}/content | Baixar bytes inline (personal) | Signed in |
| GET | /me/files/{fileID}/download-url | URL de download (presigned OU proxy path) | Signed in |
| GET | /me/files/{fileID}/share-links | Listar share-links pessoais | Signed in |
| POST | /me/files/{fileID}/share-links | Criar share-link pessoal (Fase 139) | Signed in |
| DELETE | /me/files/{fileID}/share-links/{shareLinkId} | Revogar share-link pessoal | Signed in |
| POST | /me/files/init-upload | Reservar row + emitir upload URL (personal) | Signed in |
| POST | /me/files/migrate | Migrar files pessoais → workspace (Fase 133b) | Team member |
| GET | /me/files/quota | Quota pessoal (quota/used/available/count) | Signed in |
| PUT | /me/files/upload/{fileID} | Upload proxy pessoal (Local/Bunny) | Signed in |
| GET | /me/folders | Listar folders pessoais | Signed in |
| POST | /me/folders | Criar folder pessoal | Signed in |
| DELETE | /me/folders/{folderID} | Soft-delete folder pessoal (recursivo) | Signed in |
| GET | /share/{token} | Download público legacy (sem senha) | Public (link or signature) |
| GET | /share/{token}/download | Download attachment (requer allow_download=true) | Public (link or signature) |
| GET | /share/{token}/info | Metadata V2 (has_password, allow_download, expires_at) | Public (link or signature) |
| GET | /share/{token}/metadata | Metadata legacy pro card do share page | Public (link or signature) |
| GET | /share/{token}/preview | Preview inline (Content-Disposition inline) | Public (link or signature) |
| POST | /share/{token}/verify | Trocar password por session_token (TTL 1h) | Public (link or signature) |
| GET | /teams/{teamId}/drive/files | Listagem unificada (todos contextos) | Signed in |
| GET | /teams/{teamId}/drive/files/{fileId}/context | Link de navegação pro entity-pai | Signed in |
| GET | /teams/{teamId}/drive/summary | Agregado (count+bytes) por contexto | Signed in |
| GET | /teams/{teamId}/files | Listar files | Signed in |
| DELETE | /teams/{teamId}/files/{fileId} | Soft-delete file + hard-delete storage | Signed in |
| PATCH | /teams/{teamId}/files/{fileId} | Renomear e/ou mover file | Signed in |
| GET | /teams/{teamId}/files/{fileId}/content | Baixar/streamar bytes (inline) | Signed in |
| DELETE | /teams/{teamId}/files/{fileId}/purge | Excluir definitivamente (purgar da lixeira) | Signed in |
| POST | /teams/{teamId}/files/{fileId}/replace/complete | Promover a nova versão (passo 3/3) | Signed in |
| POST | /teams/{teamId}/files/{fileId}/replace/init | Reservar nova versão de um arquivo existente (passo 1/3) | Signed in |
| PUT | /teams/{teamId}/files/{fileId}/replace/upload/{versionId} | Enviar os bytes da nova versão (passo 2/3, proxy) | Signed in |
| POST | /teams/{teamId}/files/{fileId}/restore | Restaurar file da lixeira | Signed in |
| GET | /teams/{teamId}/files/{fileId}/share-links | Listar share-links V2 do file | Signed in |
| POST | /teams/{teamId}/files/{fileId}/share-links | Criar share-link V2 (Fase 139) | Signed in |
| DELETE | /teams/{teamId}/files/{fileId}/share-links/{shareLinkId} | Revogar share-link V2 | Signed in |
| GET | /teams/{teamId}/files/{fileId}/thumb | Baixar thumbnail (image/jpeg) | Signed in |
| GET | /teams/{teamId}/files/{fileId}/versions | Histórico de versões do arquivo | Signed in |
| GET | /teams/{teamId}/files/{fileId}/versions/{v1}/diff/{v2} | Diff entre duas versões do arquivo | Signed in |
| POST | /teams/{teamId}/files/complete-upload | Finalizar upload (HEAD verify + status) | Signed in |
| GET | /teams/{teamId}/files/folders | Listar folders do team | Signed in |
| POST | /teams/{teamId}/files/folders | Criar folder | Signed in |
| GET | /teams/{teamId}/files/folders/{id} | Metadata do folder + breadcrumb (`path`) | Signed in |
| DELETE | /teams/{teamId}/files/folders/{id} | Soft-delete recursivo (folder + descendentes) | Signed in |
| PATCH | /teams/{teamId}/files/folders/{id} | Renomear e/ou mover folder | Signed in |
| POST | /teams/{teamId}/files/folders/{id}/restore | Restaurar pasta da lixeira | Signed in |
| POST | /teams/{teamId}/files/from-url | Importar imagem de uma URL externa (server-side) | Signed in |
| POST | /teams/{teamId}/files/init-upload | Reservar row + emitir upload URL | Signed in |
| GET | /teams/{teamId}/files/share-links | Listar share-links (legacy) do team | Signed in |
| POST | /teams/{teamId}/files/share-links | Criar share-link (legacy, sem password) | Signed in |
| DELETE | /teams/{teamId}/files/share-links/{shareLinkId} | Revogar share-link (legacy) | Signed in |
| GET | /teams/{teamId}/files/storage/quota | Quota da team (used/total/count/plan) | Signed in |
| GET | /teams/{teamId}/files/trash | Files + folders soft-deletados | Signed in |
| PUT | /teams/{teamId}/files/upload/{fileId} | Upload proxy (Local/Bunny) — bytes vão via API | Signed in |
| GET | /v1/files/invoices/{filename} | Streams a locally-stored PDF. | Team member |
| GET | /v1/public/shares/{token} | Carrega o board publicado, resolve NOMES dos membros atribuídos (se o share expõe assignees) e responde o shape mínimo. | Public (link or signature) |