Form submission operations

3 operations named submission.*. Every one runs in a batch through apply_ops, dry_run_ops, the CLI or the admin.

Updated
OperationWhat it doesPermissionConfirmation
submission.listList the submissions of a form, newest first, optionally only those with a status, a page at a time.content.editnone
submission.setStatusMark submissions of a form new, read or archived.content.editnone
submission.deleteDelete submissions of a form.content.editdestructive

submission.list

List the submissions of a form, newest first, optionally only those with a status, a page at a time. Forms are not versioned: a saved definition takes effect at once.

permission: content.editreads onlyclass: read

Example input

{
  "formId": "d4e5f6a7-b8c9-4d0e-9f1a-3b4c5d6e7f8a",
  "status": "new",
  "limit": 20
}

Input

FieldTypeRequiredNotes
formIdstring (uuid)yes
statusstringnoOne of "new", "read", "archived".
offsetintegernoAt least 0. Default 0.
limitintegernoAt least 1. At most 200. Default 50.

Output

FieldTypeRequiredNotes
formIdstring (uuid)yes
submissionsarray of objectyes
submissions[].idstring (uuid)yes
submissions[].formIdstring (uuid)yes
submissions[].valuesrecord of string | booleanyes
submissions[].statusstringyesOne of "new", "read", "archived".
submissions[].consentobject | nullyes
submissions[].createdAtstring (date-time)yes
submissions[].readAtstring (date-time) | nullyes
totalintegeryesAt least 0.

Try it

yarn splash submission.list '{"formId":"d4e5f6a7-b8c9-4d0e-9f1a-3b4c5d6e7f8a","status":"new","limit":20}' --dry-run

submission.setStatus

Mark submissions of a form new, read or archived. Forms are not versioned: a saved definition takes effect at once.

permission: content.editwrites: submissions:{formId}class: transactionundo: yes

Example input

{
  "formId": "d4e5f6a7-b8c9-4d0e-9f1a-3b4c5d6e7f8a",
  "submissionIds": [
    "e5f6a7b8-c9d0-4e1f-8a2b-4c5d6e7f8a9b",
    "f6a7b8c9-d0e1-4f2a-9b3c-5d6e7f8a9b0c"
  ],
  "status": "archived"
}

Input

FieldTypeRequiredNotes
formIdstring (uuid)yes
submissionIdsarray of string (uuid)yesAt least 1 item. At most 200 items.
statusstringyesOne of "new", "read", "archived".

Output

FieldTypeRequiredNotes
formIdstring (uuid)yes
updatedintegeryesAt least 0.

Try it

yarn splash submission.setStatus '{"formId":"d4e5f6a7-b8c9-4d0e-9f1a-3b4c5d6e7f8a","submissionIds":["e5f6a7b8-c9d0-4e1f-8a2b-4c5d6e7f8a9b","f6a7b8c9-d0e1-4f2a-9b3c-5d6e7f8a9b0c"],"status":"archived"}' --dry-run

submission.delete

Delete submissions of a form. Run it with confirmed: ["destructive"]. Forms are not versioned: a saved definition takes effect at once.

permission: content.editwrites: submissions:{formId}class: transactionconfirm: destructiveundo: yes

Example input

{
  "formId": "d4e5f6a7-b8c9-4d0e-9f1a-3b4c5d6e7f8a",
  "submissionIds": [
    "e5f6a7b8-c9d0-4e1f-8a2b-4c5d6e7f8a9b"
  ]
}

Input

FieldTypeRequiredNotes
formIdstring (uuid)yes
submissionIdsarray of string (uuid)yesAt least 1 item. At most 200 items.

Output

FieldTypeRequiredNotes
successtrueyes

Needs confirmed: ["destructive"] on the batch, which the single-operation CLI form does not set: put it in a batch file and run yarn splash apply <file> --dry-run.

Generated from the operation registry and the MCP tool catalogue (source 05cca63da796fdfb).

Something wrong on this page? Write to docs@librettocms.com.

Libretto docs

Colophon. These docs are a Libretto site: 68 pages in two languages, 20 guide pages imported from Markdown and 41 reference pages generated from the operation registry. Set in Softcore, with code in IBM Plex Mono. Its outline:

/ Libretto docs /start Get started /start/request-access Request access /start/workspace Your workspace /start/first-site Your first site /start/invite-a-client Invite a client /start/connect-claude Connect Claude to Libretto /build Build /build/first-page Build a page /build/layers-and-canvas Layers and canvas /build/site-components Site components /design-system Design system /design-system/tokens Colours, space and themes /design-system/components Components and variants /design-system/fonts Typography and fonts /motion Motion /motion/scenes Scenes and recipes /motion/image-sequences Image sequences /motion/reduced-motion Reduced motion /publish Publish /publish/languages Site languages /publish/versions Publish and versions /publish/members-and-forms Members and forms /publish/domains Domains /handover Hand a site to a client /glossary Glossary /agents Agents and API /agents/mcp MCP server /agents/cli CLI /agents/batches Batches /agents/errors Errors and findings /agents/operations Operations /search Search