For the complete documentation index, see llms.txt. This page is also available as Markdown.

Submissions

Completed forms are delivered to you, not fetched by you.

When someone completes one of your forms, the submission is delivered to your webhook endpoint as a form-submission event. That event carries everything: the contact details, every answer, links to any uploaded files, and the filled ACORD forms where the form maps onto them.

⚠️ The Forms API doesn't return submissions. There is no route under /api/v1/forms to list them or fetch one by id — the webhook delivery is how a submission reaches your systems.

That shapes how you should build against it:

Treat your handler as the front door. It's where a submission enters your system, not a notification that something is waiting to be collected. Write it down when it arrives.

Download files when they land. The url on a file_upload answer, and acord.archive_url, are unsigned links to a public bucket — they don't expire, but anyone holding one can download the file without authenticating, and a url becomes null once the document is no longer available. Fetch the file, store it where you control access, and don't pass the link around.

Make it safe to run twice. Delivery is at-least-once, so the same event can arrive again. data.submission_id is the key to de-duplicate on.

Every submission also appears in your InsurGrid dashboard, where you can read the answers and download files by hand — useful for support lookups, but not a substitute for storing what you need at delivery.

The payload, the authentication options and a working handler are all in Quickstart B.