Skip to main content

Reinsurance Submission Overview

Read reinsurance workbooks cell by cell, map labels into a client target structure, check the figures, and export the facts with the /v1/submissions API.

Every endpoint on this page answers 404 in a workspace that has not added the Reinsurance Submission app (catalog slug submissions). Add it from the Apps catalog or with POST /v1/apps and slug submissions; GET /v1/apps lists the apps a workspace has added.

The Reinsurance Submission app reads every reinsurance workbook of a workspace cell by cell, maps the labels it finds into a client target structure, checks the figures against each other, and exports the facts in the client's own layout. A cedent sends a workbook of loss triangles, premium tables and exposure schedules; the app turns each one into rows of facts, each carrying a metric, a year, the field values that qualify it, and the exact sheet and cell it was read from. The /v1/submissions routes expose the same service the app screen uses.

These endpoints belong to the Reinsurance Submission app (catalog slug submissions). A workspace uses them after adding the app; GET /v1/apps lists the workspace's apps by slug. A submission is a top-level workbook document (.xlsx, .xlsm or .xls) of the workspace. Workbooks embedded inside another workbook belong to their parent's capture and are not listed on their own.

The working loop has five steps. Capture reads a workbook into tables of cell values. Map projects those tables into facts under one target structure (a spec_id). Review settles the label mappings: rule-made mappings are confirmed without a model call, and an agentic review confirms, fixes or asks about the rest, leaving only a few questions for the client's experts. Check compares figures with the totals and identities they should add up to. Export returns the facts in the structure's own columns, order and names.

Authentication uses a tlnc_ API key or an OAuth token in the Authorization: Bearer header. Reads need the read scope. Every write (POST /v1/submissions/process, /review, /questions/answer and /:documentId/fields) needs the write scope and the key's person to be a member or above in the workspace; a key created by a Viewer is refused with 403 insufficient_role. Every response of this surface wraps its payload in a data field.

Worked Example: From Workbooks to Exported Facts

List the workspace's target structures and pick one, then capture and map every workbook under it. A dry run first returns the plan without running anything.

cURL: 1. Find the structure, plan the run, run it

curl "https://api.talonic.com/v1/submissions/specs" \
  -H "Authorization: Bearer $TALONIC_API_KEY"

curl -X POST "https://api.talonic.com/v1/submissions/process" \
  -H "Authorization: Bearer $TALONIC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"spec_id": "5d1c0a52-0c1e-4b64-9d2e-7a3c4f1e9b10", "dry_run": true}'

curl -X POST "https://api.talonic.com/v1/submissions/process" \
  -H "Authorization: Bearer $TALONIC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"spec_id": "5d1c0a52-0c1e-4b64-9d2e-7a3c4f1e9b10"}'

Then start the agentic review of the structure's label mappings, poll its status, and answer whatever questions remain. When the open questions are settled, export the facts.

cURL: 2. Review the labels, then export

curl -X POST "https://api.talonic.com/v1/submissions/review" \
  -H "Authorization: Bearer $TALONIC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"spec_id": "5d1c0a52-0c1e-4b64-9d2e-7a3c4f1e9b10"}'

curl "https://api.talonic.com/v1/submissions/review?spec_id=5d1c0a52-0c1e-4b64-9d2e-7a3c4f1e9b10" \
  -H "Authorization: Bearer $TALONIC_API_KEY"

curl "https://api.talonic.com/v1/submissions/export?spec_id=5d1c0a52-0c1e-4b64-9d2e-7a3c4f1e9b10" \
  -H "Authorization: Bearer $TALONIC_API_KEY"

Response: Export (excerpt)

{
  "data": {
    "name": "Client long format",
    "header": ["Metric", "Year", "LoB Client", "Figure", "Document", "Source"],
    "rows": [
      ["Incurred Loss", "2023", "Homeowners", 1250000, "utica-first-2024.xlsx", "Triangles!D14"]
    ]
  }
}
Reads and writes act on one workspace, the one the authenticated key belongs to. Counts of facts, metrics and checks in the inbox refer to the target structure named by spec_id; without it they are 0 and no submission reports mapped.

Frequently asked questions

What is a target structure?+
The client format that submissions are mapped into: a list of fields and metrics in the client's own column order and names. Its id is the spec_id that most routes on this surface take. GET /v1/submissions/specs lists the structures of the workspace, latest update first.
Why does a workbook not appear in the inbox?+
Only top-level workbook documents appear. A workbook embedded in another workbook belongs to its parent's capture, and its cells show up as facts, checks and sources of the parent with the embedded path in the embedded field. Files that are not .xlsx, .xlsm or .xls are not submissions.
Which key can call the write routes?+
A key with the write scope whose person is a member or above in the workspace. The role is read live from the membership, so a demoted person loses write access at once. A key without a person, or created by a Viewer, is refused with 403.