curl --request POST \
--url https://app.aiinsurance.io/api/v1/external/companies/{companyId}/configuration/import \
--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/import"
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/import', 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/import",
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/import"
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/import")
.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/import")
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{
"success": true,
"message": "Configuration imported successfully"
}Import Configuration
Imports FMV1 configuration from a Google Spreadsheet into the database. This runs the full pipeline: validate, parse, compare, and apply changes.
If validation fails, no changes are applied and the response returns success: false
with a message describing the failure.
The caller must provide their own Google OAuth2 access token with read permission on the target spreadsheet.
Required permission: company.configuration:import
This endpoint modifies the company’s FMV1 configuration. Changes take effect immediately and affect all users of the company. Use the compare endpoint first to preview changes.
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/import \
--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/import"
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/import', 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/import",
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/import"
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/import")
.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/import")
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{
"success": true,
"message": "Configuration imported successfully"
}Authorizations
API key authentication. Include your API key in the Authorization header.
Path Parameters
Company identifier
Body
Was this page helpful?
