curl --request PATCH \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Certificate of Liability Insurance"
}
'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}"
payload = { "name": "Certificate of Liability Insurance" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Certificate of Liability Insurance'})
};
fetch('https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}', 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://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Certificate of Liability Insurance'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}"
payload := strings.NewReader("{\n \"name\": \"Certificate of Liability Insurance\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Certificate of Liability Insurance\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Certificate of Liability Insurance\"\n}"
response = http.request(request)
puts response.read_body{
"templateKey": "550e8400-e29b-41d4-a716-446655440040",
"checkpointId": "550e8400-e29b-41d4-a716-446655440043",
"companyId": "550e8400-e29b-41d4-a716-446655440000",
"name": "Certificate of Liability Insurance",
"number": "FM-0010",
"category": "event",
"storagePath": "acme/550e8400-.../formTemplates/550e8400-.../V-002/550e8400-....docx",
"createdAt": "2026-07-01T12:00:00.000Z",
"createdBy": "550e8400-e29b-41d4-a716-446655440099",
"updatedAt": "2026-07-03T09:15:00.000Z",
"updatedBy": "550e8400-e29b-41d4-a716-446655440099",
"version": 2,
"kind": "template"
}Rename Form
Change the display name of a form template or static PDF form in the
company’s form library. Get the FM-XXXX number from List Forms
(listForms). To change its content, use Replace Form Template
(replaceFormTemplate) or Replace Static Form (replaceStaticForm).
Renames a form in the company’s form library, addressed by its stable
FM-XXXX number. Works for both DOCX templates and static PDF forms.
Only the display name changes. The number, templateKey, category,
version, and stored file stay the same, so forms-logic rules that
reference the number keep working and no new version is created. The new
name applies to the form’s current version; earlier versions keep the name
they were saved under.
The name is trimmed of surrounding whitespace and must not be empty. Renaming to the current name succeeds and changes nothing else. The response is the same summary List Forms returns for the form.
Required permission: form-template.edit
curl --request PATCH \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Certificate of Liability Insurance"
}
'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}"
payload = { "name": "Certificate of Liability Insurance" }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Certificate of Liability Insurance'})
};
fetch('https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}', 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://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Certificate of Liability Insurance'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}"
payload := strings.NewReader("{\n \"name\": \"Certificate of Liability Insurance\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Certificate of Liability Insurance\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/forms/{number}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Certificate of Liability Insurance\"\n}"
response = http.request(request)
puts response.read_body{
"templateKey": "550e8400-e29b-41d4-a716-446655440040",
"checkpointId": "550e8400-e29b-41d4-a716-446655440043",
"companyId": "550e8400-e29b-41d4-a716-446655440000",
"name": "Certificate of Liability Insurance",
"number": "FM-0010",
"category": "event",
"storagePath": "acme/550e8400-.../formTemplates/550e8400-.../V-002/550e8400-....docx",
"createdAt": "2026-07-01T12:00:00.000Z",
"createdBy": "550e8400-e29b-41d4-a716-446655440099",
"updatedAt": "2026-07-03T09:15:00.000Z",
"updatedBy": "550e8400-e29b-41d4-a716-446655440099",
"version": 2,
"kind": "template"
}Authorizations
Path Parameters
Body
Response
Form renamed. The response is the form's current-version summary.
A form-library entry: a form-template summary augmented with its current version and its kind (DOCX template vs static PDF).
