GoliathDevelopersGet an API key
Reference/Formsgenerated from the gateway manifest

listFormSubmissions

List form submissions (leads), newest first, optionally filtered to one form via formId.

POST/api/v1/callREADreadruns as the key's owner
View as Markdown

List form submissions (leads), newest first, optionally filtered to one form via formId. Each row carries the submitted field values (submittedData) and the contactId of the CRM contact it created or matched - use that contactId with getContact, updateContact, or addContactNote. Returns a capped page plus the unpaged totalCount.

curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "operationId": "listFormSubmissions",
    "variables": {}
  }'
import { GoliathClient } from '@goliath-data/sdk'

const goliath = new GoliathClient({
  apiKey: process.env.GOLIATH_API_KEY!,
  baseUrl: 'https://server.goliathdata.com',
})

const result = await goliath.forms.listFormSubmissions({})
const res = await fetch('https://server.goliathdata.com/api/v1/call', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.GOLIATH_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    operationId: 'listFormSubmissions',
    variables: {}
  }),
})
const { data, errors } = await res.json()

limit is clamped to 100.

Variables

The example sends only what the schema requires. Some operations also need one of several optional variables (one filter or another, say); the description above says which.

formIdID
limitInt

Default 25.

offsetInt

Default 0.

Response

What comes back under data: a list shows as one entry, and a value as its type.

response shape
{
  "data": {
    "embedFormQuery": {
      "listAllSubmissions": {
        "submissions": [
          {
            "id": "<ID>",
            "embedFormId": "<ID>",
            "contactId": "<ID>",
            "submittedData": "…",
            "createdAt": "2026-01-01T00:00:00.000Z"
          }
        ],
        "totalCount": 0
      }
    }
  }
}

Errors

Behaviour

A read. It rejects an Idempotency-Key header with 400 bad_request.