Skip to main content

Endpoint

GET /api/forms/{form_id}/submissions
Requires authentication with an API key that has read access.

Query Parameters

ParameterTypeDefaultDescription
limitnumber50Max results (1-100)
offsetnumber0Skip N results
sinceISO date-Filter after date
orderstringdescSort order (asc/desc)
filterstringallall, unread, starred, spam

Examples

Get Latest Submissions

curl https://spike.ac/api/forms/FORM_ID/submissions?limit=10 \
  -H "Authorization: Bearer YOUR_API_KEY"

Paginate Results

# Page 1
curl "https://spike.ac/api/forms/FORM_ID/submissions?limit=50&offset=0" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Page 2
curl "https://spike.ac/api/forms/FORM_ID/submissions?limit=50&offset=50" \
  -H "Authorization: Bearer YOUR_API_KEY"

Filter by Date

curl "https://spike.ac/api/forms/FORM_ID/submissions?since=2024-01-01T00:00:00Z" \
  -H "Authorization: Bearer YOUR_API_KEY"

Get Unread Only

curl "https://spike.ac/api/forms/FORM_ID/submissions?filter=unread" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "submissions": [
    {
      "id": "sub_abc123",
      "data": {
        "email": "[email protected]",
        "message": "Hello!"
      },
      "createdAt": "2024-01-15T10:30:00Z",
      "isRead": false,
      "isStarred": false,
      "isSpam": false
    }
  ],
  "fields": ["email", "message"],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "total": 150,
    "hasMore": true
  }
}

Response Fields

FieldDescription
submissionsArray of submission objects
fieldsUnique field names across submissions
pagination.totalTotal submission count
pagination.hasMoreMore results available