CRM Oficina Martech
ReferênciaFormulários

Listar formulários

GET /forms — lista os formulários da organização com contadores e as perguntas de cada um.

GET/formsBeta

Escopo necessário: contacts:read ou analytics:read (basta um dos dois)

Lista os formulários da organização (resolvida pela API key), do mais recente para o mais antigo (created_at decrescente). Cada linha traz as visualizações, o total de respostas e as perguntas. O conteúdo das respostas fica em GET /forms/{id}/responses.

Endpoint

GET https://crm.oficinamartech.com/api/v1/forms

Parâmetros de query

ParâmetroTipoDescrição
statusdraft | published | closed | archivedFiltra por situação.
limitint (1-100)Tamanho da página. Default: 50.
offsetint (0-10000)Deslocamento da página. Default: 0.

Um parâmetro fora desta lista é recusado com 400.

A paginação informa has_more e next_offset, sem total. offset vai até 10.000; além disso next_offset vem null mesmo com has_more true. A resposta usa Cache-Control: private, no-store.

Exemplo

curl -s "https://crm.oficinamartech.com/api/v1/forms?status=published&limit=1" \
  -H "Authorization: Bearer crm_live_SEU_PREFIXO_SEU_SEGREDO"

Resposta 200

{
  "data": [
    {
      "id": "f0f0f0f0-58cc-4372-a567-0e02b2c3d479",
      "name": "Contato comercial",
      "slug": "contato-comercial",
      "status": "published",
      "views_count": 1840,
      "responses_count": 212,
      "questions": [
        { "key": "nome", "title": "Qual é o seu nome?", "type": "short_text" },
        { "key": "interesse", "title": "O que você procura?", "type": "single_choice" }
      ],
      "published_at": "2026-10-20T12:00:00.000Z",
      "closed_at": null,
      "created_at": "2026-10-18T13:00:00.000Z",
      "updated_at": "2026-11-12T18:20:11.000Z"
    }
  ],
  "pagination": {
    "limit": 1,
    "offset": 0,
    "has_more": true,
    "next_offset": 1
  }
}

questions[].key é a chave de answers em GET /forms/{id}/responses. published_at e closed_at são null enquanto o formulário não foi publicado ou encerrado.

Erros

StatusCódigoQuando
400invalid_queryQuery inválida (parâmetro desconhecido, situação desconhecida, limit ou offset fora da faixa).
401missing_api_key / invalid_api_keyAPI key ausente, inválida, expirada ou revogada.
403missing_scopeA chave não tem contacts:read nem analytics:read.
429rate_limitedAcima de 120 req/min por chave ou por organização.
500—Erro interno.

On this page