Delete entries in batch
curl --request DELETE \
--url https://formhug.ai/api/v1/forms/{form_token}/entries/batch \
--header 'Authorization: Bearer <token>'import requests
url = "https://formhug.ai/api/v1/forms/{form_token}/entries/batch"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://formhug.ai/api/v1/forms/{form_token}/entries/batch', 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://formhug.ai/api/v1/forms/{form_token}/entries/batch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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://formhug.ai/api/v1/forms/{form_token}/entries/batch"
req, _ := http.NewRequest("DELETE", 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.delete("https://formhug.ai/api/v1/forms/{form_token}/entries/batch")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://formhug.ai/api/v1/forms/{form_token}/entries/batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"succeeded": [
{
"serial_number": 3
}
],
"failed": [
{
"serial_number": 9,
"code": "not_found",
"error_details": [
{
"attribute": "field_values.field_1",
"message": "can't be blank"
}
]
}
]
}
}{
"error": "Name can't be blank",
"error_details": [
{
"attribute": "name",
"message": "can't be blank"
}
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Entries
Delete entries in batch
Move up to 200 entries to the form’s trash. Serial numbers that do not exist or are outside
your access are reported in failed with code: not_found.
Required scope: entry:delete.
DELETE
/
api
/
v1
/
forms
/
{form_token}
/
entries
/
batch
Delete entries in batch
curl --request DELETE \
--url https://formhug.ai/api/v1/forms/{form_token}/entries/batch \
--header 'Authorization: Bearer <token>'import requests
url = "https://formhug.ai/api/v1/forms/{form_token}/entries/batch"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://formhug.ai/api/v1/forms/{form_token}/entries/batch', 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://formhug.ai/api/v1/forms/{form_token}/entries/batch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
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://formhug.ai/api/v1/forms/{form_token}/entries/batch"
req, _ := http.NewRequest("DELETE", 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.delete("https://formhug.ai/api/v1/forms/{form_token}/entries/batch")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://formhug.ai/api/v1/forms/{form_token}/entries/batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"succeeded": [
{
"serial_number": 3
}
],
"failed": [
{
"serial_number": 9,
"code": "not_found",
"error_details": [
{
"attribute": "field_values.field_1",
"message": "can't be blank"
}
]
}
]
}
}{
"error": "Name can't be blank",
"error_details": [
{
"attribute": "name",
"message": "can't be blank"
}
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Personal Access Token prefixed with fh_. Sent as Authorization: Bearer fh_xxx.
The scope required by each endpoint is listed in that endpoint's description.
Path Parameters
Form token
Query Parameters
Comma-separated serial numbers, e.g. serial_numbers=1,2,3
Required array length:
1 - 200 elementsResponse
Processed
Show child attributes
Show child attributes
Last modified on October 9, 2026
Was this page helpful?