curl --request GET \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/imports/rows \
--header 'Authorization: Bearer <token>'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/imports/rows"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://go.aiinsurance.io/api/v1/companies/{companyId}/imports/rows', 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}/imports/rows",
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: Bearer <token>"
],
]);
$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}/imports/rows"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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}/imports/rows")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/imports/rows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "3f8a2c1e-9b4d-4e7a-8c21-5d6f7a8b9c0d",
"entityType": "Submission",
"data": {
"submission": {
"name": "Acme Logistics",
"effectiveDate": "2026-01-01"
},
"broker": {
"email": "broker@example.com"
}
},
"importBatch": "legacy-2026-10",
"createdAt": "2026-10-22T14:03:11.204Z"
}
],
"totalCount": 1,
"page": 1,
"pageSize": 50
}List Import Rows
Lists the source data stored for imports, newest first, exactly as it
arrived through Import Entity (createFmv1Import) or Import Rows
(ingestFmv1ImportRows). Use it to check what a migration or spreadsheet
load sent, filtered by importBatch or entityType; to see how each row
was mapped and whether it failed, use List Import Attempts
(listFmv1ImportAttempts).
Returns a page of the company’s import rows, newest first. An import row is the data an Import Entity request or an Import Rows request received, stored as it arrived, before any transformation.
Filter by entityType and by importBatch, the batch key the import
requests carried. totalCount counts every matching row, ignoring the
pagination. Continue while page * pageSize < totalCount.
Any query parameter not listed here is a 400.
Untyped rows are visible to any importer in the company. Synchronous rows retain their entity-type permissions: a key holding
person.import alone sees untyped rows and Person rows, and totalCount counts only
those.
Required permission: <entityType>.import for the entityType filter
(person.import for Person); without the filter, any one of
event.import, exposure.import, quote.import, submission.import,
person.import, organization.import or policy.import.
curl --request GET \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/imports/rows \
--header 'Authorization: Bearer <token>'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/imports/rows"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://go.aiinsurance.io/api/v1/companies/{companyId}/imports/rows', 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}/imports/rows",
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: Bearer <token>"
],
]);
$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}/imports/rows"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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}/imports/rows")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/imports/rows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"id": "3f8a2c1e-9b4d-4e7a-8c21-5d6f7a8b9c0d",
"entityType": "Submission",
"data": {
"submission": {
"name": "Acme Logistics",
"effectiveDate": "2026-01-01"
},
"broker": {
"email": "broker@example.com"
}
},
"importBatch": "legacy-2026-10",
"createdAt": "2026-10-22T14:03:11.204Z"
}
],
"totalCount": 1,
"page": 1,
"pageSize": 50
}Authorizations
User-principal OAuth 2.0 Bearer authentication. Send a user-scoped Auth0 access token (audience = the app API audience) as Authorization: Bearer <jwt>. The request resolves to the user's identity and is authorized by their Role on the {companyId} in the path — the same role-based permissions the web app enforces. This is the path the MCP connector uses to act on a user's behalf; endpoints that accept it list both BearerAuth and ApiKeyAuth.
Query Parameters
Response
One page of import rows, plus the unpaginated total
One page of a company's import rows, newest first.
