Forms
Form builder and responses, including the public surface.
| Método | Path | Resumo | Access |
|---|---|---|---|
| GET | /public/forms/{slug} | Retorna schema JSON de um form publicado | Public |
| GET | /public/forms/{slug}/embed.js | Snippet JS que injeta iframe do render | Public |
| POST | /public/forms/{slug}/pre-submit | Auto-save draft (Fase 184a) | Public |
| GET | /public/forms/{slug}/render | HTML standalone do form | Public |
| HEAD | /public/forms/{slug}/render | Probe de existência do form publicado (sem corpo) | Public |
| POST | /public/forms/{slug}/submit | Submit final do form (Fase 184a-async) | Public |
| GET | /teams/{teamId}/forms/ | Lista forms do team | Team member |
| POST | /teams/{teamId}/forms/ | Cria form novo (status=draft) | Team member |
| GET | /teams/{teamId}/forms/{formId} | Detalhe do form | Team member |
| DELETE | /teams/{teamId}/forms/{formId} | Soft-delete (preserva submissions) | Team member |
| PATCH | /teams/{teamId}/forms/{formId} | Update parcial (COALESCE) | Team member |
| POST | /teams/{teamId}/forms/{formId}/duplicate | Duplica form (name "<orig> (copy)", status=draft) | Team member |
| GET | /teams/{teamId}/forms/{formId}/submissions | Lista submissions do form (keyset) | Team member |
| GET | /teams/{teamId}/forms/{formId}/submissions.csv | Export CSV das submissions (hard cap 5000) | Team member |
| GET | /teams/{teamId}/forms/{formId}/submissions/{submissionId} | Detalhe da submission (body cru + UTM/IP/UA) | Team member |
| DELETE | /teams/{teamId}/forms/{formId}/submissions/{submissionId} | Hard-delete (GDPR purge, decrementa count em tx) | Team member |
| POST | /teams/{teamId}/forms/from-template/{templateId} | Cria form a partir de template do catálogo | Team member |
| GET | /teams/{teamId}/submissions | Lista TODAS as submissions do workspace (cross-form) | Team member |
| GET | /v1/templates/ | Lista templates (público, sem auth) | Public |
| GET | /v1/templates/{id} | Detalhe de template (público, sem auth) | Public |