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-idheader specifies the resource group. - The optional
x-rms-requestIdenables 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
resourceTypeparameter is set toexposure, an EDM2EDM job is submitted. - If the
resourceTypeparameter is set toaccount|portfolio|aggregateportfolio, a copy exposure job is submitted. - Use the
destinationExposureIdparameter to export exposure resources in an existing EDM. - Use the
newExposureNameandexposureSetIdparameters 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-idheader specifies the resource group. - The optional
x-rms-requestIdenables 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-idheader specifies the resource group. - The optional
x-rms-requestIdenables 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.
