curl --request POST \
--url https://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"spreadsheetId": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms",
"googleOAuthToken": "ya29.a0AfH6SM..."
}
'import requests
url = "https://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate"
payload = {
"spreadsheetId": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms",
"googleOAuthToken": "ya29.a0AfH6SM..."
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
spreadsheetId: '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms',
googleOAuthToken: 'ya29.a0AfH6SM...'
})
};
fetch('https://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate', 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://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'spreadsheetId' => '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms',
'googleOAuthToken' => 'ya29.a0AfH6SM...'
]),
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://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate"
payload := strings.NewReader("{\n \"spreadsheetId\": \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms\",\n \"googleOAuthToken\": \"ya29.a0AfH6SM...\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"spreadsheetId\": \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms\",\n \"googleOAuthToken\": \"ya29.a0AfH6SM...\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"spreadsheetId\": \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms\",\n \"googleOAuthToken\": \"ya29.a0AfH6SM...\"\n}"
response = http.request(request)
puts response.read_body{
"isValid": true,
"errors": [],
"spreadsheetName": "Allied Professionals Configuration"
}Validate Configuration Spreadsheet
Validates the structure and data of an FMV1 configuration spreadsheet without applying any changes. Use this to check for errors before running an import.
Returns a list of validation errors with details about the sheet, column, and row where each issue was found.
The caller must provide their own Google OAuth2 access token with read permission on the target spreadsheet.
Required permission: company.configuration:export
This endpoint requires an API key created with the FMV1_CONFIGURATION_MANAGER role. See Authentication for how to create API keys with specific roles.
curl --request POST \
--url https://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"spreadsheetId": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms",
"googleOAuthToken": "ya29.a0AfH6SM..."
}
'import requests
url = "https://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate"
payload = {
"spreadsheetId": "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms",
"googleOAuthToken": "ya29.a0AfH6SM..."
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
spreadsheetId: '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms',
googleOAuthToken: 'ya29.a0AfH6SM...'
})
};
fetch('https://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate', 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://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'spreadsheetId' => '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms',
'googleOAuthToken' => 'ya29.a0AfH6SM...'
]),
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://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate"
payload := strings.NewReader("{\n \"spreadsheetId\": \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms\",\n \"googleOAuthToken\": \"ya29.a0AfH6SM...\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"spreadsheetId\": \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms\",\n \"googleOAuthToken\": \"ya29.a0AfH6SM...\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/validate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"spreadsheetId\": \"1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgVE2upms\",\n \"googleOAuthToken\": \"ya29.a0AfH6SM...\"\n}"
response = http.request(request)
puts response.read_body{
"isValid": true,
"errors": [],
"spreadsheetName": "Allied Professionals Configuration"
}Authorizations
API key authentication. Include your API key in the Authorization header.
Path Parameters
Company identifier
Body
Response
Validation completed
Result of validating an FMV1 configuration spreadsheet
Was this page helpful?
