Skip to main content
GET
/
api
/
v1
/
external
/
companies
/
{companyId}
/
policies
/
aggregate
/
earned-premium
Aggregate Earned Premium
curl --request GET \
  --url https://app.aiinsurance.io/api/v1/external/companies/{companyId}/policies/aggregate/earned-premium \
  --header 'Authorization: <api-key>'
{
  "earnedPremiumTotal": 1250000,
  "policyCount": 47,
  "days": [
    {
      "date": "2025-01-01",
      "earnedPremium": 13888.89
    },
    {
      "date": "2025-01-02",
      "earnedPremium": 13888.89
    },
    {
      "date": "2025-01-03",
      "earnedPremium": 14102.74
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.aiinsurance.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key authentication. Include your API key in the Authorization header.

Path Parameters

companyId
string<uuid>
required

Company identifier

Query Parameters

startDate
string<date>
required

Start of the earned premium window (inclusive). ISO 8601 date (YYYY-MM-DD). Must be before or equal to endDate.

endDate
string<date>
required

End of the earned premium window (exclusive). ISO 8601 date (YYYY-MM-DD). The range [startDate, endDate) must not exceed 366 days.

segmentScope
string
required

JSON-encoded segment scope filter. Controls which policies are included based on segment date matching. Values:

  • "all" — every policy
  • {"asOf":"YYYY-MM-DD"} — point-in-time
  • {"fromDate":"YYYY-MM-DD","toDate":"YYYY-MM-DD"} — date range
filters
string

JSON-encoded array of field filters. Each filter targets a field in the segment's fieldModelV1Data and supports type-specific operators (text, number, boolean, date, currency, optionSet, address).

timeTravelBackToDate
string<date-time>

Only include transactions created before this timestamp (ISO 8601). Useful for auditing historical earned premium state.

limit
integer
default:10000

Maximum number of policies to aggregate (default and max: 10,000).

Required range: 1 <= x <= 10000

Response

Aggregated earned premium across all matching policies

Earned premium aggregated across all matching policies. Returns a daily time series and a grand total — no per-policy or per-transaction breakdown.

earnedPremiumTotal
number
required

Grand total earned premium across all matching policies

policyCount
integer
required

Number of policies included in the aggregation

days
object[]
required

Daily earned premium time series. Contains one entry per day in the half-open interval [startDate, endDate).