Get Policy Transaction
curl --request GET \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/transactions/{transactionId} \
--header 'Authorization: <api-key>'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/transactions/{transactionId}"
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/{policyId}/transactions/{transactionId}', 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/{policyId}/transactions/{transactionId}",
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/{policyId}/transactions/{transactionId}"
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/{policyId}/transactions/{transactionId}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/transactions/{transactionId}")
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-446655440020",
"policyId": "550e8400-e29b-41d4-a716-446655440001",
"policyVersion": 2,
"action": "ENDORSE",
"effectiveDate": "2025-06-01",
"transactionTimestamp": "2025-05-28T14:30:00.000Z",
"createdAt": "2025-05-28T14:30:00.000Z",
"createdBy": "550e8400-e29b-41d4-a716-446655440090",
"displayAuthor": null,
"deltas": [
{
"id": "550e8400-e29b-41d4-a716-446655440030",
"transactionId": "550e8400-e29b-41d4-a716-446655440020",
"startDate": "2025-06-01",
"endDate": "2026-01-01",
"path": "policy.annualPremium",
"action": "Overwrite",
"value": 95000
},
{
"id": "550e8400-e29b-41d4-a716-446655440031",
"transactionId": "550e8400-e29b-41d4-a716-446655440020",
"startDate": "2025-01-01",
"endDate": "2026-01-01",
"path": "policy.fullTermPricingInfo",
"action": "Overwrite",
"value": {
"premium": 95000,
"taxes": 0,
"fees": 500,
"total": 95500,
"pricingComponents": [
{
"label": "Policy Premium",
"classification": "policy-premium",
"qualifier": "",
"earningSchedule": "pro-rata",
"value": 95000
},
{
"label": "Policy Fee",
"classification": "policy-fee",
"qualifier": "",
"earningSchedule": "pro-rata",
"value": 500
}
]
}
}
]
}Transactions
Get Policy Transaction
Returns one policy transaction (new business, renewal, endorsement,
cancellation or reinstatement) with its per-field deltas: each field it
added, removed or overwrote, and the date range the change applies to. Get
the transaction ids from List Policy Transactions
(listPolicyTransactions).
Use this endpoint to inspect exactly what changed in a given transaction.
Required permission: policy.view
GET
/
api
/
v1
/
companies
/
{companyId}
/
policies
/
{policyId}
/
transactions
/
{transactionId}
Get Policy Transaction
curl --request GET \
--url https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/transactions/{transactionId} \
--header 'Authorization: <api-key>'import requests
url = "https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/transactions/{transactionId}"
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/{policyId}/transactions/{transactionId}', 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/{policyId}/transactions/{transactionId}",
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/{policyId}/transactions/{transactionId}"
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/{policyId}/transactions/{transactionId}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://go.aiinsurance.io/api/v1/companies/{companyId}/policies/{policyId}/transactions/{transactionId}")
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-446655440020",
"policyId": "550e8400-e29b-41d4-a716-446655440001",
"policyVersion": 2,
"action": "ENDORSE",
"effectiveDate": "2025-06-01",
"transactionTimestamp": "2025-05-28T14:30:00.000Z",
"createdAt": "2025-05-28T14:30:00.000Z",
"createdBy": "550e8400-e29b-41d4-a716-446655440090",
"displayAuthor": null,
"deltas": [
{
"id": "550e8400-e29b-41d4-a716-446655440030",
"transactionId": "550e8400-e29b-41d4-a716-446655440020",
"startDate": "2025-06-01",
"endDate": "2026-01-01",
"path": "policy.annualPremium",
"action": "Overwrite",
"value": 95000
},
{
"id": "550e8400-e29b-41d4-a716-446655440031",
"transactionId": "550e8400-e29b-41d4-a716-446655440020",
"startDate": "2025-01-01",
"endDate": "2026-01-01",
"path": "policy.fullTermPricingInfo",
"action": "Overwrite",
"value": {
"premium": 95000,
"taxes": 0,
"fees": 500,
"total": 95500,
"pricingComponents": [
{
"label": "Policy Premium",
"classification": "policy-premium",
"qualifier": "",
"earningSchedule": "pro-rata",
"value": 95000
},
{
"label": "Policy Fee",
"classification": "policy-fee",
"qualifier": "",
"earningSchedule": "pro-rata",
"value": 500
}
]
}
}
]
}Authorizations
Path Parameters
Response
Transaction with deltas
A policy transaction in the transaction-based policy model. Each transaction represents an immutable change set (new business, endorsement, cancellation, reinstatement, or renewal) that produces a new policy version.
