Compare
GET/scenarios/:scenarioId/diff/:otherScenarioId
Compares two scenarios and returns the differences. The resulting payload will contain only the entities that were either created, modified or deleted in/from the other scenario compared to the base scenario.
For example, if the mortgage was changed from a fixed rate mortgage to an interest only one, the payload will look similar to the example below, but with different values.
{
"debts": {
"created": [],
"deleted": [],
"modified": [
{
"base": {
"class": "Mortgage",
"name": "Mortgage",
"description": null,
"source": null,
"amount": "GBP350,000.00",
"startDate": "2019-04-17T16:05:30.729Z",
"endDate": "2045-04-17T16:05:30.729Z",
"balanceAmount": "GBP0.00",
"balanceDate": "2019-04-17T16:05:30.73Z",
"interestOnly": false,
"fixedRate": true,
"fixedRateValue": 0.03,
"variableRateIndex": 0,
"variableRateSpread": 0,
"property": {
"class": "ResidentialProperty",
"name": "House",
"description": null,
"source": null,
"country": "UK",
"region": null,
"state": null,
"city": null,
"value": "GBP500,000.00",
"valuationDate": "2019-04-17T15:59:43.278Z",
"primary": true,
"id": "5d0122ecf4bad40013cf7e65"
},
"id": "5d0122ef77c1550012cbd547"
},
"deltas": {
"interestOnly": {
"base": false,
"other": true
},
"fixedRate": {
"base": true,
"other": false
},
"fixedRateValue": {
"base": 0.03,
"other": 0
},
"variableRateSpread": {
"base": 0,
"other": 0.05
}
}
}
]
}
}
Each household entity contains three arrays.
{
"created": [],
"deleted": [],
"modified": []
}
created- contains all the newly created entities (debtsin the example above) that are present in the new scenario but are not in the base scenario.deleted- contains the entities that were deleted from the new scenario compared to the base scenario.modified- contains the entities whose values have changed compared to the entities in the base scenario.
Each entity will have the base entity and the deltas which contain the entity's properties that are affected.
In the above example the mortgage in the new scenario has the following changes:
{
"deltas": {
"interestOnly": {
"base": false,
"other": true
},
"fixedRate": {
"base": true,
"other": false
},
"fixedRateValue": {
"base": 0.03,
"other": 0
},
"variableRateSpread": {
"base": 0,
"other": 0.05
}
}
}
interestOnlywas changed fromfalsetotrue.fixedRatewas changed fromfalsetotrue.fixedRateValuewas changed from0.03to0.variableRateSpreadwas changed from0to0.05.
The changes cumulatively mean that in the new scenario the mortgage was changed from a fixed rate mortgage to be an interest only one.
Request
Path Parameters
scenarioId stringrequired
The scenario's id
otherScenarioId stringrequired
The other scenario's id
Responses
- 200
- 404
- 500
OK
- application/json
- Schema
- Example (from schema)
Schema
property name* DiffDto
created object[]
Entities that were created in the other scenario compared to the base scenario.
deleted object[]
Entities that were deleted from the other scenario compared to the base scenario.
modified object[]
Entities that were modified in the other scenario compared to the base scenario.
{}
Not Found
Internal Server Error
Loading...