Managing Forms
A form moves through three statuses. Only an ACTIVE form accepts submissions.
DRAFT ──publish──▶ ACTIVE ──archive──▶ ARCHIVED| Status | Accepts submissions | Answers retrievable |
|---|---|---|
DRAFT | no | no |
ACTIVE | yes | yes |
ARCHIVED | no | yes |
List forms
curl -X GET "https://app.penneo.com/collect/api/v1/forms?limit=10&offset=0" \
-H "Authorization: Bearer YOUR_TOKEN"Returns a paginated list. Query parameters: limit (default 10, max 100), offset (default 0), status (DRAFT, ACTIVE, or ARCHIVED), orderBy, and orderDir (ASC or DESC).
Create a form
curl -X POST https://app.penneo.com/collect/api/v1/forms \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d @your-form.jsonCreates the form in DRAFT. See Forms for the body.
Publish a draft
curl -X POST https://app.penneo.com/collect/api/v1/forms/{externalId}/publish \
-H "Authorization: Bearer YOUR_TOKEN"Moves the form to ACTIVE.
Update a form
curl -X PUT https://app.penneo.com/collect/api/v1/forms/{externalId} \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d @updated-form.jsonUpdating an ACTIVE form creates a new DRAFT version. Add ?publish=true to publish the update immediately.
Archive a form
curl -X POST https://app.penneo.com/collect/api/v1/forms/{externalId}/archive \
-H "Authorization: Bearer YOUR_TOKEN"An archived form no longer accepts submissions, but its existing answers stay retrievable. See Submissions.
Updated 4 days ago
