---
title: "List submissions"
description: "Every sign-up the form stored, newest first, with each answer as it was sent."
url: "https://openemail.uk/docs/api/forms/submissions"
area: "API"
category: "Mailbox"
---

# List submissions

Every sign-up the form stored, newest first, with each answer as it was sent.

`GET /forms/{id}/submissions`

## GET /forms/{id}/submissions

Every sign-up the form stored, newest first, with each answer as it was sent.

## Example

Needs `forms:read`. `limit` goes up to 100 and defaults to 25, `cursor` takes the previous page's `nextCursor`, `q` searches email addresses, and `status` is `pending` or `added`.

**curl**

```
curl "$OE/forms/frm_3b9d2e7a1c4f80d56e2a9b14/submissions?q=example.com" -H "$AUTH"
```

**Response**

```
{
  "object": "list",
  "data": [{
      "object": "form_submission",
      "id": "fsb_8e2c4a6b1d3f57e09a2c4e6b",
      "formId": "frm_3b9d2e7a1c4f80d56e2a9b14",
      "email": "ann@example.com",
      "status": "added",
      "expired": false,
      "answers": [
        {
          "fieldId": "fld_k2m8q4w9z1x7",
          "key": "email",
          "label": "Email",
          "type": "email",
          "value": "ann@example.com",
          "display": "ann@example.com"
        },
        {
          "fieldId": "fld_p7r3t5v2y8n4",
          "key": "first_name",
          "label": "First name",
          "type": "text",
          "value": "Ann",
          "display": "Ann"
        }
      ],
      "audienceIds": ["aud_4c1b8e2a7d9f05c36b4e8a71"],
      "sourceUrl": "https://acme.com/blog",
      "confirmedAt": "2026-09-30T16:44:02.000Z",
      "createdAt": "2026-09-30T16:42:11.000Z"
    }],
  "hasMore": false,
  "nextCursor": null,
  "formId": "frm_3b9d2e7a1c4f80d56e2a9b14"
}
```

> `expired` marks a pending sign-up whose confirmation link has run out. Approve it, or send a fresh link.

> A sign-up that looked automated is never stored, so it is not listed.
