List Forms

List Forms

List the drafts and published forms belonging to the active church.

List Forms

GET /v1/forms?limit=50
Authorization: Bearer <five-minute Forms product token>

The response is cursor based and tenant isolated:

{
  "data": [
    {
      "id": "form_…",
      "name": "Event registration",
      "slug": "event-registration",
      "status": "PUBLISHED",
      "currentVersion": 3,
      "publicPath": "/f/event-registration"
    }
  ],
  "nextCursor": null
}

Every query is constrained by the workspace embedded in the product token. Supplying another church identifier in a query string cannot widen the result.

  • GET /v1/forms/:id returns one form.
  • PATCH /v1/forms/:id saves its draft.
  • POST /v1/forms/:id/publish freezes and publishes a new version.
  • GET /v1/forms/:id/submissions returns cursor-paginated responses.
  • GET /v1/forms/:id/submissions/export.csv creates an audited CSV export.

The public submission endpoint is deliberately separate and does not accept a product token.