Coming Soon: 2025.09.b

🥥

Highlights

The 2025.09.b release introduces updates to the Accumulation API.

Moody's publishes preliminary information to inform stakeholders ahead of the targeted Intelligent Risk Platform update. Note that these described features are not guaranteed for the next update or any subsequent updates and may be changed without notice. The definitive list of features will be provided in the Changelogs at the time of the official release.

Learn More

Developer Portal Access Controls

Beginning September 4, 2025 the Moody's Insurance Solutions Developer Portal will require that all visitors log in using an Intelligent Risk Platform user account and credentials.

Every Intelligent Risk Platform developer that requires access to the developer portal will need their own user account and login credentials. Licensed users can log into the Moody's Insurance Solutions Developer Portal using their email address and password.

Contact your Intelligent Risk Platform client success manager for more information.

Admin Data API

Search Archives

The Search Archives operation (GET /platform/admindata/v1/archives) returns a list of securables that are marked as deleted in the platform.

An archive is a copy of a database that is stored in the Intelligent Risk Platform Data Vault. Data Vault is a separately licensed application that enables Intelligent Risk Platform tenants to manage archives of data servers and databases.

Data Vault supports three types (sourceType) of archives: deleted databases, snapshot databases, and archive databases.

This operation now returns new properties: archiveType, archiveSubType, createdBy, exposureNameName:

[
  {
  "archiveId" : 920101,
  "archiveName" : "_001_EDM_xyz",
  "archiveType" : "database",
  "archiveSubType" : "edm",
  "serverType" : "databridge",
  "serverName" : "databridge-1",
  "securableId" : 1949951,
  "securableName" : "001_ExposureSetName",
  "securableType": "exposureSet",
  "sourceTypeId" : 1,
  "sourceType" : "Archive",
  "storageTypeId" : 1,
  "storageType" : "Permanent",
  "sizeInMb" : 16.0,
  "owner" : "[email protected]",
  "createdBy" : "[email protected]",
  "createdAt" : "2021-04-17T23:01:10.000Z",
  "archivedBy" : "[email protected]",
  "archivedAt" : "2025-04-17T23:01:10.000Z",
  "expirationDate" : "9999-12-31T23:59:59.000Z",
  "tagIds" : [1,2],
  "groupIds" : [
                      "f3426c9e-ad04-46f3-9bbc-52af40adf46a"
                     ,"7ac9780d-a6b0-47b1-994d-3508ee115473"
                     ,"bd40473e-e4ab-4093-8008-ddf85a005046"
                    ],
  "archiveDetails":
    {
      "exposureNameName" : "001_EDM",
      "databaseSchemaVersion": "25",
      "dataVersion": "21.0.0",
      "appRegisteredFrom": "RM",
      "thumbPrint": "EUW1.20250520.50",
      "any_other_field_looking_for_inputs" : "value"
    }
  },

This operation supports response filtering based the value of a subset of properties. Depending on the property, you may use a combination of comparison operators, list operators, and logical operators.

FieldComparisonList
archiveId=, !=, >, <, >=, <=IN, NOT IN
archiveName=, !=, LIKE, NOT LIKEIN, NOT IN
archiveType=, !=, LIKE, NOT LIKEIN, NOT IN
archiveSubType=, !=, LIKE, NOT LIKEIN, NOT IN
serverType=, !=, LIKE, NOT LIKEIN, NOT IN
serverName=, !=, LIKE, NOT LIKEIN, NOT IN
securableId=, !=, >, <, >=, <=IN, NOT IN
securableName=, !=, LIKE, NOT LIKEIN, NOT IN
securableType=, !=, LIKE, NOT LIKEIN, NOT IN
sourceTypeId=, !=, >, <, >=, <=IN, NOT IN
storageTypeId=, !=, LIKE, NOT LIKEIN, NOT IN
sizeInMb=, !=, >, <, >=, <=
owner=, !=, LIKE, NOT LIKEIN, NOT IN
createdBy=, !=, LIKE, NOT LIKEIN, NOT IN
createdAt=, !=, >, >=, <, <=, LIKE, NOT LIKE
archivedBy=, !=, LIKE, NOT LIKEIN, NOT IN
archivedAt=, !=, >, >=, <, <=, LIKE, NOT LIKE
expirationDate=, !=, >, >=, <, <=, LIKE, NOT LIKE
tagIds=, !=IN, NOT IN
groupIds=, !=, >, >=, <, <=, LIKE, NOT LIKE

Returned data can be sorted by the following properties: archiveId, archiveName, archiveSubType, archiveType, archivedAt, archivedBy, createdAt, createdBy, expirationDate, groupIds, owner, securableId, securableName, securableType, serverName, serverType, sizeInMb, sourceTypeId, storageTypeId, and tagIds.

Get Archive

The Get Archive operation (GET /platform/admindata/v1/archives/{archiveId}) returns the specified archive.

This operation now returns new properties: archiveSubType, archiveType, createdBy, and exposureNameName.

PropertyTypeDescription
archiveSubTypestringType of archive subtype, e.g. edm, rdm, unknown.
archiveTypestringType of archive, e.g. database.
createdBystringEmail address of principal that created archive.
exposureNameNamestringName of exposure (EDM/exposure).

This data returned in the request include deleted resources including the name, ID, type and date of deletion:

{
  "archiveId": 920101,
  "archiveName": "_001_EDM_xyz",
  "archiveType": "database",
  "archiveSubType": "edm",
  "serverType": "databridge",
  "serverName": "databridge-1",
  "securableId": 1949951,
  "securableName": "001_ExposureSetName",
  "securableType": "exposureSet",
  "sourceTypeId": 1,
  "sourceType": "Archive",
  "storageTypeId": 1,
  "storageType": "Permanent",
  "sizeInMb": 16.0,
  "owner": "[email protected]",
  "createdBy": "[email protected]",
  "createdAt": "2021-04-17T23:01:10.000Z",
  "archivedBy": "[email protected]",
  "archivedAt": "2025-04-17T23:01:10.000Z",
  "expirationDate": "9999-12-31T23:59:59.000Z",
  "tagIds": [1, 2],
  "groupIds": [
    "f3426c9e-ad04-46f3-9bbc-52af40adf46a",
    "7ac9780d-a6b0-47b1-994d-3508ee115473",
    "bd40473e-e4ab-4093-8008-ddf85a005046"
  ],
  "archiveDetails": {
    "files": [
      {
        "url": "https://XXXXXXXXXXXXX.XXXXXXXXXXXXXX/XXXXXXXXXXXXXXX",
        "type": "MDF"
      },
      {
        "url": "https://XXXXXXXXXXXXX.XXXXXXXXXXXXXX/XXXXXXXXXXXXXXX",
        "type": "LDF"
      }
    ],
    "exposureNameName": "001_EDM",
    "databaseSchemaVersion": "25",
    "dataVersion": "21.0.0",
    "appRegisteredFrom": "RM",
    "thumbPrint": "EUW1.20250520.50",
    "any_other_field_looking_for_inputs": "value"
  }
}

The Get Archive operation (GET /platform/admindata/v1/archives/{archiveId}) returns the specified archive.

This operation now returns new properties: archiveSubType, archiveType, createdBy, and exposureNameName.

Restore Database from Archive

The Restore Database from Archive operation (POST /platform/admindata/v1/archives/{archiveId}/restore) restores database and its children from the specified archive.

An archive is a copy of a database that is stored in the Intelligent Risk Platform Data Vault. Data Vault supports three types of archives: Delete Database, Snapshot Database, and Archive Database.

To restore an archive, the client application must be assigned the Data Admin role. The client can specify whether the archived item is restored to an existing or new securable.

  • If an archive is restored to an existing securable, the name of the database can be defined in the request.
  • If an archive is restored to a new securable, the name, owner, and groups must be defined for the new securable.

To perform this operation, the client must be assigned the Data Admin role. This operation requires the RI-DATAVAULT entitlement.

Update Archive

The Update Archive operation (PATCH /platform/admindata/v1/archives/{archiveId}) updates the specified archive.

Update options depend on the archive's storageType property:

  • If temporary, the archive can be reset as a permanent with a specific expiration date. If no expirationDate is specified, the expirationDate is automatically set to Dec-31-9999.
  • If permanent, the expirationDate can be updated to a future date.

This operation requires the RI-DATAVAULT entitlement.

Get Securable

The Get Securable operation (POST /platform/admindata/v1/securables/{securableId}/archive) returns the specified securable.

A securable is a logical container of data that is owned by a group or principal. The owner of a securable has exclusive access to that securable and all child data. For example, the owner of an exposure set controls access to the exposures, analysis results, and variations in that exposure set.

Delete Securable

The Delete Securable operation (DELETE /platform/admindata/v1/securables/{securableId}) deletes the exposure set.

A securable is a logical container of data that is owned by a group or principal. The owner of a securable has exclusive access to that securable and all child data. For example, the owner of an exposure set controls access to the exposures, analysis results, and variations in that exposure set.

This operation performs a "soft delete" of the exposure set and all of its child objects. All temporary exposure sets will expire in 14 days.

The client must be assigned the Data Admin role.

Export API

The Create Export Job operation (POST /platform/export/v1/jobs) supports the definition and submission of the different types of export jobs.

The RESULTS job type now supports the "shuffling" (reordering) of simulation periods in exported exported period loss tables (PLTs). This process, known as PLT shuffling, facilitates the combination of exported PLT (i.e. LOSS_TABLES) data outside the Intelligent Risk Platform.

Without PLT shuffling, it can be difficult to combine LOSS_TABLES data computed for single HD analysis results with that computed for a grouped HD analysis result. By default, exported period loss table (PLT) data computed in a grouped HD analysis result is "shuffled" (reordered) if the analysis consists of two or more samples (i.e. possible outcomes of an event). Exported data from single HD analysis result is not shuffled by default.

This difference can cause misalignment that can prevent you from accurately combining analysis results from single and grouped analyses in external systems.

The optional shuffledPlt body parameter accepts a Boolean value. If true and the export type parameter is RESULTS, the operation exports a shuffled version of a single HD analysis. Multiple HD analysis results or grouped HD analysis result data cannot be shuffled.

This operation returns a 400 error response, if the nonWeightedPlt parameter is false and shuffledPlt parameter is true in the request or if the shuffledPlt parameter is true and the metricType is LOSS_TABLES.

PLT cannot be shuffled if results are exported as ELT (metricType = ELT) or if PLT is unweighted (nonWeightedPlt=false).

This option is only valid if the export type is RESULTS.

The following parameters must be specified in a request: The exportType must be RESULTS, the resourceUris parameter must specify the resource URI of single HD analysis result, the nonWeightedPlt and shuffledPlt must be true, and the loss details metricType cannot be LOSS_TABLES: .

{
"exportType": "RESULTS",
"resourceType": "analyses",
"settings": {
  "fileExtension": "CSV",
  "additionalOutputs": [
    "DAMAGE",
    "HAZARD",
    "UNCERTAINTY"
   ],
  "lossDetails": [
     {
      "metricType": "STATS",
      "outputLevels": [
        "Cresta"
       ]
     }
   ],
  "nonWeightedPlt": true
  "shuffledPlt": true
 },
"resourceUris": [
  "/platform/riskdata/v1/analyses/555"
 ]
}

Risk Data API

Get Analysis Result

The Analysis Result operation (/platform/riskdata/v1/analyses/{analysisId}) returns the specified analysis result.

This operation now returns several new properties in the additionalProperties object: multiFamilyFactor, multiFamilyRate, otherFactor, otherRate, scaleBiValues, scaleBuildingValues, scaleContentValues, scaleFactor, singleFamilyFactor, and singleFamilyRate.

Get Rollup Pricing Statistics

The Search Rollup Pricing Statistics operation (GET /platform/riskdata/v1/analyses/{analysisId}/rollup-pricing-stats) returns pricing statistics for the specified rollup analysis.

[
  {
    "positionName": "string",
    "positionUuid": "string",
    "positionType": "string",
    "pricingType": "string",
    "price": 0,
    "capital": 0,
    "rateOnLine": 0,
    "lossOnLineMean": 0,
    "lossOnLineStdDev": 0,
    "probabilityOfAttachment": 0,
    "probabilityOfExhaustion": 0,
    "probabilityOfBreakEven": 0,
    "combinedRatioMean": 0,
    "combinedRatioStdDev": 0,
    "returnOnCapitalMean": 0,
    "returnOnCapitalStdDev": 0,
    "riskMeasures": [
      {
        "identifier": "string",
        "metricType": "Mean",
        "value": 0
      }
    ],
    customMeasures": [
      {
        "identifier": "string",
        "name": "string",
        "formula": "string"
        "value": 0
      }
    ]
  }
]

Exposure Bulk Edit

The Exposure Bulk Edit operation (POST /platform/riskdata/v1/exposures/{exposureId}/bulk-edit) creates, updates, or deletes multiple exposures (portfolios, accounts, locations, policies, or treaties) in a single request.

The request body defines an object that consists of five arrays: a portfolios array, accounts array, locations array, policies, and treaties array. Where parent-child relationships exist between exposures (e.g. between a portfolio and its accounts, or accounts and locations), child exposures may be nested within the parent exposure.

This operation now manages response objects differently depending on the number of characters returned.

  • If fewer than 10,000 characters are returned, the response returns all resource data.
  • If more than 10,000 characters are returned, the response returns only the Account and Portfolio IDs.
  • If more than 100,000 characters are returned, the response sets the referDownloadLink value to true and resource data can be download from the download link.

Bulk Create Risk Source

The Bulk Create Risk Source operation operation (GET /platform/riskdata/v1/risksources/bulk-create) creates multiple risk sources for the specified program or business hierarchy.

This operation now supports the optional tile body parameter. If true, the PLT data returned in response is "tiled" (extrapolated) if date range or period ranges are insufficient to match the simulation settings of the analysis. This option enables TreatyIQ clients to model the risk to treaties, if the dates of the underlying loss tables do not align with the treaty dates, without the need to apply workarounds.

A risk source is a representation of risk to a cedant that underlies a program (reinsurance program). This API supports the creation of two types of risk sources: PORTFOLIO or RISKANALYSIS. Every risk source created in a bulk operation is attached to the specified parent (BUSINESSHIERARCHY or PROGRAM).

To perform this operation, the tenant must be assigned the RI-TREATYIQ entitlement.

Create Risk Data Report

The Create Risk Data Report operation (POST /platform/riskdata/v1/reports) creates downloadable reports, e.g. exposure summary reports.

Five types of reports are supported: exposure summary report (EXPOSURE_SUMMARY), analysis summary report (ANALYSIS_SUMMARY), California DOI report (EXPOSURE_DOI_REPORT), Portfolio accumulation report (PORTFOLIO_ACCUMULATION_DETAILS), Business hierarchy report (BUSINESS_HIERARCHY_ACCUMULATION_DETAILS)

The Portfolio accumulation report (PORTFOLIO_ACCUMULATION_DETAILS) report type is now accessible to tenants with RI-RISKMODELER entitlement.
,