Fillout REST API
Interact with Fillout via a REST API. Access your forms and form submissions from outside the Fillout site. Create new forms and activate, deactivate and publish existing forms.
IntroductionAuthenticationAPI EndpointsGet formsGet form metadataGet submissionsActivate a formDeactivate a formCreate a formPublish a formCreate a webhookRemove a webhook
Note: The Fillout API is currently only available on the Enterprise plan. Note that webhooks are available on all plans.
Introduction
The Fillout API lets you access information about your Fillout account programmatically, without using the Fillout site. The Fillout API is primarily for Fillout users and for 3rd party developers that want to build services on top of Fillout.
You can access a list of all your forms and the submissions for each form via the API. You can also create new forms and activate, deactivate and publish existing forms.
Authentication
Contact support@fillout.com to generate an API key for your account. Once generated, you can view your API key in the
Fillout Enterprise
tab of your account. You can revoke or regenerate your API key at any time via the dashboard.
Pass your API key in the
Authorization
bearer header of each request.You can obtain your API base URL in the API dashboard. Typically, it will be https://api.fillout.com.
Important: If you’re self-hosting Fillout or using the EU agent, a different URL will appear in the dashboard.
API Endpoints
Get forms
GET /v1/api/forms
Returns a list of all your forms.
[ { "name": "My example form", "id": "vso9PzRfHQus", }, ... ]
Get form metadata
GET /v1/api/metadata
Given a
formId
, returns all the questions in that form.{ "questions": [ { "key": "5AtgG35AAZVcrSVfRubvp1", "label": "What's your email?" "type": "Email" }, { "key": "gRBWVbE2fut2oiAMprdZpY", "label": "What is your name?" "type": "ShortAnswer" }, { "key": "hP4bHA1CgvyD2LKhBnnGHy", "label": "Pick your favorite color" "type": "MultipleChoice" } ] }
Get submissions
To get submissions, look at the Responses API.
Activate a form
POST /v1/api/form/activate
Given a
formId
, activates the form.Deactivate a form
POST /v1/api/form/deactivate
Given a
formId
, deactivates the form. Deactivated forms will no long accept submissions.Create a form
POST /v1/api/form/create
Given a
name
in the body of the request, creates a new form. Returns the ID of the newly created form.{ "questions": [ { "label": "What's your email?" "type": "Email" }, { "label": "What is your name?" "type": "ShortAnswer" }, { "label": "Pick your favorite color" "type": "MultipleChoice" } ] }
Publish a form
POST /v1/api/form/publish
Given a
formId
, publishes a form.Create a webhook
POST /v1/api/webhook/create
Given a
formId
and a url
, creates a new webhook for that form. Returns the webhookId
.The URL you provide will be called with the response data whenever a new submission is received.
Remove a webhook
POST /v1/api/webhook/create
Given a
webhookId
, removes the webhook.