July, 2024
Highlights
The July release introduces operations for managing database archives and policy condition templates.
- The Admin Data API introduces support for managing database archives.
Admin Data API
Search Archives
The Search Archives (GET
/platform/admindata/v1/archives
) returns a list of archives (archived databases) belonging to the tenant.
This operation takes four query parameters: filter
, sort
, offset
, limit
. To learn more, see Filtering and Pagination.
For example,
curl --request GET \
--url 'https://{{HOST}}/platform/admindata/v1/securables?filter=createdBy%3Demployee%40company.com&sort=ASC&limit=100' \
--header 'Authorization: XXXXXXXXXX' \
--header 'accept: application/json'
The filter
query parameter defines a query string that enables you to select response data based on property values. Supported properties: archiveName
, archiveId
, serverName
, serverType
, createdAt
, createdBy
. Supported logical operators depend on the data type of property.
Parameter | Type | Comparison | List | Logical |
---|---|---|---|---|
archiveName | string | = , != , LIKE , NOT LIKE | IN , NOT IN | AND , OR |
archiveId | number | = , != | IN , NOT IN | AND , OR |
createdAt | yyyy-mm-dd | = , != | AND , OR | |
createdBy | string | = , != , LIKE , NOT LIKE | IN , NOT IN | AND , OR |
serverName | string | = , != , LIKE , NOT LIKE | IN , NOT IN | AND , OR |
serverType | string | = , != , LIKE , NOT LIKE | IN , NOT IN | AND , OR |
The response returns a list of the archives that match the query criteria:
[
{
"archiveName": "XXXXXXXXXXXXXXX",
"archiveId": 24050,
"serverName": "sql-instance-1",
"serverType": "platform",
"createdAt": "2024-03-20T15:29:45.000Z",
"createdBy": "[email protected]",
"sizeInMb": 84.0,
"expiresAt": "2024-03-22T15:29:45.000Z"
},
...
]
To perform this operation, the client application must belong to a group that has been assigned the Data Administrator role.
Get Archive
The Get Archive operation (GET
/platform/admindata/v1/archives/{archiveId}
) returns the specified archive (database archive). This operation accepts a single path parameter that specifies the archiveId
.
The response returns detailed information about the specified archive.
{
"archiveName": "__ValidName88035_EbZK",
"archiveId": 3885339,
"serverName": "sql-instance-1",
"serverType": "platform",
"createdAt": "2024-04-22T07:28:44.805Z",
"createdBy": "[email protected]",
"sizeInMb": 84.0,
"expiresAt": "2024-04-24T07:28:44.805Z",
"files": [
{
"url": "https://rms-tenants-npe-eu-west-1.s3.eu-west-1.amazonaws.com/2001532/archive/riskmodeler/ba9dbe9c-8c47-44c9-b673-576d1445cf68/__ValidName88035_EbZK.mdf?X-Amz-Expires=604800&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA3CNSARQO2IAPFE5Y/20240422/eu-west-1/s3/aws4_request&X-Amz-Date=20240422T142843Z&X-Amz-SignedHeaders=host&X-Amz-Signature=3fb76ac65815c6bff07b5a8cfe66ca13a1f25793228f98f31f7d1b3a06a371f7",
"type": "MDF"
},
{
"url": "https://rms-tenants-npe-eu-west-1.s3.eu-west-1.amazonaws.com/2001532/archive/riskmodeler/ba9dbe9c-8c47-44c9-b673-576d1445cf68/__ValidName88035_EbZK.ldf?X-Amz-Expires=604800&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA3CNSARQO2IAPFE5Y/20240422/eu-west-1/s3/aws4_request&X-Amz-Date=20240422T142844Z&X-Amz-SignedHeaders=host&X-Amz-Signature=27117a60744a6fec5aeb4ae4e15864b14706a99666350e18a1623f55462c20eb",
"type": "LDF"
}
]
}
To perform this operation, the client application must belong to a group that has been assigned the Data Administrator role.
Restore database
The Restore Archive operation (POST
/platform/admindata/v1/archives/{archiveId}/restore
) restores the specified archived database. This operation accepts a single path parameter that specifies the archiveId
.
This operation accepts two request headers: the x-rms-resource-group-id
is required. This value identifies the resource group to which this work is allocated. To learn more, see Resource Groups. The optional x-rms-requestId
request header makes this an idempotent request.
curl --request POST \
--url https://api-euw1.rms.com/platform/copy/v1/jobs \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'x-rms-resource-group-id: 56' \
--header 'x-rms-requestId: 15'
All other parameters are specified in the request body.
{
"serverId": 1,
"exposureSetId": 0,
"databaseName": "string",
"owner": "string",
"groups": [
{
"groupId": "string"
}
],
"skipRegister": true
}
The serverId
parameter is required. All other parameters are optional. Depending on the value of the skipRegister
parameter, access rights to the restored database may be identical to that of the archived database or redefined using the exposureSetId
and groups
parameter.
Parameter | Type | Description |
---|---|---|
serverId | number | ID of the server hosting the restored database. |
exposureSetId | number | ID of the exposure set. Required if skipRegister is true . |
databaseName | number | Name of the restored database. If not provided, restored database has the same name as archive. |
owner | number | Login that identifies the owner of the restored database. |
groups | array | List of groups that can access the restored database. Required if skipRegister is true . |
skipRegister | boolean | If true , groups and exposureSetId parameters are required. By default, false . |
{
"serverId": "1",
"databaseName": "restore_delete_1818_2_98",
"owner": "[email protected]",
"exposureSetId": 3529162,
"skipRegister": "false"
}
If successful, the response returns a 202 ACCEPTED
response and adds a job to the workflow job queue.
To perform this operation, the client application must belong to a group that has been assigned the Data Administrator role.
Delete Archive
The Delete Archive operation (DELETE
/platform/admindata/v1/archives/{archiveId}/restore
) deletes the specified archived database. This operation accepts a single path parameter that specifies the archiveId
.
This operation accepts two request headers: the x-rms-resource-group-id
is required. This value identifies the resource group to which this work is allocated. To learn more, see Resource Groups. The optional x-rms-requestId
request header makes this an idempotent request.
To perform this operation, the client application must belong to a group that has been assigned the Data Administrator role.
Search Admin Jobs
The Search Admin Data Jobs operation (GET
/platform/admindata/v1/archives/{archiveId}/jobs
) returns a list of Admin Data jobs.
This operation takes four query parameters: filter
, sort
, offset
, limit
. To learn more, see Filtering and Pagination.
The filter
query parameter defines a query string that enables you to select response data based on property values. Supported properties: endedAt
, entitlement
, jobId
,name
, startedAt
, status
, type
, userName
. Supported logical operators depend on the data type of property.
The response returns a list of jobs:
[
{
"jobId": "23255695",
"userName": "[email protected]",
"status": "FINISHED",
"submittedAt": "2024-04-19T06:24:47.127Z",
"startedAt": "2024-04-19T06:24:49Z",
"endedAt": "2024-04-19T06:26:06Z",
"name": "Restore archive 3523365",
"type": "RESTORE_ARCHIVE",
"progress": 100,
"priority": "medium",
"entitlement": "RI-RISKMODELER",
"resourceGroupId": "3d7d0eb9-369b-4de5-8e24-40d62231918c",
"details": {
"resources": [],
"summary": "RESTORE_ARCHIVE is successful"
},
"warnings": []
},
...
]
To perform this operation, the client application must belong to a group that has been assigned the Data Administrator role.
Get Admin Data Job
The Get Admin Data Job operation (GET
/platform/admindata/v1/jobs/{jobId}
) returns the specified Admin Data API job. This operation accepts a single path parameter that specifies the jobId
.
The response returns detailed information about the specified job.
{
"jobId": "23255695",
"userName": "[email protected]",
"status": "FINISHED",
"submittedAt": "2024-04-19T06:24:47.127Z",
"startedAt": "2024-04-19T06:24:49Z",
"endedAt": "2024-04-19T06:26:06Z",
"name": "Restore archive 3523365",
"type": "RESTORE_ARCHIVE",
"progress": 100,
"priority": "medium",
"entitlement": "RI-RISKMODELER",
"resourceGroupId": "3d7d0eb9-369b-4de5-8e24-40d62231918c",
"details": {
"resources": [],
"summary": "RESTORE_ARCHIVE is successful"
},
"warnings": [],
"tasks": [
{
"taskId": "1",
"guid": "c3790f73-36ab-45c9-95e7-47023c4811df",
"jobId": "23255695",
"status": "Succeeded",
"submittedAt": "2024-04-19T06:24:49.664Z",
"createdAt": "2024-04-19T06:24:47.123Z",
"name": "RESTORE_ARCHIVE",
"percentComplete": 100,
"output": {
"summary": "",
"errors": [],
"log": {
"databaseName": "restore_delete_1818_6898_988",
"exposureSetId": "Not Available",
"owner": "[email protected]",
"serverId": "2",
"serverName": "databridge-1",
"serverType": "DATA_BRIDGE"
}
}
}
]
}
To perform this operation, the client application must belong to a group that has been assigned the Data Administrator role.
Update Admin Data Job
The Update Admin Data Job operation (PATCH
/platform/admindata/v1/jobs/{jobId}
) updates the specified Admin Data job. Using this operation, the client can change the status or priority of existing jobs.
This operation accepts a single path parameter that specifies the jobId
. All other parameters are specified in the request body. One of jobstatus
or priority
.
The operation can cancel the specified job:
{
"JobStatus": "cancelled"
}
The operation change the priority of the job. One of veryhigh
, high
, medium
, low
, or verylow
:
{
"JobStatus": "veryhigh"
}
To perform this operation, the client application must belong to a group that has been assigned the Data Administrator role.
Export API
Create Export Job
The Create Export Job operation (POST
/platform/export/v1/jobs/
) initiates jobs for exporting exposure and result data on the Intelligent Risk Platform.
This operation now supports seven different types of export jobs: EDM
, EXPOSURE_RESOURCE
, LOCATION_RESULTS
, RDM
, RDM_DATABRIDGE
, RESULTS
, and ROLLUP_RESULTS
.
Rollup exports
The ROLLUP_RESULTS
export type enables you to export and download result data returned from a rollup analysis.
A rollup analysis computes marginal EP curves calculates gross and net portfolio position metrics, and breakdowns for each hierarchy node in the portfolio. Rollup results include a PLT, EP curves, and statistics (aal
, stddev
, cv
). Analysis data may be segmented or unsegmented.
Unlike other export types, a rollup export supports exporting a single rollup analysis result. Rollup analysis results can be exported to CSV
and PARQUET
files.
The exportType
, resourceUri
, resourceType
and settings
object are all required:
{
"exportType": "ROLLUP_RESULTS",
"resourceUri": "/platform/riskdata/v1/analyses/559180",
"resourceType": "analyses",
"settings": {
"fileExtension": "CSV",
"lossDetails": {
"ep": {
"includeSegmented": true,
"includeUnsegmented": true,
"positionTypes": [
"GROSS",
"NET",
"RETRO_CONTRACT",
"RETRO_CONTRACT_SUBJECT",
"NODE",
"CEDED",
"ASSUMED",
"CONTRACT_ASSUMED"
]
},
"stats": {
"includeSegmented": true,
"includeUnsegmented": true,
"positionTypes": [
"GROSS",
"NET",
"RETRO_CONTRACT",
"RETRO_CONTRACT_SUBJECT",
"NODE",
"CEDED",
"ASSUMED",
"CONTRACT_ASSUMED"
]
},
"plt": {
"includeSegmented": true,
"includeUnsegmented": true,
"positionTypes": [
"GROSS",
"NET",
"RETRO_CONTRACT",
"RETRO_CONTRACT_SUBJECT",
"NODE",
"CEDED",
"ASSUMED",
"CONTRACT_ASSUMED"
]
}
}
}
}
As with all export jobs, a ROLLUP_RESULTS
export job requires that you specify exportType
, resourceUri
, resourceType
parameters:
Property | Type | Description |
---|---|---|
exportType | string | ROLLUP_RESULTS |
resourceUri | string | Resource URI of a result. |
resourceType | string | For this export type, analyses is the only valid value. |
Thesettings
object specifies parameters that are specific to ROLLUP_RESULTS
exports:
Property | Type | Description |
---|---|---|
fileExtension | string | File format of exported data. One of CSV |
lossDetails | object | Rollup result data to export. One or more of ep , stats , plt |
ep | object | Settings for EP metrics to export. Includes includedSegmented ,includeUnsegmented , positionTypes |
stats | object | Settings for statistics to export. Includes includedSegmented ,includeUnsegmented , positionTypes |
plt | object | Setting for PLT data to export. Includes includedSegmented ,includeUnsegmented , positionTypes |
includedSegmented | boolean | If true , segmented data is exported. |
includeUnsegmented | boolean | If true , unsegmented data is exported. |
positionTypes | array | List of positions to export. Valid values include ASSUMED , CEDED , CONTRACT_ASSUMED , GROSS , NET , NODE , RETRO_CONTRACT_SUBJECT , and RETRO_CONTRACT |
EDM exports
The EDM
export now enables you to filter the exposure data exported to EDM by exposure type and exposure ID. The new filtering
object in body of the request specifies the exposureResourceType
and exposureResourceId
parameters:
{
"exportType": "EDM",
"resourceUri": "/platform/riskdata/v1/exposures/69290",
"resourceType": "EXPOSURE",
"settings": {
"fileExtension": "BAK",
"fileName": "test",
"sqlVersion": "2019",
"filters": {
"exposureResourceType": "ACCOUNTS",
"exposureResourceIds": [84]
}
}
}
The filters
object consists of two parameters:
Property | Type | Description |
---|---|---|
exposureResourceType | string | Type of exposure resources to export. One of ACCOUNTS , AGGREGATEPORTFOLIOS , PORTFOLIOS |
exposureResourceIds | arrays | List of exposures to export. Accounts, aggregate portfolios, or portfolios are identified by ID. |
The exported EDM contains only those exposures that match the parameters defined in the filters
object. If no filters
object is specified in the request, the entire EDM is exported.
If exposureResourceType
parameter specifies an exposure type that is not supported, the request returns a CLIENT-404
error:
{
"code": "CLIENT-404",
"message": "An error while converting ExposuresResourceType - cannot find exposure type by value: PORTFOLOS",
"logId": "a4d5e02d29167097"
}
If the exposureResourceIds
parameter specifies an invalid exposure ID (e.g., an account ID that does not exist),the request returns a EXPORT-017
error:
}
"code": "EXPORT-017",
"message": "Exposure Resource Ids [2] are not valid.",
"logId": "d2d461404b2a31f9"
}
EDM and RDM exports
The July release also introduces updates to way this operation manages EDM
and RDM
exports. The RDM
and EDM
export jobs no longer support SQL Server 2014 downloads. If the request specifies a sqlVersion
value of 2014, the API returns a EXPORT_SERVICE-022
error:
{
"code": "EXPORT_SERVICE-022",
"message": "With Microsoft SQL 2014 version coming to end of life on July 9 2024, IRP has ended its support. Please use the higher SQL versions offered in IRP.",
"logId": "9a630b9877821364"
}
Search Export Jobs
The [Search Export Jobs] operation now returns information about the exposures export in an EDM
job.
The response now includes additional information in the details
object. The resources
property is an array that lists the resource URI of every exported exposure. The summary
property provides summary information about the exported exposures.
"details": {
"resources": [
{
"uri": "/platform/riskdata/v1/exposures/476665"
}
],
"summary": "portfolio Id:212 with 2 account(s), 48 location(s) exported"
}
Get Export Job
The [Get Export Job] operation now returns information about the exposures export in an EDM
job.
The response now includes the log
object, which includes information about the exposures exported to the EDM:
"log": {
"exposureResourceNames": "Prem1",
"exposureResourceIds": "[212]",
"exposureType": "PORTFOLIO",
"exposureName": "EDM_xxxxxxxxxx",
"exposureSetId": "476665",
"downloadUrl": "https://rms-tenants-npe-eu-west-1.s3.eu-west-1.amazonaws.com/xxxxxxx/export/platform/edm/EDM_xxxx.BAK?xxxxxxxxxxxxxxx",
"fileSize": "3 MB",
"expiresAt": "2024-07-02T11:25:01.831Z",
"fileExtension": "BAK",
"sqlVersion": "2019"
}
Analysis API
Get HD EP Metrics
The Get HD EP Metrics operation returns EP curves computed during an HD analysis. This operation now returns an error message if a negative number is specified as a value in the query.
This operation supports query string parameters that filter the HD EP analysis result data. A keyName
(one of returnPeriod
, criticalProbability
, or validFinancialPerspectiveKeys
) must be specified as a query parameter. If the keyName
is returnPeriod
or criticalProbability
, the specified keyValue
query parameter must be a positive number, i.e. greater than 0.0, or the API returns an error message. If the keyName
is validFinancialPerspectiveKeys
, the keyValue
is a string that identifies a financial perspective, i.e. GU_LOSS
or GR_LOSS
.
For example,
curl --request GET \
--url 'https:/{host}/platform/riskdata/v1/analyses/67/ep/interpolate? \
perspectiveCode=GS& \
exposureResourceId=56& \
exposureResourceType=PORTFOLIO& \
keyName=RETURNPERIOD& \keyValue=7' \
--header 'Authorization: XXXXXXXXXX' \
--header 'accept: application/json'