curl --request GET \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/entities/{entityType}/{entityId} \
--header 'Authorization: <api-key>'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/entities/{entityType}/{entityId}"
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}/entities/{entityType}/{entityId}', 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}/entities/{entityType}/{entityId}",
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}/entities/{entityType}/{entityId}"
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}/entities/{entityType}/{entityId}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/entities/{entityType}/{entityId}")
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{
"id": "550e8400-e29b-41d4-a716-446655440301",
"fieldModelV1Data": {
"exposureName": "Acme Corp HQ"
},
"createdAt": 1736937000,
"createdBy": "google-oauth2|123456789",
"updatedAt": 1736937000,
"updatedBy": null,
"createdByName": "Jane Adjuster",
"updatedByName": null
}Get Entity
Returns a single {entityType} entity by ID. The response is the generic
entity envelope — all field values live inside fieldModelV1Data. No
cross-entity data is enriched onto the response; query related data (e.g.
linked events) separately.
Required permission: <resource>.view for the entity’s resource (event.view,
exposure.view, quote.view, submission.view, person.view,
organization.view), derived from the path’s
{entityType}. See
Permissions.
curl --request GET \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/entities/{entityType}/{entityId} \
--header 'Authorization: <api-key>'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/entities/{entityType}/{entityId}"
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}/entities/{entityType}/{entityId}', 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}/entities/{entityType}/{entityId}",
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}/entities/{entityType}/{entityId}"
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}/entities/{entityType}/{entityId}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/entities/{entityType}/{entityId}")
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{
"id": "550e8400-e29b-41d4-a716-446655440301",
"fieldModelV1Data": {
"exposureName": "Acme Corp HQ"
},
"createdAt": 1736937000,
"createdBy": "google-oauth2|123456789",
"updatedAt": 1736937000,
"updatedBy": null,
"createdByName": "Jane Adjuster",
"updatedByName": null
}Authorizations
API key authentication. Send your raw API key as the Authorization header value with NO scheme prefix — Authorization: YOUR-API-KEY. Do NOT prefix it with Bearer or ApiKey, and do not use an X-API-Key header; those are not accepted.
Path Parameters
Company identifier
Field Model V1 entity type (lowercase kebab-case URL slug). One of the six
CRUD entity types: event, exposure, quote, submission, person,
organization. policy is NOT valid here — Policy has no generic CRUD (its
writes go through the policy transaction endpoints), though it does have a
read-only /configuration schema.
event, exposure, quote, submission, person, organization Entity identifier
Response
Entity details
The generic shape returned by unified entity get and list endpoints. All
entity-specific field values live inside fieldModelV1Data (keyed by field
referenceId); the envelope is identical for every entity type.
Entity identifier
Field values keyed by referenceId. The response contains exactly the
keys declared by the company's current configuration — each declared key
is present, null when unset — plus system keys (__-prefixed keys and
id). A stored key that is no longer declared (e.g. a dropped/retired
field) is not published. Includes calculated/auto-set values populated
by the resolver (e.g. submissionNumber, quoteStatus) and join field
IDs.
Creation time in epoch seconds.
User ID of the creator, or null.
Last update time in epoch seconds (equals createdAt if never updated).
User ID of the last updater, or null.
Display name resolved from createdBy, or null.
Display name resolved from updatedBy, or null.
