Axuz Developers

GET /teams/{teamId}/forms/{formId}

Detalhe do form

  • Access: Team member
  • Service: https://api-forms.axuz.net

Accepted authentication

  • sessionCookie — Sessão plena Axuz (cookie de sessão da casa). Sessão restrita é 403 enrollment_required.
  • bearerSession — JWT de acesso da sessão em `Authorization: Bearer`.

— GET /teams/{teamId}/forms/{formId}. Detalhe do form.

Motivo: tela de edição precisa do schema completo (fields, settings, triggers). Escopado por team + soft-delete filter.

Comportamento: teamAndUser + parseFormID → repo.GetByID. 404 se não encontrado ou deleted_at setado.

Entradas: path {teamId}, {formId}.

Retorno: 200 Form, 400, 401, 404, 500.

Parameters

NameInTypeRequiredDescription
teamIdpathstringyes
formIdpathstringyes

Responses

200

Form

NameTypeRequiredDescription
idstring<uuid>yes
team_idstring<uuid>yes
slugstringyes
namestringyes
descriptionstring | nullno
schemaFormsFormSchemayes
schema.fieldsarray<FormsField>yes
schema.fields[].idstringyes
schema.fields[].typestringyes

enum: "text", "email", "phone", "textarea", "number", "select", "radio", "checkbox", "date", "url", "file", "hidden"

schema.fields[].labelstringno
schema.fields[].namestringyes
schema.fields[].requiredbooleanno
schema.fields[].placeholderstringno
schema.fields[].help_textstringno
schema.fields[].defaultanyno
schema.fields[].optionsarray<FormsFieldOption>no
schema.fields[].options[].valuestringyes
schema.fields[].options[].labelstringyes
schema.fields[].max_lengthinteger | nullno
schema.fields[].minnumber | nullno
schema.fields[].maxnumber | nullno
schema.fields[].rowsinteger | nullno
schema.fields[].patternstringno
schema.fields[].extraobjectno
schema.stepsarray<FormsStep>no
schema.steps[].idstringyes
schema.steps[].titlestringyes
schema.steps[].field_idsarray<string>yes
schema.settingsFormsSettingsyes
schema.settings.submit_labelstringno
schema.settings.thank_you_messagestringno
schema.settings.redirect_urlstring | nullno
schema.settings.honeypotbooleanno

Se true, adiciona campo axuz_hp e rejeita submits com valor.

schema.settings.double_opt_inbooleanno
schema.settings.triggersarray<FormsTrigger>no
schema.settings.triggers[].idstringyes

client uuid

schema.settings.triggers[].typestringyes

enum: "email", "webhook", "calendar_event", "workspace_task"

schema.settings.triggers[].enabledbooleanyes
schema.settings.triggers[].labelstringno
schema.settings.triggers[].mappingobjectno
schema.settings.triggers[].configobjectno

Shape depende de type: - email: { to: string[] } - webhook: { url: string, secret?: string } - calendar_event/workspace_task: fields específicos do módulo.

schema.settings.notify_emailsarray<string<email>>no

Legacy Fase 178. Promovido em memória pra Triggers no read.

schema.settings.webhook_urlstringno
schema.settings.webhook_secretstringno
layoutstringyes

Layout resolvido via ResolveLayout.

statusstringyes

enum: "draft", "published", "archived"

submit_countintegeryes
created_bystring<uuid> | nullno
created_atstring<date-time>yes
updated_atstring<date-time>yes
deleted_atstring<date-time> | nullno

400

Parâmetro/body inválido

NameTypeRequiredDescription
errorstringyes

401

Sem auth ou JWT inválido

NameTypeRequiredDescription
errorstringyes

403

Sem permissao (nao e owner/admin; token sem escopo; token de integracao em rota nao permitida)

NameTypeRequiredDescription
errorstringyes

404

Recurso não encontrado

NameTypeRequiredDescription
errorstringyes

429

Limite de requisições excedido.

NameTypeRequiredDescription
errorstringyes

500

Erro inesperado

NameTypeRequiredDescription
errorstringyes

Examples

"Try it" is turned off in this reference. Use the examples with your test credential.

curl

curl -sS -X GET 'https://api-forms.axuz.net/teams/TEAM_ID/forms/FORM_ID' \
  -H "Authorization: Bearer $AXUZ_TOKEN"

Node.js

const res = await fetch("https://api-forms.axuz.net/teams/TEAM_ID/forms/FORM_ID", {
  method: 'GET',
  headers: {
    Authorization: `Bearer ${process.env.AXUZ_TOKEN}`,
  },
});
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
console.log(await res.json());

Python

import os
import requests

res = requests.request(
    "GET",
    "https://api-forms.axuz.net/teams/TEAM_ID/forms/FORM_ID",
    headers={
        "Authorization": f"Bearer {os.environ['AXUZ_TOKEN']}",
    },
    timeout=30,
)
res.raise_for_status()
print(res.json())