curl --request GET \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration \
--header 'Authorization: <api-key>'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration', 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}/policies/configuration",
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: <api-key>"
],
]);
$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://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"fields": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"policyName": {
"type": "string",
"title": "policyName"
},
"policyPremium": {
"type": "number",
"title": "policyPremium",
"readOnly": true,
"x-calculated": true
}
},
"required": [
"policyName"
]
}
}Get Policy Configuration
Returns the fields a policy can hold in your configuration as a JSON Schema:
each field key, its type, and which fields are required. Call it before New
Business Transaction (newBusinessPolicyTransaction), Renew Policy
Transaction (renewPolicyTransaction) or Endorse Policy Transaction
(endorsePolicyTransaction) to learn the keys for data and for delta
paths. For the other entity types, use Get Entity Configuration
(getEntityV1Configuration).
Policy has its own configuration endpoint rather than the parametric
entities/{entityType}/configuration route, whose entityType covers only
the six CRUD entity types.
The fields schema is a standard JSON Schema (draft 2020-12) that can be
used directly with validation libraries like Ajv or Zod. The required
array lists fields that must be provided.
Calculated (JEXL-derived) and other server-managed fields — e.g.
policyPremium — are included in the schema (so they are discoverable and
overridable) but annotated with readOnly: true and x-calculated: true
so consumers can tell them apart from ordinary inputs. The annotation means
“server-managed”, not “rejected on write”.
Required permission: policy.view
curl --request GET \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration \
--header 'Authorization: <api-key>'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration', 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}/policies/configuration",
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: <api-key>"
],
]);
$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://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/configuration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"fields": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"policyName": {
"type": "string",
"title": "policyName"
},
"policyPremium": {
"type": "number",
"title": "policyPremium",
"readOnly": true,
"x-calculated": true
}
},
"required": [
"policyName"
]
}
}Authorizations
Response
Configuration for the policy's fields
Configuration response for a Field Model V1 entity (Event, Exposure, Quote,
Submission, Person, Organization, or read-only Policy). Returns a JSON Schema
describing the fields available for creating or updating that entity. For
entities that embed exposures (Quote),
the embedded exposure schema is nested under the corresponding join field
(e.g. exposures) rather than returned as a separate top-level key.
