2025.11.b
Highlights
The 2025.11.b release provides documentation features that support exposure variation workflows.
- Import API supports importing exposure variations from Parquet files uploaded to import folders on Amazon S3.
- Export API supports exporting exposure variations Parquet files.
- Geohaz API supports running
GEOHAZjobs on exposure variations.- Model API supports running
Modeljobs on exposure variations.
Overview
The Platform APIs introduces updates in support of improved workflows for managing exposure variations.
An exposure variation is an immutable snapshot of an exposure (portfolio, account, aggregate portfolio) that is stored independently as a Parquet file (external from EDM) in the Exposure Variation Store. Although these files are stored outside the EDM, they belong to the same exposure set.
Note
This provides an overview of existing Import API, Export API, Geohaz API, and Risk Data API features that were not previously documented.
Import API
The Import API adds
These enhancements enable two new workflows for creating and managing exposure variations.
- Workflow 1: Import exposure variations into Exposure Variation Store. Exposure data uploaded to an import folder is saved as Parquet files in the Exposure Variation Store. Support for three new import folder types (
ACCOUNT_VARIATION,AGGREGATE_PORTFOLIO_VARIATION,PORTFOLIO_VARIATION) - Workflow 2: Import exposure variation from the Exposure Variation Store into a new EDM.
enhancements support new workflow that enables tenants to automatically generate exposure variations (e.g. account variations, aggregate portfolio variations, portfolio variations) when they import exposure data (e.g. accounts, aggregate portfolios, portfolio variations) from an uploaded Parquet file.
The Import API now supports import jobs for three new types of files; accountVariationFiles, aggregatePortfolioVariationFiles, and portfolioVariationFiles. When these file types are imported from Parquet file, the Intelligent Risk Platform does two things: 1) it creates a new exposure (e.g. account) in the EDM and 2) creates a link between that exposure and an exposure variation (e.g. account variation) of that exposure. Every account, aggregate portfolio, and portfolio exposure is now defined by a variationId property that identifies the ID of linked exposure variations.
Create Import Folder Job
The Create Import Folder Job operation creates an import folder, a temporary storage location and logical path on Amazon S3 (Simple Storage Service). This import folder can be used to import data into the Intelligent Risk Platform.
Every import folder is defined by a folder type, which determines the type of data that can be imported from that import folder. This operation now supports three new types of import folders: the ACCOUNT_VARIATION, AGGREGATE_PORTFOLIO_VARIATION, and PORTFOLIO_VARIATION import folders.
These import folders are configured to support importing three types of exposure variations:
| Folder Type | Supported File Type | Supported File Format |
|---|---|---|
ACCOUNT_VARIATION | accountVariationFiles | Parquet |
AGGREGATE_PORTFOLIO_VARIATION | aggregatePortfolioVariationFiles | Parquet |
PORTFOLIO_VARIATION | portfolioVariationFiles | Parquet |
The accountVariationFiles, aggregatePortfolioVariationFiles, portfolioVariationFiles file types identify Parquet files that contain various types exposure data, i.e. accounts, aggregate portfolios, or portfolios.
The body of the request specifies the folder type ( e.g. ACCOUNT_VARIATION), the format of the uploaded file (e.g. parquet), and a list of the files uploaded (e.g. accountVariationFiles):
{
"folderType": "ACCOUNT_VARIATION",
"properties": {
"fileExtension": "parquet",
"fileTypes": ["accountVariationFiles"]
}
}
The folderType and fileExtension parameters are required.
| Parameter | Type | Description |
|---|---|---|
folderType | string | Type of import folder. The ACCOUNT_VARIATION folder type can be used to import exposure data stored in accountVariationFiles. |
properties | Object | Settings for import folder. fileExtension specifies the file format accepted by file. fileTypes specifies list of file types, e.g. one of accountVariationFiles, aggregatePortfolioVariationFiles, portfolioVariationFiles |
If successful, returns 201 Created HTTP Status code.
The response object returns the folderType, folderId, and a presignParms object that defines the pre-signed credentials (accessKeyId, secretAccessKey, sessionToken path, region) that will enable the client to upload the account files to the import folder.
{
"uploadDetails": {
"accountVariationFiles": {
"presignParams": {
"accessKeyId": "xxxxxxxxxxxxxxxxx",
"secretAccessKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"sessionToken": "xxxxxxxxxxxxxxxxx",
"path": "xxxxxxxxxxxxx",
"region": "xxxxxxxxxxxx"
},
"uploadUrl": "https://rms-tenants-xxxxxx.s3.amazonaws.com/xxxxxxx/import/platform/variation/xxxxx/xxxxx-accountvariationfiles/{tablename}/{filename}.parquet"
}
},
"folderType": "ACCOUNT_VARIATION",
"folderId": "35271"
}
These pre-signed credentials can be used to upload data to a Amazon S3 bucket (i.e. the "import folder") on Amazon S3. The uploadUrl specifies the path needed to upload the exposure data to the import folder including the name of the Parquet file, which must follow a specific pattern: <tablename><filename>.parquet.
The Import API does not offer a REST operation for uploading data to Amazon S3. To do that, Intelligent Risk Platform tenants must create a AWS S3 client using an AWS SDK. To learn more, see Download and Upload Objects with Pre-signed URLs in the Amazon Simple Storage Service User Guide.
Create Import Job
The Create Import Job imports data into an EDM on the Intelligent Risk Platform.
Depending on the import type specified in the request, this operation now creates import jobs that import exposure variations.
- If the import type is
EXPOSURE_VARIATION, this operation imports an exposure variation from an import folder into the Exposure Variation Store. - If the import type is
EXPOSURE_RESOURCE, this operation imports an exposure variation from the Exposure Variation Store into a new EDM.
The body of the request specifies the importType (e.g. EXPOSURE_VARIATION), resourceUri (e.g /platform/riskdata/v1/exposuresets/8888 ), and a settings for the import job.
Import Exposure Variation into Exposure Variation Store
This operation now supports a new import type (EXPOSURE_VARIATION), which supports importing exposure variation data from import folder (Amazon S3 bucket) into .
If the import type is EXPOSURE_VARIATION, the job imports the exposure variation uploaded to an import folder into the Exposure Variation Store.
The imported exposure variation is not stored in the EDM. Rather, the exposure variation is stored as a Parquet file on the Variation Data Store.The Variation Data Store is a repository on the Risk Data Lake for storing exposure variations in Parquet file format.
The settings object specifies the folderId of the import folder and the exposureResourceId of an exposure resource. Imported exposure variations can be "attached" to existing exposures.
{
"importType": "EXPOSURE_VARIATION",
"resourceUri": "/platform/riskdata/v1/exposuresets/8888",
"settings": {
"folderId": "35275",
"exposureResourceId": 1 //This should be the ID of the account that you wish to attach the account variation to
}
}
The folderType and exposureResourceId parameters must be specified in the settings object.
| Parameter | Type | Description |
|---|---|---|
importType | String | Type of the import job. The EXPOSURE_VARIATION import type supports importing exposure variation data from an import folder. |
resourceUri | String | URI of an exposure set securable. If specified, access to the exposure variation is restricted using group-based access controls. To learn more, see Securables. |
settings | Object | Import job configurations. For this workflow, the folderId and exposureResourceId parameters are required. The folderId specifies the import folder containing the exposure variation. The exposureResourceId specifies an exposure (e.g. account) that is linked to the exposure variation. |
The imported exposure variation (e.g. account variation) can be attached to an existing exposure resource (e.g. account) if an exposureResourceId value is specified in the request. The exposureResourceId specifies the ID of an exposure in the EDM. If specified, the ID of the attached exposure variation is stored as part of the account resource. Clients can use the Get Account operation (/platform/riskdata/v1/ exposures/{exposureId}/accounts/{accountId}) to see a list of the exposure variations attached to an account.
Import Exposure Variation into New EDM
If the import type is EXPOSURE_RESOURCE, the job imports the specified exposure variation from the Exposure Variation Store into a new EDM.
The settings object must specify the name of the new EDM (exposureName) and the ID of the exposure variation (exposureVariationId) to import into the new EDM.
{
"importType": "EXPOSURE_RESOURCE",
"resourceUri": "/platform/riskdata/v1/exposuresets/8888",
"settings": {
"exposureName": "Test_EDM_name_variation_1",
"exposureVariationId": {{variation_id}}
}
}
The exposureName and exposureVariationId parameters must be specified in the settings object.
| Parameter | Type | Description |
|---|---|---|
importType | String | Type of the import job. The EXPOSURE_VARIATION import type supports importing exposure variation data from an import folder. |
resourceUri | String | URI of an exposure set securable. If specified, access to the exposure variation is restricted using group-based access controls. To learn more, see Securables. |
settings | Object | Import job configurations. For this workflow, the exposureName and exposureVariationId parameters are required. The exposureName identifies the name of the new EDM. The exposureVariationId specifies the ID of exposure variation in the new EDM. |
Export API
The updated Export API now supports exporting exposure variations (e.g. account variations, aggregate variations, portfolio variations) to downloadable Parquet files.
Apache Parquet is a free and open-source column-oriented data storage format that is optimized for use with big data processing frameworks like Apache Spark and Hadoop. "It provides data compression and encoding schemes with enhanced performance to handle complex data in bulk."
Create Export Job
The Create Export Job operation creates a job that exports data in the specified ,
This operation now supports the EXPOSURE_VARIATION export type, which enables the client to export exposure variations in the Parquet file format.
This operation now supports four export types ( accountVariation, aggregatePortfolioVariation, portfolioVariation) in support of these workflows.
The request specifies the exportType, the resource URI of the data to be exported, and other job-specific settings. The settings object varies depending on whether the exposure variation is exported to a downloadable Parquet file, an existing EDM, or a new EDM.
If the job exports the exposure variation to a Parquet file, the settings object must specify the fileExtension and filename parameters:
{
"exportType": "EXPOSURE_VARIATION",
"resourceUri": "/platform/riskdata/v1/exposurevariations/3233774",
"resourceType": "portfolioVariation",
"settings": {
"fileExtension": "parquet",
"fileName": "my_variation_export_1"
}
}
| Parameter | Type | Description |
|---|---|---|
exportType | String | Type of export job. The EXPOSURE_VARIATION supports exporting exposure variations. |
resourceUri | String | URI of exposure variation. |
resourceType | String | Type of exposure variation to export. One of portfolioVariation, accountVariation, aggregatePortfolioVariation. |
settings | Object | Configuration of export job. |
If successful, this operation creates a new job (DOWNLOAD_EXPOSURE_VARIATION) and returns a 201 Created HTTP Status code. The Location header parameter returns the URL of DOWNLOAD_EXPOSURE_VARIATION job that can be used to poll the status of the job, and download the file when the job is finished.
The Get Export Job operation will return the download URL:
{
"jobId": "23129961",
"userName": "[email protected]",
"status": "FINISHED",
"submittedAt": "2025-11-06T02:13:49.487Z",
"startedAt": "2025-11-06T02:13:52Z",
"endedAt": "2025-11-06T02:13:58Z",
"name": "Download Account Exposure Variation: my_variation_export_1",
"type": "DOWNLOAD_EXPOSURE_VARIATION",
"progress": 100,
"entitlement": "RI-RISKMODELER",
"resourceGroupId": "ba672cd9-3384-4cb3-9882-bbeb5f8478c6",
"priority": "medium",
"details": {
"resources": [
{
"uri": "/platform/riskdata/v1/exposurevariations/3232815"
}
],
"summary": "Export is successful"
},
"tasks": [
{
"guid": "8429557e-3f35-4f32-9e60-5a5847214b93",
"taskId": "1",
"jobId": "23129961",
"status": "Succeeded",
"submittedAt": "2025-11-06T02:13:51.926Z",
"createdAt": "2025-11-06T02:13:49.473Z",
"name": "DOWNLOAD_EXPOSURE_VARIATION",
"output": {
"summary": "Export is successful",
"errors": [],
"log": {
"downloadUrl": "https://degqt4rya5w5a.cloudfront.net/4000540%2Fexport%2Fplatform%2Fexposure_variation%2F8429557e-3f35-4f32-9e60-5a5847214b93%2Fmy_variation_export_1.zip?t=prodmgmt&c=degqt4rya5w5a&d=rms-ppe&e=2025-11-13T02:13:57.301Z",
"downloadFileSize": "79 KB",
"expiresAt": "2025-11-13T02:13:57.336Z",
"exposureVariationId": "3232815",
"exposureResourceId": "2156301",
"exposureType": "Account"
}
},
"percentComplete": 100
}
]
}
Geohaz API
The Geohaz API now supports geocoding and looking up hazard data for exposure variations.
The Geohaz API supports the creation of two geohaz job types:
- A
geocodejob enriches an exposure with geolocation data that precisely identifies the global coordinates of a site. - A
hazardjob enriches an exposure with risk data drawn from an RMS peril model database, a collection of site hazard values that characterize the vulnerability of a location to a catastrophe event.
Both of these operations update an exposure resource. Consequently, running a GEOHAZ job on an exposure variation (e.g. account variation 1) creates a new exposure variation resource (e.g. account variation 2) that is identified by a unique variationId that can be accessed via a separate resource URI.
Create Geohaz Job
The Create Geohaz Job operation (POST /platform/geohaz/v1/jobs) Initiates a geohaz job that either geocodes or performs a hazard lookup of the specified exposure or exposure variation.
Depending the parameters specified in the request, this operation creates a GEOHAZ job that geocodes or "hazards" —looks up hazard data for— the locations attached to the specified account, portfolio, account variation, or exposure variation.
The required resourceUri parameter can now accept the URI of an account variation or portfolio variation. Formerly, this parameter only accepted the URI of an account or portfolio.
The body of the request specifies the resourceType ( e.g. account), the resourceUri of an account variation, and a setting object that defines the layers (data products) used by the job:
{
"resourceType": "account",
"resourceUri": "/platform/riskdata/v1/exposurevariations/{{variation_id}}/accounts/{{exposure_resource_id}}",
"settings": {
"layers": [ List of data products used to geocode or "hazard" the resource]
}
}
An exposure variation that is created as the product of a GEOHAZ job is stored in the Exposure Variation, just like any other exposure variation.
Model API
The Model API supports the catastrophe modeling of exposure variations.
Account, aggregate portfolios, and portfolios can be updated overtime. Consequently, analysis of an exposure may be based on different data. Exposure variations are immutable and cannot be updated. By modeling exposure variations you can ensure that multiple analyses of the same exposure use the same data, regardless of the time between analyses.
- Model jobs run on an exposure (account, aggregate portfolio, or portfolio) will automatically create a new exposure variation and calculate losses based on that exposure variation.
- Model jobs run on a exposure variation (account variation, aggregate portfolio variation, or portfolio variation) calculate losses based on exposure data at a particular point-in-time. Changes to the exposure will not affect the analysis.
Exposure variation immutability enables you to model the same exposure over time knowing that the underlying location exposure data has not changed. This eliminates the variables that you can isolate the effect of changes to the model settings, e.g. treaties, `model profiles, and currency.
Create Model Job
The Create Model Job operation (POST /platform/model/v1/jobs) creates a model job, a job that calculates expected losses from catastrophe events based on an ALM, DLM, or HD model.
Prior to this release, this operation supported modeling of accounts, aggregate portfolios, and portfolios. Every time an exposure was modeled, the IRP would create a new exposure variation based on that exposure.
This operation now supports now supports catastrophe modeling of exposure variations that are stored as Parquet files in the Exposure Data Store. This change offers a number of benefits.
Note that exposure variation modeling is restricted by model type. DLM and HD models can be used to model account variations and portfolio variations. ALM models support aggregate portfolio variations.
| Resource Type | Supported Model Types | Supported Resources |
|---|---|---|
account | DLM, HD | account, portfolio, account variation, portfolio variation |
aggregatePortfolio | ALM | aggregate portfolio, aggregate portfolio variation |
portfolio | DLM, HD | account, portfolio, account variation, portfolio variation |
The body of the request specifies the resourceType (account), the resourceUri of an account variation, the type of the model used to model the exposure, and a setting object that defines the model job.
{
"type": "DLM",
"resourceType": "portfolio",
"resourceUri": "/platform/riskdata/v1/exposurevariations/10171/accounts/7",
"settings": {
"currency": {
"code": "USD",
"scheme": "RMS",
"asOfDate": "2022-06-01",
"vintage": "RL22"
},
"modelProfileId": 4217,
"outputProfileId": 15,
"eventRateSchemeId": 5072
}
}
The resourceType, resourceUri, type, and settings parameters are all required.
| Parameter | Type | Description |
|---|---|---|
resourceType | String | Type of resource. One of account, aggregatePortfolio, portfolio. If account, accounts and account variations are supported. If portfolio, portfolios and portfolio variations are supported. If aggregatePortfolio, aggregate portfolios are supported. |
resourceUri | String | URI of exposure or exposure variation to model. |
type | String | Type model used in analysis. One of ALM, DLM, HD |
settings | Object | Model job configurations. Required settings depend on model type specified. ` |
Risk Data API
Search Exposure Variation
The Search Exposure Variations operation (GET /platform/riskdata/v1/exposurevariations) returns a list exposure variations.
This operation now supports filtering exposure variations by exposureResourceId. The exposureResourceId property specified the ID number of an attached account, aggregate portfolio, or portfolio exposure. Exposure variations stored in the Exposure Variation Store can be attached to exposures stored in an EDM. Use the exposureResourceId query parameter to view the ID of attached exposures.
This operation supports the following query string parameters:
| Property | Type | Comparison | List |
|---|---|---|---|
accumulationCompatible | Boolean | = | |
exposureId | Integer | = | |
exposureResourceId | Integer | = | |
exposureResourceType | Integer | = | |
exposureVariationId, | Integer | = | |
exposureVariationName | String | =, LIKE | |
version | String | = | |
createdAt | String | <,> | |
createdBy | String | = |
This operation returns a filtered list of exposure variations:
[
{
"exposureResourceUri": "/platform/riskdata/v1/exposures/36895/portfolios/83",
"exposureResourceType": "portfolio",
"exposureResourceNumber": "FR_RES",
"exposureResourceName": "FR_RES_2023_WS_PC",
"exposureName": "IED2023_EUWS_PC_MIX_EDM220",
"exposureId": 36895,
"exposureResourceId": 83,
"exposureVariationId": 3289794,
"createdAt": "2025-11-12T22:44:44",
"createdBy": "[email protected]",
"stats": {
"accountsCount": 12187,
"locationsCount": 53879,
"policiesCount": 12187
},
"exposureSetId": 36894,
"accumulationCompatible": false,
"perils": ["WI", "WA"],
"uri": "/platform/riskdata/v1/exposurevariations/3289794",
"uuid": "dca8554b-4011-4442-99c1-70a6a08a6f7a",
"version": "2",
"fileSizeInBytes": 11779681
}
]
The response now returns several new properties:
| Property | Type | Description |
|---|---|---|
exposureResourceUri | String | URI of attached exposure. |
exposureResourceType | String | Type of attached exposure. One of account, aggregate portfolio, portfolio. |
exposureResourceNumber | String | ID of attached exposure. |
exposureResourceName | String | Name of attached exposure. |
exposureName | String | Name of exposure. |
exposureId | Integer | ID of exposure. |
exposureResourceId | Integer | ID of attached exposure. |
exposureVariationId | Integer | ID of exposure variation. |
createdAt | Date-Time | Date exposure variation was created in ISO 8601 format. |
createdBy | String | Email of principal that created exposure variation. |
stats | Object | Number of accounts, locations, and policies. |
exposureSetId | String | ID of exposure set securable. |
accumulationCompatible | Boolean | Compatibility with accumulations. One of true or false. |
perils | Array | List of peril codes. |
uri | String | URI of exposure variation. |
uuid | String | UUID of exposure variation. |
version | Integer | Version of exposure variation. One of 1 (stored in EDM), 2 (stored in Exposure Variation Store). |
fileSizeInBytes | Integer | Size of Parquet file in Exposure Variation Store. |
