# AI Insurance ## Docs - [Generating API Keys](https://docs.go.aiinsurance.io/api-reference/authentication.md) - [API Changelog](https://docs.go.aiinsurance.io/api-reference/changelog.md) - [Add File Placement (Share to Another Entity)](https://docs.go.aiinsurance.io/api-reference/company-files/add-file-placement-share-to-another-entity.md): Adds a placement of an existing file under another owner — the file then appears on both entities. Sharing never copies the stored bytes: every placement sees the same current version and version history. The target owner is validated like an upload intent's (a live entity in the same company — cros… - [Create Folder](https://docs.go.aiinsurance.io/api-reference/company-files/create-folder.md): Creates a folder under an owner — a configured entity (`entityType` + `entityId`) or the company level (`entityType: "company"`, no `entityId`). Optionally nest it under one of the owner's existing folders with `parentFolderId`; omit it for a top-level folder. A folder can only ever contain files an… - [Create Upload Intent](https://docs.go.aiinsurance.io/api-reference/company-files/create-upload-intent.md): Phase 1 of the two-phase upload: declare the file (owner, name, MIME type, exact byte size) and receive a short-lived signed `uploadUrl` pinned to the declared content type and byte size. - [Delete File](https://docs.go.aiinsurance.io/api-reference/company-files/delete-file.md): Soft-deletes a file and ALL its placements — the file disappears from every entity it was shared to, every listing, and its content can no longer be retrieved; the stored objects of all its versions are reclaimed. To remove the file from just one entity, use [Remove File Placement](#tag/Company-File… - [Delete Folder](https://docs.go.aiinsurance.io/api-reference/company-files/delete-folder.md): Recursively soft-deletes a folder: the folder itself, every live descendant folder, and every file placed inside the subtree. Deleted items disappear from all listings and their stored objects are reclaimed. The response reports how many folders and files the cascade removed. - [Finalize Upload](https://docs.go.aiinsurance.io/api-reference/company-files/finalize-upload.md): Phase 3 of the two-phase upload: after PUTting the bytes to the signed `uploadUrl`, finalize with the `versionId` returned by the upload intent. The server verifies the object exists in storage and flips the file's status from `pending` to `ready`, making it visible to listings and downloadable. - [Get Download URL](https://docs.go.aiinsurance.io/api-reference/company-files/get-download-url.md): Mints a short-lived signed read URL for a `ready` file. Fetch the bytes with a plain `GET` of `url` — they come straight from cloud storage, never through this API. The URL is signed with an `attachment; filename=""` content disposition and expires at `expiresAt` (15 minutes); request a fr… - [Get File Metadata](https://docs.go.aiinsurance.io/api-reference/company-files/get-file-metadata.md): Returns full metadata for a single file, including its upload `status` (`pending` until the upload is finalized, then `ready`). Does not return file content — use [Get Download URL](#tag/Company-Files/GET/api/v1/external/companies/{companyId}/files/{fileId}/download-url) and fetch the bytes from the… - [Get Folder Tree](https://docs.go.aiinsurance.io/api-reference/company-files/get-folder-tree.md): Returns an owner's whole live folder tree as flat adjacency-list rows — each folder carries its `parentFolderId` (null = top level) and consumers assemble the hierarchy client-side. Not paginated; the response is the complete tree for the owner. - [List File Placements](https://docs.go.aiinsurance.io/api-reference/company-files/list-file-placements.md): Lists every place a file appears — one placement per owner the file has been added to, with the owning entity's display name resolved. The single-file metadata read summarizes only the file's primary (oldest) placement; this endpoint is the full enumeration. - [List Files](https://docs.go.aiinsurance.io/api-reference/company-files/list-files.md): Returns the files visible to an owner (a configured entity or the company level), newest first. Only finalized (`ready`) files are listed — pending uploads are never returned. - [List Folder Contents](https://docs.go.aiinsurance.io/api-reference/company-files/list-folder-contents.md): Returns what's inside one folder: the folder node itself, its direct subfolders (`folders`, name-ordered, not paginated), and the files placed in it (`files`, newest first, paginated with `page`/`pageSize`; `totalCount` counts the files). Only finalized (`ready`) files appear. - [Overview](https://docs.go.aiinsurance.io/api-reference/company-files/overview.md): Manage files and folders for entities and the company via signed URLs - [Remove File Placement](https://docs.go.aiinsurance.io/api-reference/company-files/remove-file-placement.md): Removes ONE placement of a file — "remove from this entity", not "delete the file". While other placements remain the file (and its stored content) is untouched and stays available everywhere else it appears. Removing the file's LAST placement deletes the file itself and reclaims its stored objects,… - [Rename, Move, or Categorize File](https://docs.go.aiinsurance.io/api-reference/company-files/rename-move-or-categorize-file.md): Renames a file (`displayName`), moves it to a different folder (`folderId`), and/or sets its free-text category label (`category`). Send only the fields you want to change — at least one must be present. - [Rename or Move Folder](https://docs.go.aiinsurance.io/api-reference/company-files/rename-or-move-folder.md): Renames a folder (`name`), moves it under a different parent (`parentFolderId`), or both. Send only the fields you want to change — at least one must be present. - [Update File Placement (Move / Categorize per Entity)](https://docs.go.aiinsurance.io/api-reference/company-files/update-file-placement-move-categorize-per-entity.md): Updates ONE placement's organization — the folder it sits in (`folderId`) and/or its free-text `category` label. Folder location and category are per placement, so this is the way to re-folder or re-categorize a file that is shared across several entities: address the placement to change by its id (… - [Overview](https://docs.go.aiinsurance.io/api-reference/configuration/overview.md) - [Data Models](https://docs.go.aiinsurance.io/api-reference/data-models.md): Reference for all V1 API data structures, field types, and conventions - [Overview](https://docs.go.aiinsurance.io/api-reference/documents/overview.md): Generate quote and policy documents from smart tag templates via API - [Overview](https://docs.go.aiinsurance.io/api-reference/events/overview.md) - [Overview](https://docs.go.aiinsurance.io/api-reference/exposures/overview.md) - [Download Bordereau CSV](https://docs.go.aiinsurance.io/api-reference/field-model-bordereau/download-bordereau-csv.md): Downloads the bordereau report as a CSV file. Returns the same transaction-level premium data as the [List Bordereau Rows](/api-reference/field-model/bordereau/list) endpoint, serialized as RFC 4180 CSV with a `Content-Disposition: attachment` header. - [Export Bordereau to Google Sheets](https://docs.go.aiinsurance.io/api-reference/field-model-bordereau/export-bordereau-to-google-sheets.md): Exports the bordereau report to a Google Sheets spreadsheet. Writes the same transaction-level premium data as the [List Bordereau Rows](/api-reference/field-model/bordereau/list) endpoint into a Google Sheets tab. - [List Bordereau Rows](https://docs.go.aiinsurance.io/api-reference/field-model-bordereau/list-bordereau-rows.md): Returns a paginated, flat list of transaction-level premium rows (a "bordereau"). Each row represents one policy transaction and includes fixed columns (policy number, insured name, action, dates, premium, premium change) plus optional dynamic columns resolved from FullTerm custom object fields. - [Aggregate Earned Premium](https://docs.go.aiinsurance.io/api-reference/field-model-earned-premium/aggregate-earned-premium.md): Returns earned premium per day summed across all matching policies. No per-policy or per-transaction breakdown — just a daily time series and a grand total. - [Get Earned Premium (Single Policy)](https://docs.go.aiinsurance.io/api-reference/field-model-earned-premium/get-earned-premium-single-policy.md): Returns earned premium for a single policy over a date range. Each transaction on the policy produces a daily contribution (a fixed daily rate over its effective range), and the earned premium on any given day is the sum of all active contributions. - [List Earned Premium (Multi-Policy)](https://docs.go.aiinsurance.io/api-reference/field-model-earned-premium/list-earned-premium-multi-policy.md): Returns earned premium for multiple policies, paginated by policy. Each item in the response has the same shape as the single-policy endpoint for the requested detail level. - [Get Entity Configuration](https://docs.go.aiinsurance.io/api-reference/field-model-entities/get-entity-configuration.md): Returns a JSON Schema describing the fields available for creating or updating a Field Model V1 entity. The `entityType` path parameter is the lowercase kebab-case entity slug (`event`, `exposure`, `quote`, `submission`, or `policy`). - [Create Event](https://docs.go.aiinsurance.io/api-reference/field-model-events/create-event.md): Creates an Event via the unified entity CRUD pipeline. - [Delete Event](https://docs.go.aiinsurance.io/api-reference/field-model-events/delete-event.md): Soft-deletes an Event by ID. The entity will no longer appear in list or get operations. - [Get Event](https://docs.go.aiinsurance.io/api-reference/field-model-events/get-event.md): Returns a single Event by ID. The response is the generic entity envelope — all event field values are inside `fieldModelV1Data`. No cross-entity data is enriched onto the response; query related data (e.g. linked policies) separately. - [List Events](https://docs.go.aiinsurance.io/api-reference/field-model-events/list-events.md): Returns a paginated list of Events. - [Update Event](https://docs.go.aiinsurance.io/api-reference/field-model-events/update-event.md): Updates an Event. The request body is a flat JSON object with field `referenceId`s as keys — the same shape as create. - [Create Exposure](https://docs.go.aiinsurance.io/api-reference/field-model-exposures/create-exposure.md): Creates an Exposure via the unified entity CRUD pipeline. - [Delete Exposure](https://docs.go.aiinsurance.io/api-reference/field-model-exposures/delete-exposure.md): Soft-deletes an Exposure by ID. The entity will no longer appear in list or get operations. - [Get Exposure](https://docs.go.aiinsurance.io/api-reference/field-model-exposures/get-exposure.md): Returns a single Exposure by ID. The response is the generic entity envelope — all exposure field values are inside `fieldModelV1Data`. No cross-entity data is enriched onto the response; query related data (e.g. linked events) separately. - [List Exposures](https://docs.go.aiinsurance.io/api-reference/field-model-exposures/list-exposures.md): Returns a paginated list of Exposures. - [Update Exposure](https://docs.go.aiinsurance.io/api-reference/field-model-exposures/update-exposure.md): Updates an Exposure. The request body is a flat JSON object with field `referenceId`s as keys — the same shape as create. - [Create Note](https://docs.go.aiinsurance.io/api-reference/field-model-notes/create-note.md): Creates a note on a parent entity. The parent entity type is supplied as the `entityType` (PascalCase) query parameter; `entityId` and `note` are supplied in the request body. - [Delete Note](https://docs.go.aiinsurance.io/api-reference/field-model-notes/delete-note.md): Soft-deletes a note by ID. The `entityType` (PascalCase) query parameter scopes the delete. - [Get Note](https://docs.go.aiinsurance.io/api-reference/field-model-notes/get-note.md): Returns a single note by ID. The `entityType` (PascalCase) query parameter scopes the lookup to that parent type. - [List Notes](https://docs.go.aiinsurance.io/api-reference/field-model-notes/list-notes.md): Returns a paginated list of notes for a parent entity, newest first. - [Update Note](https://docs.go.aiinsurance.io/api-reference/field-model-notes/update-note.md): Updates a note's body. Only the `note` field is updatable; supply it in the request body. The `entityType` (PascalCase) query parameter scopes the update. - [Create Organization](https://docs.go.aiinsurance.io/api-reference/field-model-organizations/create-organization.md): Creates an Organization via the unified entity CRUD pipeline. - [Delete Organization](https://docs.go.aiinsurance.io/api-reference/field-model-organizations/delete-organization.md): Soft-deletes an Organization by ID. The entity will no longer appear in list or get operations. - [Get Organization](https://docs.go.aiinsurance.io/api-reference/field-model-organizations/get-organization.md): Returns a single Organization by ID. The response is the generic entity envelope — all organization field values are inside `fieldModelV1Data`. No cross-entity data is enriched onto the response; query related data separately. - [List Organizations](https://docs.go.aiinsurance.io/api-reference/field-model-organizations/list-organizations.md): Returns a paginated list of Organizations. - [Update Organization](https://docs.go.aiinsurance.io/api-reference/field-model-organizations/update-organization.md): Updates an Organization. The request body is a flat JSON object with field `referenceId`s as keys — the same shape as create. - [Create Person](https://docs.go.aiinsurance.io/api-reference/field-model-persons/create-person.md): Creates a Person via the unified entity CRUD pipeline. - [Delete Person](https://docs.go.aiinsurance.io/api-reference/field-model-persons/delete-person.md): Soft-deletes a Person by ID. The entity will no longer appear in list or get operations. - [Get Person](https://docs.go.aiinsurance.io/api-reference/field-model-persons/get-person.md): Returns a single Person by ID. The response is the generic entity envelope — all person field values are inside `fieldModelV1Data`. No cross-entity data is enriched onto the response; query related data separately. - [List Persons](https://docs.go.aiinsurance.io/api-reference/field-model-persons/list-persons.md): Returns a paginated list of Persons. - [Update Person](https://docs.go.aiinsurance.io/api-reference/field-model-persons/update-person.md): Updates a Person. The request body is a flat JSON object with field `referenceId`s as keys — the same shape as create. - [Cancel Policy Transaction](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/cancel-policy-transaction.md): Cancels a policy as of a given date via a CANCEL transaction. The policy must be active at the cancellation date. - [Delete Policy Transaction](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/delete-policy-transaction.md): Deletes the most recent transaction on a policy, rolling the policy back to its prior version. Only the most recent transaction (highest `policyVersion`) can be deleted — attempting to delete an older transaction returns a 400 error. - [Endorse Policy Transaction](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/endorse-policy-transaction.md): Applies an ENDORSE transaction to an existing policy. An endorsement carries one or more of **five channels**. The engine recomputes segments after applying every channel — adjacent segments with identical data are automatically merged — and the response includes the full resulting segment set. - [Get Policy Transaction](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/get-policy-transaction.md): Returns a single policy transaction by ID, including its per-field deltas. Each delta describes a specific field change (add, remove, or overwrite) within a date range. - [Get Policy Version](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/get-policy-version.md): Returns a specific version of a policy with all its derived segments. - [List Policies](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/list-policies.md): Returns a paginated list of policies, resolving each policy to its latest version (or the latest version as of `timeTravelBackToDate`), then applying segment scope filters and field-level JSONB filters. - [List Policy Transactions](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/list-policy-transactions.md): Returns a paginated list of all transactions for a policy, ordered by `policyVersion`. Each transaction represents an immutable change set (new business, endorsement, cancellation, reinstatement, or renewal). - [List Policy Versions](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/list-policy-versions.md): Lists policy versions across all policies. Unlike "List Policies" (which resolves each policy to one version), this endpoint returns every `(policy, version)` pair that matches the filters. A single policy can appear multiple times if multiple versions match. - [List Single Policy Versions](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/list-single-policy-versions.md): Returns a paginated list of all versions for a single policy. Each version is a snapshot of the policy state produced by a transaction. Use this to see how a policy changed over time, or to find versions that match specific field criteria. - [New Business Transaction](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/new-business-transaction.md): Creates a new policy via a NEW_BUSINESS transaction. This is the entry point for the transaction-based policy lifecycle. The transaction produces a single segment covering the full policy term. - [Reinstate Policy Transaction](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/reinstate-policy-transaction.md): Reinstates a previously cancelled policy as of a given date via a REINSTATE transaction. The policy must be cancelled at the reinstatement date. - [Renew Policy Transaction](https://docs.go.aiinsurance.io/api-reference/field-model-policy-transactions/renew-policy-transaction.md): Creates a new policy via a RENEW transaction, linking it to a previous policy. RENEW is NEW_BUSINESS plus a renewal link: the new policy term must start on or after the previous policy's end date. - [Validate Policies (Batch)](https://docs.go.aiinsurance.io/api-reference/field-model-policy-validation/validate-policies-batch.md): Runs data consistency checks against multiple policies in a single request and returns paginated results. This is a read-only diagnostic endpoint — no data is modified. - [Validate Policy](https://docs.go.aiinsurance.io/api-reference/field-model-policy-validation/validate-policy.md): Runs data consistency checks against a single policy and returns detailed results. This is a read-only diagnostic endpoint — no data is modified. - [Create Quote](https://docs.go.aiinsurance.io/api-reference/field-model-quotes/create-quote.md): Creates a Quote via the unified entity CRUD pipeline. - [Delete Quote](https://docs.go.aiinsurance.io/api-reference/field-model-quotes/delete-quote.md): Soft-deletes a Quote by ID. The entity will no longer appear in list or get operations. - [Get Quote](https://docs.go.aiinsurance.io/api-reference/field-model-quotes/get-quote.md): Returns a single Quote by ID. The response is the generic entity envelope — all quote field values are inside `fieldModelV1Data`. No cross-entity data is enriched onto the response; query related data (e.g. linked submissions) separately. - [List Quotes](https://docs.go.aiinsurance.io/api-reference/field-model-quotes/list-quotes.md): Returns a paginated list of Quotes. - [Update Quote](https://docs.go.aiinsurance.io/api-reference/field-model-quotes/update-quote.md): Updates a Quote. The request body is a flat JSON object with field `referenceId`s as keys — the same shape as create. - [Create Submission](https://docs.go.aiinsurance.io/api-reference/field-model-submissions/create-submission.md): Creates a Submission via the unified entity CRUD pipeline. - [Delete Submission](https://docs.go.aiinsurance.io/api-reference/field-model-submissions/delete-submission.md): Soft-deletes a Submission by ID. The entity will no longer appear in list or get operations. - [Get Submission](https://docs.go.aiinsurance.io/api-reference/field-model-submissions/get-submission.md): Returns a single Submission by ID. The response is the generic entity envelope — all submission field values are inside `fieldModelV1Data`. No cross-entity data is enriched onto the response; query related data (e.g. linked quotes) separately. - [List Submissions](https://docs.go.aiinsurance.io/api-reference/field-model-submissions/list-submissions.md): Returns a paginated list of Submissions. - [Update Submission](https://docs.go.aiinsurance.io/api-reference/field-model-submissions/update-submission.md): Updates a Submission. The request body is a flat JSON object with field `referenceId`s as keys — the same shape as create. - [Compare Configuration](https://docs.go.aiinsurance.io/api-reference/fmv1-configuration/compare-configuration.md): Compares an FMV1 configuration spreadsheet against the current database state and returns a diff summary. Each configuration category (field definitions, option sets, custom objects, etc.) includes counts of additions, updates, deletes, and unchanged items. - [Export Configuration](https://docs.go.aiinsurance.io/api-reference/fmv1-configuration/export-configuration.md): Exports the company's FMV1 configuration to an existing Google Spreadsheet. The spreadsheet is overwritten with the current configuration including field definitions, option sets, custom objects, card definitions, card sections, and field locations. - [Generate Configuration Spreadsheet](https://docs.go.aiinsurance.io/api-reference/fmv1-configuration/generate-configuration-spreadsheet.md): Creates a new Google Spreadsheet with the FMV1 configuration template structure. The spreadsheet contains all the required sheets, headers, and formatting but no data — it is a blank template ready to be filled in. - [Import Configuration](https://docs.go.aiinsurance.io/api-reference/fmv1-configuration/import-configuration.md): Imports FMV1 configuration from a Google Spreadsheet into the database. This runs the full pipeline: validate, parse, compare, and apply changes. - [Validate Configuration Spreadsheet](https://docs.go.aiinsurance.io/api-reference/fmv1-configuration/validate-configuration-spreadsheet.md): Validates the structure and data of an FMV1 configuration spreadsheet without applying any changes. Use this to check for errors before running an import. - [Overview](https://docs.go.aiinsurance.io/api-reference/notes/overview.md) - [Object Primitives](https://docs.go.aiinsurance.io/api-reference/object-primitives/overview.md): Built-in object types used as field values across FMV1 create/update payloads (Address, CoverageLimit, Currency, Date). - [Overview](https://docs.go.aiinsurance.io/api-reference/organization/overview.md) - [Overview](https://docs.go.aiinsurance.io/api-reference/overview.md) - [Overview](https://docs.go.aiinsurance.io/api-reference/parsing/overview.md): Extract structured data from unstructured insurance documents - [Overview](https://docs.go.aiinsurance.io/api-reference/person/overview.md) - [Concepts](https://docs.go.aiinsurance.io/api-reference/policies/concepts.md): How transactions, deltas, segments, and versions work in the Policy API - [Effective Dates & the Policy Timeline](https://docs.go.aiinsurance.io/api-reference/policies/effective-dates.md): The two clocks behind every transaction — effectiveDate vs transactionTimestamp — and the one rule that ties them together - [Lifecycle Walkthrough](https://docs.go.aiinsurance.io/api-reference/policies/lifecycle-walkthrough.md): A step-by-step trace through 9 transactions showing how segments evolve - [Overview](https://docs.go.aiinsurance.io/api-reference/policies/overview.md): Transaction-based policy management with temporal versioning - [Overview](https://docs.go.aiinsurance.io/api-reference/quotes/overview.md): Manage quotes using the Field Model V1 data structure - [Overview](https://docs.go.aiinsurance.io/api-reference/rating/overview.md): Invoke the rating engine or supply external rating results via API - [Roadmap](https://docs.go.aiinsurance.io/api-reference/roadmap.md): Where the v1 API is headed — upcoming capabilities and how the pieces fit together - [Overview](https://docs.go.aiinsurance.io/api-reference/submissions/overview.md): Group related quotes under a single submission - [Create Task](https://docs.go.aiinsurance.io/api-reference/tasks/create-task.md): Creates a new task for the company. - [Delete Task](https://docs.go.aiinsurance.io/api-reference/tasks/delete-task.md): Soft deletes a task by ID. The task will no longer be returned in list or get operations. - [Get Task](https://docs.go.aiinsurance.io/api-reference/tasks/get-task.md): Returns a single task by ID. - [List Tasks](https://docs.go.aiinsurance.io/api-reference/tasks/list-tasks.md): Returns a paginated list of tasks for the company. - [Overview](https://docs.go.aiinsurance.io/api-reference/tasks/overview.md) - [Update Task](https://docs.go.aiinsurance.io/api-reference/tasks/update-task.md): Partially updates a task. Send only the fields you want to change — omitted fields are left unchanged. - [Welcome](https://docs.go.aiinsurance.io/homepage.md): Build on AI Insurance ## OpenAPI Specs - [generated-external-api](https://docs.go.aiinsurance.io/openapi/generated-external-api.yaml)