Skip to main content
The Formcarry API lets you manage forms, submissions, email notifications, and account resources programmatically. All requests are JSON over HTTPS and authenticated with a Bearer token.

Base URL

Every endpoint is versioned under the /v1 prefix, for example GET https://api.formcarry.com/v1/forms.

Authentication

Formcarry uses Bearer token authentication. Pass your API key in the Authorization header on every request:
See Authentication for details on generating keys, scopes, and verifying credentials.

Common resources

Forms

Create, list, update, and delete forms in your workspace.

Submissions

Read, filter, and manage submissions on a form.

Email notifications

Manage self-email recipients and connected email servers.

Webhooks

Subscribe HTTPS endpoints to receive every submission as a signed JSON POST.

Account

Inspect the authenticated key with GET /v1/me.

Pagination

List endpoints (such as GET /v1/forms and GET /v1/forms/{form_id}/submissions) use cursor pagination. Pass limit and cursor as query parameters; responses include a next_cursor field when more results are available.
To fetch the next page, send the returned next_cursor back as the cursor parameter.

Errors

The API returns a unified error envelope with a machine-readable code and a human-readable message. Every error response carries request_id, and every response carries an X-Request-Id header, which Formcarry support can use to trace the call.
Common error codes:

Rate limits

Formcarry enforces per-key rate limits. When you exceed a limit, requests return HTTP 429 with code: "rate_limited". Respect the Retry-After response header before retrying.

Reference

Every endpoint, request schema, and response schema is documented in the Endpoints section, generated directly from the live OpenAPI specification at https://api.formcarry.com/docs-json.