Public API: keys, endpoints and limits

The REST API reads your forms and responses, deletes responses and manages webhooks. It is free on every plan. This page covers keys, the endpoints and the limits; the API reference has every field.

Last updated

Create a key

  1. In your account, open API keys and press Manage API keys.
  2. Under Create a key, give it a Name, such as "Reporting script", and choose Read only or Read and write. Give write access only to code that needs to delete responses or manage webhooks.
  3. Press Create key, then Copy key. You see it once: we store only a hash of it.

Keys start with pfc_live_. A key can read every form you can see and its responses. An account can hold 20 active keys; Revoke one under Your keys to make room, or if it may have leaked.

Send the key

Send the key in the Authorization header of every request:

curl https://www.pulseformcreator.com/api/v1/forms/ \
  -H "Authorization: Bearer pfc_live_…"

A key acts as the person who made it, with the same access they have in the dashboard, including forms their team role lets them see.

Endpoints

MethodPathWhat it does
GET/api/v1/me/The account the key belongs to
GET/api/v1/forms/Your forms
GET/api/v1/forms/{id}/One form, with its questions
GET/api/v1/forms/{id}/responses/A page of responses
GET/api/v1/forms/{id}/responses/{responseId}/One response
DELETE/api/v1/forms/{id}/responses/{responseId}/Delete a response (write)
GET, POST/api/v1/forms/{id}/webhooks/List webhooks, or create one (write)
GET, DELETE/api/v1/forms/{id}/webhooks/{webhookId}/Read a webhook, or delete it (write)

Lists take limit (1 to 100, default 50) and cursor for the next page. Responses also take order (desc, newest first, or asc), since and until. Each response carries its answers with readable values, hidden fields and calculated values, and details of the submission; anonymous forms never return device data. A club might read each night's new membership applications with since and copy them into its member database.

Limits and errors

Each key can make 100 requests a minute. Past that, the API answers 429 with a Retry-After header in seconds. Errors come back as JSON with a status, a code and a message:

  • 401 unauthorized: the key is missing, mistyped or revoked.
  • 403 insufficient_scope: a read-only key tried to write.
  • 403 forbidden: the key cannot reach that form.
  • 404 not_found: there is no such form or response.

To get responses the moment they arrive instead of polling, use a signed webhook.

Did this answer your question?

If it did not, tell us what was missing and we will fix the article.