February, 2024
Highlights
The February release introduces currency conversion and cloning.
- New APIs: Currency Conversion API, Copy API, and Clone API
- New Operation: Create Risk Data Report supporting Exposure Summary and Analysis Summary reports in PDF and JSON ✨
- The Convert Event Rates and Losses operation now supports overriding of event IDs in an analysis
- The Create Export Job operation now supports a maximum of 100 analyses for RDM export type
Risk Data API
Enhanced Risk Data
Beginning with this release, enhanced risk data (a.k.a. premium hazard data) requires a separate license. In previous relesases this data was available as premium hazard data to all tenants.
Enhanced risk data is not required for modeling, but is made accessible using various peril-specific lookup operations (e.g. Get EQ peril to better understand a location's risk to a particular hazard. To learn more about enhanced risk data licensing, tenant administrators can check the Licenses > Data section of Admin Center.
Currency Conversion API 🆕
Create Currency Conversion Job
The Create Currency Conversion Job operation (POST
/platform/currencyconversion/v1/jobs
) creates a Currency Conversion
job that converts the currency used in an account, aggregate portfolio, analysis result, portfolio, or treaty.
Sample Request Body:
{
"resourceUri": "/platform/riskdata/v1/exposures/12/portfolios/1",
"resourceType": "portfolio",
"settings": {
"currencyCode": "string",
"currencyScheme": "string",
"currencyAsOfDate": "string",
"currencyVintage": "string"
}
}
This request accepts two request headers:
- The mandatory
x-rms-resource-group-id
header specifies the resource group. - The optional
x-rms-requestId
enables idempotency.
If successful, the response returns 201 Created
with the Location
header denoting the currency conversion job.
Update Convert Currency Job
The Update Convert Currency Job operation (PATCH
/platform/currencyconversion/v1/jobs/{jobsId}
) updates a Currency Conversion
job. This resource can be used to update the status or priority of a job.
The request can specify the jobStatus
of the job:
{
"jobStatus": "cancelled"
}
The request can specify the priority
of the job:
{
"priority": "veryhigh"
}
One of veryhigh
, high
, medium
, low
, verylow
Search Currency Conversion Jobs
The Search Currency Conversion Jobs operation (GET
/platform/currencyconversion/v1/jobs/{jobsId}
) returns Currency Conversion
jobs.
Sample Response Body:
{
"jobId": "19956429",
"userName": "<<user_name>>",
"status": "FINISHED",
"submittedAt": "2023-11-02T01:00:41.882Z",
"startedAt": "2023-11-02T01:00:43Z",
"endedAt": "2023-11-02T01:03:12Z",
"name": "<<jobName>>",
"type": "CONVERT_PORTFOLIO_CURRENCY",
"progress": 100,
"priority": "medium",
"entitlement": "RI-RISKMODELER",
"resourceGroupId": "uuid",
"details": {
"resources": [
{
"uri": "/platform/riskdata/v1/exposures/12/portfolios/1"
}
],
"summary": "CONVERT_PORTFOLIO_CURRENCY is successful"
},
"warnings": []
}
This operation also supports filtering, sorting, offsetting, and limiting currency conversion jobs. To learn more, see Response Filtering.
Get Currency Conversion Job
The Get Currency Conversion Job operation (GET
/platform/currencyconversion/v1/jobs/{jobId}
) returns Currency Conversion
job by ID.
Sample Response Body:
{
"jobId": "19956429",
"userName": "<<user_name>>",
"status": "FINISHED",
"submittedAt": "2023-11-02T01:00:41.882Z",
"startedAt": "2023-11-02T01:00:43Z",
"endedAt": "2023-11-02T01:03:12Z",
"name": "<<jobName>",
"type": "CONVERT_PORTFOLIO_CURRENCY",
"progress": 100,
"priority": "medium",
"entitlement": "RI-RISKMODELER",
"resourceGroupId": "uuid",
"details": {
"resources": [
{
"uri": "/platform/riskdata/v1//exposures/e1/portfolios/1"
}
],
"summary": "CONVERT_PORTFOLIO_CURRENCY is successful"
},
"warnings": [],
"tasks": [
{
"taskId": "1",
"guid": "uuid",
"jobId": "string",
"status": "string",
"submittedAt": "2023-11-02T18:30:53.645Z",
"createdAt": "2023-11-02T18:30:51.664Z",
"name": "CONVERT_PORTFOLIO_CURRENCY",
"percentComplete": 100,
"output": {
"summary": "",
"errors": [],
"log": {
"databaseName": "string",
"currencyCovertedTo": "string",
"currencyScheme": "string",
"currencyAsOfDate": "string",
"currencyVintage": "string"
}
}
}
]
}
Copy API 🆕
Create Copy Job
The Create Copy Job operation (POST
/platform/copy/v1/jobs
) creates a Copy
job that performs copying of entity provided in resourceUri
and supports account, portfolio, aggregated portfolio, and exposure (EDM) as resourceType
Sample Request Body:
// For Account / Portfolio / Aggregated Portfolio:
{
"resourceUri": "/platform/riskdata/v1/exposures/12/accounts/1",
"resourceType": "account",
"settings": {
"name": "newAccountName",
"number": "newAccountNumber",
"description": "newAccountDescription",
"preserveLink": true
}
}
//For Exposure (EDM:
{
"resourceUri": "/platform/riskdata/v1/exposures/12",
"resourceType": "exposure",
"settings": {
"destinationExposureId": {{exposureId}},
"newExposureName": "newExposureName",
//one of destinationExposureId or newExposureName is required
"exposureSetId": {{exposureSetId}},
"filters": {
"exposureResourceType": "PORTFOLIOS",
"exposureResourceIds": [
7
]
}
}
}
- If the
resourceType
parameter is set toexposure
, an EDM2EDM job is submitted. - If the
resourceType
parameter is set toaccount|portfolio|aggregateportfolio
, a copy exposure job is submitted. - Use the
destinationExposureId
parameter to export exposure resources in an existing EDM. - Use the
newExposureName
andexposureSetId
parameters to export exposure resources in a newly created EDM. - The submitted EDM2EDM job does not preserve IDs.
This request accepts two request headers:
- The mandatory
x-rms-resource-group-id
header specifies the resource group. - The optional
x-rms-requestId
enables idempotency.
If successful, the response returns 201 Created
with the Location
header denoting the currency conversion job.
Update Copy Job
The Update Copy Job operation (PATCH
/platform/copy/v1/jobs/{jobId}
) updates a Copy
job. This resource can be used to update the status or priority of a job.
The request can specify the jobStatus
of the job:
{
"jobStatus": "cancelled"
}
One of veryhigh
, high
, medium
, low
, verylow
The request can specify the priority
of the job:
{
"priority": "veryhigh"
}
One of veryhigh
, high
, medium
, low
, verylow
Search Copy Jobs
The Search Copy Jobs operation (GET
/platform/copy/v1/jobs/{jobsId}
) returns Copy
jobs.
Sample Response Body:
[
{
"jobId": "21314094",
"userName": "<<user_name>>",
"status": "RUNNING",
"submittedAt": "2024-01-30T13:26:12.825Z",
"startedAt": "2024-01-30T13:26:14Z",
"name": "string",
"type": "COPY_ACCOUNT",
"progress": 0,
"priority": "medium",
"entitlement": "RI-RISKMODELER",
"resourceGroupId": "9938ded4-a5a6-4e83-9abe-79def55cf713",
"details": {
"resources": []
},
"warnings": []
}
]
This operation also supports filtering, sorting, offsetting, and limiting currency conversion jobs. To learn more, see Response Filtering.
Get Copy Job
The Get Copy Job operation (GET
/platform/copy/v1/jobs/{jobId}
) returns a Copy
job by ID.
Sample Response Body:
{
"jobId": "21314094",
"userName": "<<user_name>>",
"status": "FINISHED",
"submittedAt": "2024-01-30T13:26:12.825Z",
"startedAt": "2024-01-30T13:26:14Z",
"endedAt": "2024-01-30T13:26:32Z",
"name": "string",
"type": "COPY_ACCOUNT",
"progress": 100,
"priority": "medium",
"entitlement": "RI-RISKMODELER",
"resourceGroupId": "9938ded4-a5a6-4e83-9abe-79def55cf713",
"details": {
"resources": [],
"summary": "COPY_ACCOUNT is successful"
},
"warnings": [],
"tasks": [
{
"taskId": "1",
"guid": "45dbc8ca-f164-4518-b1fd-5797c30a082a",
"jobId": "21314094",
"status": "Succeeded",
"submittedAt": "2024-01-30T13:26:14.542Z",
"createdAt": "2024-01-30T13:26:12.816Z",
"name": "COPY_ACCOUNT",
"percentComplete": 100,
"output": {
"summary": "",
"errors": [],
"log": {}
}
}
]
}
Clone API 🆕
Create Clone Job
The Create Clone Job operation (POST
/platform/clone/v1/jobs
) creates a Clone
job that clones an exposure (EDM) as-is or by adding a filter on accounts, portfolios, and aggregated portfolios.
Sample Request Body:
{
"resourceUri": "/platform/riskdata/v1/exposures/13",
"resourceType": "exposure",
"settings": {
"newExposureName": "newExposureName",
"exposureSetId": <exposureSetId>,
"filters": {
"exposureResourceType": "PORTFOLIOS",
"exposureResourceIds": [
7
]
}
}
}
- Submitted EDM2EDM jobs always preserve IDs.
This request accepts two request headers:
- The mandatory
x-rms-resource-group-id
header specifies the resource group. - The optional
x-rms-requestId
enables idempotency.
If successful, the response returns 201 Created
with the Location
header denoting the currency conversion job.
Update Clone Job
The Update Clone Job operation (PATCH
/platform/clone/v1/jobs/{jobId}
) updates a Clone
job. This resource can be used to update the status or priority of a job.
The request can specify the jobStatus
of the job:
{
"jobStatus": "cancelled"
}
The request can specify the priority
of the job:
{
"priority": "veryhigh"
}
One of veryhigh
, high
, medium
, low
, verylow
Search Clone Jobs
The Search Clone Jobs operation (GET
/platform/clone/v1/jobs/{jobsId}
) returns Clone
jobs.
Sample Response Body:
{
"jobId": "21564504",
"userName": "<<user_name>>",
"status": "FINISHED",
"submittedAt": "2024-02-08T16:43:01.808Z",
"startedAt": "2024-02-08T16:43:05Z",
"endedAt": "2024-02-08T16:45:39Z",
"name": "string",
"type": "EDM2EDM",
"progress": 100,
"priority": "medium",
"entitlement": "RI-RISKMODELER",
"resourceGroupId": "9938ded4-a5a6-4e83-9abe-79def55cf713",
"details": {
"resources": [],
"summary": "EDM2EDM is successful"
},
"warnings": [],
"tasks": [
{
"taskId": "1",
"guid": "9ee8df88-ba10-445a-bc2a-c89d2e7fc6e8",
"jobId": "21564504",
"status": "Succeeded",
"submittedAt": "2024-02-08T16:43:05.612Z",
"createdAt": "2024-02-08T16:43:01.802Z",
"name": "EDM2EDM",
"percentComplete": 100,
"output": {
"summary": "",
"errors": [],
"log": {}
}
}
]
}
This operation also supports filtering, sorting, offsetting, and limiting currency conversion jobs. To learn more, see Response Filtering.
Get Clone Job
The Get Clone Job operation (GET
/platform/clone/v1/jobs/{jobsId}
) returns a Clone
job by ID.
Sample Response Body:
{
"jobId": "21564504",
"userName": "<<user_name>>",
"status": "FINISHED",
"submittedAt": "2024-02-08T16:43:01.808Z",
"startedAt": "2024-02-08T16:43:05Z",
"endedAt": "2024-02-08T16:45:39Z",
"name": "string",
"type": "EDM2EDM",
"progress": 100,
"priority": "medium",
"entitlement": "RI-RISKMODELER",
"resourceGroupId": "9938ded4-a5a6-4e83-9abe-79def55cf713",
"details": {
"resources": [],
"summary": "EDM2EDM is successful"
},
"warnings": [],
"tasks": [
{
"taskId": "1",
"guid": "9ee8df88-ba10-445a-bc2a-c89d2e7fc6e8",
"jobId": "21564504",
"status": "Succeeded",
"submittedAt": "2024-02-08T16:43:05.612Z",
"createdAt": "2024-02-08T16:43:01.802Z",
"name": "EDM2EDM",
"percentComplete": 100,
"output": {
"summary": "",
"errors": [],
"log": {}
}
}
]
}
This operation also supports filtering, sorting, offsetting, and limiting currency conversion jobs. To learn more, see Response Filtering.
Risk Data API Updates
Create Risk Data Report 🆕
The Create Risk Data Report operation (POST
/platform/riskdata/v1/reports
) submits a report generation job that supports EXPOSURE_SUMMARY
or ANALYSIS_SUMMARY
report types as PDF or JSON ✨
Sample Request Body:
{{
"resourceUri": "/riskdata/v1/exposures/12312/portfolios/1 OR /riskdata/v1/exposures/12312/accounts/1 OR /riskdata/v1/analyses/12312",
"reportType": "EXPOSURE_SUMMARY",
"settings": {
"reportName": "Test",
"customBands": [
{
"hazard": "string",
"bands": [
{
"greaterThanOrEqualTo": 0,
"lessThan": 10000
}
]
}
],
"perilCodes": [
"EQ"
],
"fileExtension": "PDF"
}
}
Convert Event Rates and Losses
The Convert Event Rates and Losses operation (POST
/platform/riskdata/v1/analyses/{analysisId}/convert-event-rate-loss
) now supports a new boolean parameter overrideEventIds
When overrideEventIds
set as true
, each event ID in the original analysis will be overridden in the new resulting analysis with the custom ID (if present) defined in externalId
of each event rate in the Event Rate Schemes provided in the request.
Sample Request Body:
{
"analysisName": "New Analysis Name",
"eventRateSchemeIds": [
{{eventRateSchemeId}}
],
"eventLossAdjustmentSchemeIds": [],
"overrideEventIds": "true"
}
Export API Updates
The Create Export Job operation (POST
/platform/export/v1/jobs
) now supports a maximum of 100 analyses in resourceUris
array for the exportType
= RDM
.
Warning
Export of analyses into an RDM may encounter issues if the size of the analyses is too large. Please split the export job into multiple jobs based on the size.