forms
Retrieve a form
Returns the form and its full configuration.
GET
/
v1
/
forms
/
{form_id}
Retrieve a form
curl --request GET \
--url https://api.formcarry.com/v1/forms/{form_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.formcarry.com/v1/forms/{form_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.formcarry.com/v1/forms/{form_id}', 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.formcarry.com/v1/forms/{form_id}",
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.formcarry.com/v1/forms/{form_id}"
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.formcarry.com/v1/forms/{form_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.formcarry.com/v1/forms/{form_id}")
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": "AbC123xyz",
"team_id": "<string>",
"name": "Contact form",
"endpoint": "https://formcarry.com/s/AbC123xyz",
"active": true,
"avatar": "🚀",
"folder_id": "<string>",
"created_at": "2026-01-15T10:00:00.000Z",
"last_submission_at": "<string>",
"submissions": {
"this_month": 123,
"all_time": 123
},
"storage": {
"store_submissions": true,
"keep_for": "30_days"
},
"spam": {
"protection": true,
"captcha": {
"provider": "none",
"secret_key_set": true
}
},
"self_email_notification": {
"enabled": true,
"recipients": [
"me@company.com"
],
"include_spam": true,
"subject": "<string>",
"logo_url": "https://example.com/logo.png",
"logo_height": 208,
"template": {
"type": "formcarry",
"theme": "formal",
"html": "<string>"
},
"sender": {
"type": "formcarry",
"server_id": "<string>",
"name": "<string>",
"email": "<string>"
}
},
"auto_response": {
"enabled": true,
"subject": "<string>",
"from_name": "<string>",
"logo_url": "https://example.com/logo.png",
"logo_height": 208,
"template": {
"type": "formcarry",
"theme": "formal",
"message": "<string>",
"html": "<string>"
}
},
"after_submit": {
"type": "formcarry_page",
"page": {
"theme": "sweet",
"mode": "light",
"headline": "Thank you!",
"message": "We have received your submission",
"logo_url": "https://example.com/thanks",
"logo_dark_url": "https://example.com/thanks",
"logo_size": "normal",
"primary_color": "#0f766e",
"secondary_color": "#f0fdfa",
"return_button": {
"text": "<string>",
"url": "https://example.com/thanks"
},
"download_button": {
"text": "<string>",
"url": "https://example.com/thanks"
}
},
"redirect": {
"success_url": "https://example.com/thanks",
"fail_url": "https://example.com/thanks",
"append_submission_to_url": true
}
},
"webhooks": [
{
"id": "whk_3f9Kq2bLm8xZpQ1rT7vWc0",
"url": "https://example.com/hooks/formcarry",
"enabled": true,
"description": "CRM sync",
"events": [
"submission.created"
],
"signing": {
"algorithm": "hmac-sha256",
"header": "X-Formcarry-Signature"
},
"last_delivery": {
"at": "2026-09-13T12:00:00.000Z",
"status": "succeeded",
"response_status": 200,
"attempt": 1
},
"created_at": "2026-09-13T12:00:00.000Z"
}
],
"validation": {
"enabled": true,
"rules": [
{
"field": "email",
"checks": [
{
"type": "required",
"value": "<string>",
"message": "<string>"
}
]
}
]
}
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The form's id, as shown in the dashboard and in the form's endpoint URL
Response
Example:
"AbC123xyz"
Example:
"Contact form"
Where your HTML form posts.
Example:
"https://formcarry.com/s/AbC123xyz"
Inactive forms reject submissions.
Example:
"🚀"
The folder the form is filed in, or null for none.
Example:
"2026-01-15T10:00:00.000Z"
When the newest submission arrived, or null before the first.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Managed at /v1/forms/{form_id}/webhooks; one per form for now.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?
⌘I
Retrieve a form
curl --request GET \
--url https://api.formcarry.com/v1/forms/{form_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.formcarry.com/v1/forms/{form_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.formcarry.com/v1/forms/{form_id}', 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.formcarry.com/v1/forms/{form_id}",
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.formcarry.com/v1/forms/{form_id}"
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.formcarry.com/v1/forms/{form_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.formcarry.com/v1/forms/{form_id}")
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": "AbC123xyz",
"team_id": "<string>",
"name": "Contact form",
"endpoint": "https://formcarry.com/s/AbC123xyz",
"active": true,
"avatar": "🚀",
"folder_id": "<string>",
"created_at": "2026-01-15T10:00:00.000Z",
"last_submission_at": "<string>",
"submissions": {
"this_month": 123,
"all_time": 123
},
"storage": {
"store_submissions": true,
"keep_for": "30_days"
},
"spam": {
"protection": true,
"captcha": {
"provider": "none",
"secret_key_set": true
}
},
"self_email_notification": {
"enabled": true,
"recipients": [
"me@company.com"
],
"include_spam": true,
"subject": "<string>",
"logo_url": "https://example.com/logo.png",
"logo_height": 208,
"template": {
"type": "formcarry",
"theme": "formal",
"html": "<string>"
},
"sender": {
"type": "formcarry",
"server_id": "<string>",
"name": "<string>",
"email": "<string>"
}
},
"auto_response": {
"enabled": true,
"subject": "<string>",
"from_name": "<string>",
"logo_url": "https://example.com/logo.png",
"logo_height": 208,
"template": {
"type": "formcarry",
"theme": "formal",
"message": "<string>",
"html": "<string>"
}
},
"after_submit": {
"type": "formcarry_page",
"page": {
"theme": "sweet",
"mode": "light",
"headline": "Thank you!",
"message": "We have received your submission",
"logo_url": "https://example.com/thanks",
"logo_dark_url": "https://example.com/thanks",
"logo_size": "normal",
"primary_color": "#0f766e",
"secondary_color": "#f0fdfa",
"return_button": {
"text": "<string>",
"url": "https://example.com/thanks"
},
"download_button": {
"text": "<string>",
"url": "https://example.com/thanks"
}
},
"redirect": {
"success_url": "https://example.com/thanks",
"fail_url": "https://example.com/thanks",
"append_submission_to_url": true
}
},
"webhooks": [
{
"id": "whk_3f9Kq2bLm8xZpQ1rT7vWc0",
"url": "https://example.com/hooks/formcarry",
"enabled": true,
"description": "CRM sync",
"events": [
"submission.created"
],
"signing": {
"algorithm": "hmac-sha256",
"header": "X-Formcarry-Signature"
},
"last_delivery": {
"at": "2026-09-13T12:00:00.000Z",
"status": "succeeded",
"response_status": 200,
"attempt": 1
},
"created_at": "2026-09-13T12:00:00.000Z"
}
],
"validation": {
"enabled": true,
"rules": [
{
"field": "email",
"checks": [
{
"type": "required",
"value": "<string>",
"message": "<string>"
}
]
}
]
}
}