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.
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.
Field | Comparison | List |
---|---|---|
archiveId | = , != , > , < , >= , <= | IN , NOT IN |
archiveName | = , != , LIKE , NOT LIKE | IN , NOT IN |
archiveType | = , != , LIKE , NOT LIKE | IN , NOT IN |
archiveSubType | = , != , LIKE , NOT LIKE | IN , NOT IN |
serverType | = , != , LIKE , NOT LIKE | IN , NOT IN |
serverName | = , != , LIKE , NOT LIKE | IN , NOT IN |
securableId | = , != , > , < , >= , <= | IN , NOT IN |
securableName | = , != , LIKE , NOT LIKE | IN , NOT IN |
securableType | = , != , LIKE , NOT LIKE | IN , NOT IN |
sourceTypeId | = , != , > , < , >= , <= | IN , NOT IN |
storageTypeId | = , != , LIKE , NOT LIKE | IN , NOT IN |
sizeInMb | = , != , > , < , >= , <= | |
owner | = , != , LIKE , NOT LIKE | IN , NOT IN |
createdBy | = , != , LIKE , NOT LIKE | IN , NOT IN |
createdAt | = , != , > , >= , < , <= , LIKE , NOT LIKE | |
archivedBy | = , != , LIKE , NOT LIKE | IN , 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
.
Property | Type | Description |
---|---|---|
archiveSubType | string | Type of archive subtype, e.g. edm , rdm , unknown . |
archiveType | string | Type of archive, e.g. database . |
createdBy | string | Email address of principal that created archive. |
exposureNameName | string | Name 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 apermanent
with a specific expiration date. If noexpirationDate
is specified, theexpirationDate
is automatically set toDec-31-9999
. - If
permanent
, theexpirationDate
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 totrue
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.
,