Skip to content
FormclickDocs
API ReferenceEndpoints

REST API (forms & submissions)

Read and manage forms, submissions and webhooks with an OAuth access token. Powers the Formclick app on Make.

The REST API gives OAuth apps account-level access: list and manage forms, search submissions and subscribe to new submissions. It is the API behind the Formclick app on Make.

Base URL

Text
https://app.formclick.io/api/v1

Authentication

Send an OAuth 2.1 access token as Authorization: Bearer <token>. Tokens come from Formclick’s authorization server (authorization code + PKCE, discovery at /.well-known/oauth-authorization-server), the same one the MCP server uses. Access tokens last 1 hour; refresh tokens rotate on every use.

ScopeAllows
forms:readList forms and read their settings
forms:writeCreate forms and change their settings
submissions:readList, search and read submissions
webhooks:writeSubscribe and unsubscribe webhooks
usage:readRead plan usage

Endpoints

Method & pathScopeDescription
GET /me—The account behind the token
GET /formsforms:readList your HTML Forms
POST /formsforms:writeCreate a form: name, description, notification_emails, redirect_url
GET /forms/:idforms:readForm settings, endpoint, access key and webhooks
PATCH /forms/:idforms:writeChange name, notification_emails, redirect_url (empty removes it), success_message, is_active
GET /forms/:id/submissionssubmissions:readNewest first. Query: page, limit (max 50), search, from, to, filter (all, unread, read, starred, spam, archived)
GET /forms/:id/submissions/:submissionIdsubmissions:readOne submission
POST /forms/:id/hookswebhooks:writeSubscribe an https:// url to new submissions
DELETE /forms/:id/hooks/:hookIdwebhooks:writeUnsubscribe (idempotent)
GET /usageusage:readPlan, usage this period and form count

Example

Terminal
curl https://app.formclick.io/api/v1/forms/FORM_ID/submissions?limit=10 \
  -H "Authorization: Bearer $FORMCLICK_TOKEN"
JSON
{
  "total": 42, "page": 1, "limit": 10, "has_more": true,
  "submissions": [{
    "submission_id": "7f6c2b8e-…",
    "submitted_at": "2026-11-09T10:24:31.000Z",
    "from_name": "Jane Smith",
    "from_email": "jane@example.com",
    "is_spam": false,
    "fields": { "name": "Jane Smith", "message": "Hi!" }
  }]
}

Field values that look like passwords, tokens or card numbers are returned as [redacted]. Webhooks you subscribe receive the webhook event payload.

Errors & limits

Errors are JSON { "error": "<code>", "message": "…" } with 401 (missing or invalid token), 403 (missing scope or no access), 404, 400 (invalid input) or 429 (rate limited, with Retry-After). Limits: 60 requests and 20 writes per minute for each user and app.

Still need help? Contact support or email support@formclick.io.