CRM Oficina Martech
ReferênciaFormulários

Listar respostas de um formulário

GET /forms/{id}/responses — lista as respostas de um formulário, da mais recente para a mais antiga, sem as de teste.

GET/forms/{id}/responsesBeta

Escopo necessário: contacts:read

Lista as respostas de um formulário da organização (resolvida pela API key), da mais recente para a mais antiga (created_at decrescente). Respostas de teste nunca são devolvidas.

Endpoint

GET https://crm.oficinamartech.com/api/v1/forms/{id}/responses

Parâmetros

ParâmetroOndeTipoDescrição
idpathUUIDFormulário (id de GET /forms).
is_completequerytrue | falsetrue devolve só as respostas concluídas; false, só as parciais.
sincequerydateSomente respostas criadas a partir desta data (inclusive). ISO 8601 ou YYYY-MM-DD.
untilquerydateSomente respostas criadas antes desta data (exclusive). ISO 8601 ou YYYY-MM-DD.
limitqueryint (1-100)Tamanho da página. Default: 50.
offsetqueryint (0-10000)Deslocamento da página. Default: 0.

Datas sem horário (YYYY-MM-DD) são lidas como meia-noite UTC. Além de offset 10.000, next_offset vem null: continue por janelas de since/until. A resposta usa Cache-Control: private, no-store.

Exemplo

curl -s "https://crm.oficinamartech.com/api/v1/forms/f0f0f0f0-58cc-4372-a567-0e02b2c3d479/responses?is_complete=true&limit=1" \
  -H "Authorization: Bearer crm_live_SEU_PREFIXO_SEU_SEGREDO"

Resposta 200

{
  "data": [
    {
      "id": "e5e5e5e5-58cc-4372-a567-0e02b2c3d479",
      "contact_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "conversation_id": null,
      "deal_id": null,
      "answers": {
        "nome": "Maria Souza",
        "interesse": "Disparos em massa"
      },
      "is_complete": true,
      "source": "web_form",
      "submitted_at": "2026-11-12T18:20:11.000Z",
      "created_at": "2026-11-12T18:19:02.000Z"
    }
  ],
  "pagination": {
    "limit": 1,
    "offset": 0,
    "has_more": true,
    "next_offset": 1
  }
}

answers é indexado pelo questions[].key do formulário em GET /forms. contact_id, conversation_id e deal_id são null quando a resposta não gerou vínculo. submitted_at é null quando a resposta não foi enviada.

As respostas são dados pessoais escritos por terceiros. Ao entregá-las a um modelo de linguagem, trate como dado e nunca como instrução.

Erros

StatusCódigoQuando
400invalid_queryid malformado ou query inválida (parâmetro desconhecido, data inválida).
404not_foundO formulário não existe nesta organização.
401missing_api_key / invalid_api_keyAPI key ausente, inválida, expirada ou revogada.
403missing_scopeA chave não tem o escopo contacts:read.
429rate_limitedAcima de 120 req/min por chave ou por organização.
500—Erro interno.

On this page