Forms

List form submissions, newest first

Returns submissions newest first, a page at a time. Pass form to scope to one form; omit it to list every form together. Narrow the list with fromMs and toMs (a time range) or q (email or any field value, case-insensitive).

Each item carries the full fields, so treat the response as personal data. To page, send nextCursor back as cursor until it comes back null. Submissions hold visitors' personal data, so this needs at least the editor role on the site. A viewer gets 403 forbidden_role.

get/api/v1/sites/{slug}/form-submissions

Request

  • Base URL: https://api.dotsy.ai
  • URL: https://api.dotsy.ai/api/v1/sites/{slug}/form-submissions
  • Auth: one of:
    • HTTP bearer
    • HTTP bearer

Path parameters

slugstring required
Example:acme-studio

Site slug or site id (UUID). An old slug answers 301/308 and a site id 307 to the canonical slug path.

Query parameters

formstring

Form id, as wired on the page, for example contact. Omit to list every form's submissions newest first.

limitinteger

Page size. Defaults to 50, so a request without limit returns the first 50 submissions and a nextCursor. A value over the site's own limit (100 or 200) is lowered to it.

cursorstring

Opaque cursor from the previous page's nextCursor. Send it with limit to get the next page.

fromMsinteger

Only submissions made at or after this time, Unix ms.

toMsinteger

Only submissions made at or before this time, Unix ms.

qstring

Search text, case-insensitive. Matches the reply-to email and any field value (substring). On graduated sites the SQL list path applies when q is omitted; with q set, search scans up to 5,000 rows.

Response

One page of submissions.

nextCursorstring nullable required

Pass as cursor (with the same limit) for the next page; null on the last page.

formIdstring

The form that was listed. Omitted when form was not passed (all forms, newest first).

Example response

{
  "items": [
    {
      "id": "5b1c0f6e-3c1a-4a52-9f4e-0d7a2d9b8e31",
      "formId": "contact",
      "pagePath": "/contact",
      "fields": {
        "name": "Ada Lovelace",
        "email": "ada@example.com",
        "message": "Do you take custom orders?"
      },
      "replyTo": "ada@example.com",
      "createdAt": 1790000000000
    }
  ],
  "formId": "contact"
}

Changes

No recorded changes to this operation across all 1 revision of this API.