curl --request PUT \
--url https://app.aiinsurance.io/api/v1/external/companies/{companyId}/events/{eventId} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"eventType": "Claim",
"eventCoverageType": "Professional Liability",
"eventInsureds": [
"550e8400-e29b-41d4-a716-446655440200"
],
"lossDescription": "Updated - severe water damage to building",
"lossDate": {
"date": "2025-01-10",
"timezone": "America/New_York"
}
}
'import requests
url = "https://app.aiinsurance.io/api/v1/external/companies/{companyId}/events/{eventId}"
payload = {
"eventType": "Claim",
"eventCoverageType": "Professional Liability",
"eventInsureds": ["550e8400-e29b-41d4-a716-446655440200"],
"lossDescription": "Updated - severe water damage to building",
"lossDate": {
"date": "2025-01-10",
"timezone": "America/New_York"
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
eventType: 'Claim',
eventCoverageType: 'Professional Liability',
eventInsureds: ['550e8400-e29b-41d4-a716-446655440200'],
lossDescription: 'Updated - severe water damage to building',
lossDate: {date: '2025-01-10', timezone: 'America/New_York'}
})
};
fetch('https://app.aiinsurance.io/api/v1/external/companies/{companyId}/events/{eventId}', 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}/events/{eventId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'eventType' => 'Claim',
'eventCoverageType' => 'Professional Liability',
'eventInsureds' => [
'550e8400-e29b-41d4-a716-446655440200'
],
'lossDescription' => 'Updated - severe water damage to building',
'lossDate' => [
'date' => '2025-01-10',
'timezone' => 'America/New_York'
]
]),
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}/events/{eventId}"
payload := strings.NewReader("{\n \"eventType\": \"Claim\",\n \"eventCoverageType\": \"Professional Liability\",\n \"eventInsureds\": [\n \"550e8400-e29b-41d4-a716-446655440200\"\n ],\n \"lossDescription\": \"Updated - severe water damage to building\",\n \"lossDate\": {\n \"date\": \"2025-01-10\",\n \"timezone\": \"America/New_York\"\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://app.aiinsurance.io/api/v1/external/companies/{companyId}/events/{eventId}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"eventType\": \"Claim\",\n \"eventCoverageType\": \"Professional Liability\",\n \"eventInsureds\": [\n \"550e8400-e29b-41d4-a716-446655440200\"\n ],\n \"lossDescription\": \"Updated - severe water damage to building\",\n \"lossDate\": {\n \"date\": \"2025-01-10\",\n \"timezone\": \"America/New_York\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.aiinsurance.io/api/v1/external/companies/{companyId}/events/{eventId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"eventType\": \"Claim\",\n \"eventCoverageType\": \"Professional Liability\",\n \"eventInsureds\": [\n \"550e8400-e29b-41d4-a716-446655440200\"\n ],\n \"lossDescription\": \"Updated - severe water damage to building\",\n \"lossDate\": {\n \"date\": \"2025-01-10\",\n \"timezone\": \"America/New_York\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440300",
"companyId": "550e8400-e29b-41d4-a716-446655440000",
"policyId": "550e8400-e29b-41d4-a716-446655440100",
"fieldModelV1Data": {
"eventType": "Claim",
"eventCoverageType": "Professional Liability",
"eventPolicy": "550e8400-e29b-41d4-a716-446655440100",
"lossDescription": "Updated - severe water damage to building",
"lossDate": {
"date": "2025-01-10",
"timezone": "America/New_York"
}
},
"createdAt": "2025-01-15T10:30:00.000Z",
"createdBy": "google-oauth2|123456789",
"updatedAt": "2025-01-20T14:00:00.000Z",
"updatedBy": "google-oauth2|987654321"
}Update Event
Updates a Field Model V1 event. The request body is a flat JSON object
with field referenceIds as keys — the same shape as the create request.
This is a full replacement of the event’s field data, not a merge. Include all fields you want the event to have after the update.
The eventType field is required in the body for permission resolution.
Required permission: claim:update or incident:update
(determined by eventType)
curl --request PUT \
--url https://app.aiinsurance.io/api/v1/external/companies/{companyId}/events/{eventId} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"eventType": "Claim",
"eventCoverageType": "Professional Liability",
"eventInsureds": [
"550e8400-e29b-41d4-a716-446655440200"
],
"lossDescription": "Updated - severe water damage to building",
"lossDate": {
"date": "2025-01-10",
"timezone": "America/New_York"
}
}
'import requests
url = "https://app.aiinsurance.io/api/v1/external/companies/{companyId}/events/{eventId}"
payload = {
"eventType": "Claim",
"eventCoverageType": "Professional Liability",
"eventInsureds": ["550e8400-e29b-41d4-a716-446655440200"],
"lossDescription": "Updated - severe water damage to building",
"lossDate": {
"date": "2025-01-10",
"timezone": "America/New_York"
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
eventType: 'Claim',
eventCoverageType: 'Professional Liability',
eventInsureds: ['550e8400-e29b-41d4-a716-446655440200'],
lossDescription: 'Updated - severe water damage to building',
lossDate: {date: '2025-01-10', timezone: 'America/New_York'}
})
};
fetch('https://app.aiinsurance.io/api/v1/external/companies/{companyId}/events/{eventId}', 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}/events/{eventId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'eventType' => 'Claim',
'eventCoverageType' => 'Professional Liability',
'eventInsureds' => [
'550e8400-e29b-41d4-a716-446655440200'
],
'lossDescription' => 'Updated - severe water damage to building',
'lossDate' => [
'date' => '2025-01-10',
'timezone' => 'America/New_York'
]
]),
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}/events/{eventId}"
payload := strings.NewReader("{\n \"eventType\": \"Claim\",\n \"eventCoverageType\": \"Professional Liability\",\n \"eventInsureds\": [\n \"550e8400-e29b-41d4-a716-446655440200\"\n ],\n \"lossDescription\": \"Updated - severe water damage to building\",\n \"lossDate\": {\n \"date\": \"2025-01-10\",\n \"timezone\": \"America/New_York\"\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://app.aiinsurance.io/api/v1/external/companies/{companyId}/events/{eventId}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"eventType\": \"Claim\",\n \"eventCoverageType\": \"Professional Liability\",\n \"eventInsureds\": [\n \"550e8400-e29b-41d4-a716-446655440200\"\n ],\n \"lossDescription\": \"Updated - severe water damage to building\",\n \"lossDate\": {\n \"date\": \"2025-01-10\",\n \"timezone\": \"America/New_York\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.aiinsurance.io/api/v1/external/companies/{companyId}/events/{eventId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"eventType\": \"Claim\",\n \"eventCoverageType\": \"Professional Liability\",\n \"eventInsureds\": [\n \"550e8400-e29b-41d4-a716-446655440200\"\n ],\n \"lossDescription\": \"Updated - severe water damage to building\",\n \"lossDate\": {\n \"date\": \"2025-01-10\",\n \"timezone\": \"America/New_York\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "550e8400-e29b-41d4-a716-446655440300",
"companyId": "550e8400-e29b-41d4-a716-446655440000",
"policyId": "550e8400-e29b-41d4-a716-446655440100",
"fieldModelV1Data": {
"eventType": "Claim",
"eventCoverageType": "Professional Liability",
"eventPolicy": "550e8400-e29b-41d4-a716-446655440100",
"lossDescription": "Updated - severe water damage to building",
"lossDate": {
"date": "2025-01-10",
"timezone": "America/New_York"
}
},
"createdAt": "2025-01-15T10:30:00.000Z",
"createdBy": "google-oauth2|123456789",
"updatedAt": "2025-01-20T14:00:00.000Z",
"updatedBy": "google-oauth2|987654321"
}Authorizations
API key authentication. Include your API key in the Authorization header.
Path Parameters
Company identifier
Event identifier
Body
Flat JSON object with field referenceIds as keys (full replacement)
Response
Event updated successfully
A Field Model V1 event entity with dynamic field data.
Event identifier
Company identifier
Dynamic field data for the event. Keys are field referenceIds
defined in the company's field configuration. Includes base fields
like eventType, eventCoverageType, and eventPolicy (the Join
field that stores the associated policy ID, also surfaced at the top
level as policyId) as well as any custom fields.
Associated policy ID. Convenience field surfaced at the top level for
backwards compatibility — the value is read from
fieldModelV1Data.eventPolicy, where it is stored as a Join: Policy
field.
When the event was created
User ID who created the event
When the event was last updated
User ID who last updated the event
Was this page helpful?
