Routes

This is a preview version of the API intended for early testing and integration. Preview versions are not stable and may include breaking changes before general availability.

SE · Intelligence API · 2026-04-01

Rule-based explanations over a person's or a set of collections' products

POSThttps://api.anessa.co/intelligence/explanations

Draft. Resolves the sources to one person's wealth and insurance portfolio, evaluates the client's catalogue of explanations against it, and returns the entries that apply (ranked, with evidence, targets and a fixed template text) together with the outcome of every enabled entry. The entries are deterministic. For clients that enabled it, one optional model-written paragraph (summary) restates the entries; it is marked aiGenerated and is UNAVAILABLE, never an error, when the model fails.

Request

Header Parameters

Insurely-Versionstringrequired

The API version to use, as YYYY-MM-DD. Must match the version of the endpoint you are targeting. A request without it, or with a version older than the client's minimum API version, is served by the client's minimum API version.

Possible Enum values are 2026-04-01.

Request Body

languagestring

ISO 639-1 language of the template texts (en, sv). Unsupported or absent falls back to English; the response says which was used

sourcesArray<PortfolioSource>required

One USER, or one or more COLLECTIONs

Responses

The entries that apply, ranked, and the outcome of every enabled entry.

Body

computedAtstring[date-time]
explanationsArray<Explanation>
languagestring
statusstring
Possible Enum values are READY or NO_DATA.
cURL
curl https://api.anessa.co/intelligence/explanations \
  -H "authorization-token: <authorization-token>" \
  -H "Insurely-Version: 2026-04-01" \
  -H "Content-Type: application/json" \
  -d '{
  "language": "en",
  "sources": [
    {
      "kind": "USER",
      "userId": "b7e4d2a1-5c3f-4a8e-9d16-2f0c8e7a3b95"
    }
  ]
}' \
  -X POST
RESPONSE 200
{
  "computedAt": "2026-11-05T09:14:27.512Z",
  "evaluated": [
    {
      "id": "insurance.travel_covered_twice",
      "outcome": "APPLIES",
      "source": "RULE",
      "version": 1
    },
    {
      "id": "insurance.duplicate_cover",
      "outcome": "NOT_APPLICABLE",
      "source": "RULE",
      "version": 1
    },
    {
      "id": "insurance.renewing_soon",
      "outcome": "APPLIES",
      "source": "RULE",
      "version": 1
    },
    {
      "id": "insurance.partial_vehicle_cover",
      "outcome": "INSUFFICIENT_DATA",
      "source": "RULE",
      "version": 1
    },
    {
      "id": "insurance.personal_protection_gap",
      "outcome": "APPLIES",
      "source": "RULE",
      "version": 1
    },
    {
      "id": "insurance.premium_concentration",
      "outcome": "APPLIES",
      "source": "RULE",
      "version": 1
    },
    {
      "id": "insurance.multiple_insurers",
      "outcome": "APPLIES",
      "source": "RULE",
      "version": 1
    },
    {
      "id": "wealth.high_fee_holding",
      "outcome": "APPLIES",
      "source": "RULE",
      "version": 1
    },
    {
      "id": "wealth.loan_above_typical_rate",
      "outcome": "APPLIES",
      "source": "RULE",
      "version": 1
    }
  ],
  "explanations": [
    {
      "category": "OVERLAP",
      "evidence": {
        "includedInType": "houseContentInsurance",
        "standaloneSubType": "travelInsurance"
      },
      "id": "insurance.travel_covered_twice",
      "rank": 1,
      "source": "RULE",
      "targets": [
        {
          "collectionId": "e2a8f4c6-1b9d-4f3a-8e7c-5a0b2d6f9e13",
          "id": "60412873",
          "kind": "POLICY"
        },
        {
          "collectionId": "7d3b9e1f-6a2c-4b8d-9f5e-1c4a7e2b8d60",
          "id": "RS-559301",
          "kind": "POLICY"
        }
      ],
      "text": {
        "description": "There is a separate travel insurance, and the home insurance also includes travel cover.",
        "title": "Travel may be covered twice"
      },
      "version": 1
    },
    {
      "category": "RENEWAL",
      "evidence": {
        "renewalDate": "2026-12-01",
        "subType": "carInsurance"
      },
      "id": "insurance.renewing_soon",
      "rank": 2,
      "source": "RULE",
      "targets": [
        {
          "collectionId": "e2a8f4c6-1b9d-4f3a-8e7c-5a0b2d6f9e13",
          "id": "60412874",
          "kind": "POLICY"
        }
      ],
      "text": {
        "description": "The renewal date comes from the collected policy.",
        "title": "Car insurance renews on 1 December"
      },
      "version": 1
    },
    {
      "category": "COVERAGE",
      "id": "insurance.personal_protection_gap",
      "rank": 3,
      "source": "RULE",
      "targets": [],
      "text": {
        "description": "There is no life, accident or income cover among the collected policies.",
        "title": "No personal protection found"
      },
      "version": 1
    },
    {
      "category": "CONCENTRATION",
      "evidence": {
        "policiesWithoutPremium": 0,
        "premiumSharePct": 46.3,
        "subType": "carInsurance"
      },
      "id": "insurance.premium_concentration",
      "rank": 4,
      "source": "RULE",
      "targets": [
        {
          "collectionId": "e2a8f4c6-1b9d-4f3a-8e7c-5a0b2d6f9e13",
          "id": "60412874",
          "kind": "POLICY"
        }
      ],
      "text": {
        "description": "The largest share of what is paid for insurance each year.",
        "title": "Car insurance is 46.3 % of the yearly premium"
      },
      "version": 1
    },
    {
      "category": "CONSOLIDATION",
      "evidence": {
        "insurerCount": 2,
        "policiesWithoutInsurer": 0
      },
      "id": "insurance.multiple_insurers",
      "rank": 5,
      "source": "RULE",
      "targets": [],
      "text": {
        "description": "The policies are spread over several insurers.",
        "title": "Policies at 2 insurers"
      },
      "version": 1
    },
    {
      "category": "FEES",
      "evidence": {
        "annualFeeCost": 3448,
        "currency": "SEK",
        "feePct": 1.85,
        "holding": "Nordic Small Cap Fund",
        "isin": "SE0000000037"
      },
      "id": "wealth.high_fee_holding",
      "rank": 6,
      "source": "RULE",
      "targets": [
        {
          "collectionId": "4f6a9c2e-8b1d-4e7a-a3c5-0d9e2f1b6a84",
          "id": "a91f3c5e-7d2b-4e8a-b6c4-3e1d9f7a2c58",
          "kind": "ACCOUNT"
        }
      ],
      "text": {
        "description": "1.9 % a year, about 3,448 SEK per year.",
        "title": "Nordic Small Cap Fund has a high fee"
      },
      "version": 1
    },
    {
      "category": "LOANS",
      "evidence": {
        "currency": "SEK",
        "potentialAnnualSaving": 16800,
        "ratePct": 4.2,
        "typicalRatePct": 3.5
      },
      "id": "wealth.loan_above_typical_rate",
      "rank": 7,
      "source": "RULE",
      "targets": [
        {
          "collectionId": "4f6a9c2e-8b1d-4e7a-a3c5-0d9e2f1b6a84",
          "id": "c4e8a2f6-9b3d-4c1e-a7f5-8d2b6e0c4a19",
          "kind": "ACCOUNT"
        }
      ],
      "text": {
        "description": "4.2 % against a typical 3.5 %, about 16,800 SEK a year in difference.",
        "title": "The loan is priced above the typical rate"
      },
      "version": 1
    }
  ],
  "input": {
    "complete": true,
    "sources": [
      {
        "kind": "USER",
        "sourceId": "b7e4d2a1-5c3f-4a8e-9d16-2f0c8e7a3b95",
        "status": "OK"
      },
      {
        "kind": "COLLECTION",
        "sourceId": "2b8d4f6a-0c3e-4a7b-9e1d-6f4a8c2e0b57",
        "status": "SUPERSEDED"
      },
      {
        "collectedAt": "2026-10-30",
        "kind": "COLLECTION",
        "sourceId": "4f6a9c2e-8b1d-4e7a-a3c5-0d9e2f1b6a84",
        "status": "OK"
      },
      {
        "collectedAt": "2026-10-30",
        "kind": "COLLECTION",
        "sourceId": "9c1e7b3a-2d5f-4c8e-b6a0-7e3d1f9a5c26",
        "status": "OK"
      },
      {
        "kind": "COLLECTION",
        "sourceId": "3a5c7e9b-4d1f-4a6c-8b2e-9f0d3c5a7e41",
        "status": "SUPERSEDED"
      },
      {
        "collectedAt": "2026-10-28",
        "kind": "COLLECTION",
        "sourceId": "7d3b9e1f-6a2c-4b8d-9f5e-1c4a7e2b8d60",
        "status": "OK"
      },
      {
        "collectedAt": "2026-10-28",
        "kind": "COLLECTION",
        "sourceId": "e2a8f4c6-1b9d-4f3a-8e7c-5a0b2d6f9e13",
        "status": "OK"
      }
    ]
  },
  "language": "en",
  "rulesVersions": {
    "insurance": 2,
    "wealth": 1
  },
  "status": "READY"
}