Get form metadata
curl --request GET \
--url https://api.fillout.com/v1/api/forms/{formId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fillout.com/v1/api/forms/{formId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fillout.com/v1/api/forms/{formId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fillout.com/v1/api/forms/{formId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fillout.com/v1/api/forms/{formId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fillout.com/v1/api/forms/{formId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fillout.com/v1/api/forms/{formId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"questions": [
{
"id": "<string>",
"name": "<string>"
}
],
"calculations": [
{
"id": "<string>",
"name": "<string>"
}
],
"urlParameters": [
{
"id": "<string>",
"name": "<string>"
}
],
"scheduling": [
{
"id": "<string>",
"name": "<string>"
}
],
"payments": [
{
"id": "<string>",
"name": "<string>"
}
],
"quiz": {
"enabled": true
}
}Fillout REST API
Get form metadata
Given the formId, returns all the questions in that form and other metadata
GET
/
forms
/
{formId}
Get form metadata
curl --request GET \
--url https://api.fillout.com/v1/api/forms/{formId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fillout.com/v1/api/forms/{formId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fillout.com/v1/api/forms/{formId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fillout.com/v1/api/forms/{formId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fillout.com/v1/api/forms/{formId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.fillout.com/v1/api/forms/{formId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fillout.com/v1/api/forms/{formId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"questions": [
{
"id": "<string>",
"name": "<string>"
}
],
"calculations": [
{
"id": "<string>",
"name": "<string>"
}
],
"urlParameters": [
{
"id": "<string>",
"name": "<string>"
}
],
"scheduling": [
{
"id": "<string>",
"name": "<string>"
}
],
"payments": [
{
"id": "<string>",
"name": "<string>"
}
],
"quiz": {
"enabled": true
}
}New field types are added regularly. Your application should discard fields with unknown types.
Authorizations
Enter your Fillout API key. Format: Bearer <api_key>
Path Parameters
The public ID of your form
Response
200 - application/json
Form metadata
The public identifier of the form
The name of the form
List of questions in the form
Show child attributes
Show child attributes
List of calculations in the form
Show child attributes
Show child attributes
List of URL parameters
Show child attributes
Show child attributes
List of scheduling fields (if using Fillout Scheduling)
Show child attributes
Show child attributes
List of payment fields (if using Fillout Payments)
Show child attributes
Show child attributes
Quiz configuration (only defined if quiz mode is enabled)
Show child attributes
Show child attributes
Was this page helpful?
⌘I