| GET | /api/riskstore/eventset/search | Search for event sets |
|---|
<?php namespace dtos;
use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};
// @DataContract
class QueryBase implements JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var int|null */
public ?int $skip=null,
// @DataMember(Order=2)
/** @var int|null */
public ?int $take=null,
// @DataMember(Order=3)
/** @var string|null */
public ?string $orderBy=null,
// @DataMember(Order=4)
/** @var string|null */
public ?string $orderByDesc=null,
// @DataMember(Order=5)
/** @var string|null */
public ?string $include=null,
// @DataMember(Order=6)
/** @var string|null */
public ?string $fields=null,
// @DataMember(Order=7)
/** @var array<string,string>|null */
public ?array $meta=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['skip'])) $this->skip = $o['skip'];
if (isset($o['take'])) $this->take = $o['take'];
if (isset($o['orderBy'])) $this->orderBy = $o['orderBy'];
if (isset($o['orderByDesc'])) $this->orderByDesc = $o['orderByDesc'];
if (isset($o['include'])) $this->include = $o['include'];
if (isset($o['fields'])) $this->fields = $o['fields'];
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->skip)) $o['skip'] = $this->skip;
if (isset($this->take)) $o['take'] = $this->take;
if (isset($this->orderBy)) $o['orderBy'] = $this->orderBy;
if (isset($this->orderByDesc)) $o['orderByDesc'] = $this->orderByDesc;
if (isset($this->include)) $o['include'] = $this->include;
if (isset($this->fields)) $o['fields'] = $this->fields;
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
return empty($o) ? new class(){} : $o;
}
}
/**
* @template T
*/
class QueryDb extends QueryBase implements JsonSerializable
{
public array $genericArgs = [];
public static function create(array $genericArgs=[]): QueryDb {
$to = new QueryDb();
$to->genericArgs = $genericArgs;
return $to;
}
/**
* @param int|null $skip
* @param int|null $take
* @param string|null $orderBy
* @param string|null $orderByDesc
* @param string|null $include
* @param string|null $fields
* @param array<string,string>|null $meta
*/
public function __construct(
mixed $skip=null,
mixed $take=null,
mixed $orderBy=null,
mixed $orderByDesc=null,
mixed $include=null,
mixed $fields=null,
mixed $meta=null
) {
parent::__construct($skip,$take,$orderBy,$orderByDesc,$include,$fields,$meta);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
return empty($o) ? new class(){} : $o;
}
}
enum ProcessingStatus : int
{
case New = 0;
case Processing = 1;
case Failed = 10;
case Successful = 20;
}
class EventSetTelemetry implements JsonSerializable
{
public function __construct(
/** @var int */
public int $eventSetId=0,
/** @var DateTime|null */
public ?DateTime $startedDateTimeUtc=null,
/** @var DateTime|null */
public ?DateTime $endedDateTimeUct=null,
/** @var int */
public int $eventLossCount=0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['eventSetId'])) $this->eventSetId = $o['eventSetId'];
if (isset($o['startedDateTimeUtc'])) $this->startedDateTimeUtc = JsonConverters::from('DateTime', $o['startedDateTimeUtc']);
if (isset($o['endedDateTimeUct'])) $this->endedDateTimeUct = JsonConverters::from('DateTime', $o['endedDateTimeUct']);
if (isset($o['eventLossCount'])) $this->eventLossCount = $o['eventLossCount'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->eventSetId)) $o['eventSetId'] = $this->eventSetId;
if (isset($this->startedDateTimeUtc)) $o['startedDateTimeUtc'] = JsonConverters::to('DateTime', $this->startedDateTimeUtc);
if (isset($this->endedDateTimeUct)) $o['endedDateTimeUct'] = JsonConverters::to('DateTime', $this->endedDateTimeUct);
if (isset($this->eventLossCount)) $o['eventLossCount'] = $this->eventLossCount;
return empty($o) ? new class(){} : $o;
}
}
class EventSet implements JsonSerializable
{
public function __construct(
/** @var int */
public int $eventSetId=0,
/** @var ProcessingStatus|null */
public ?ProcessingStatus $processingStatus=null,
/** @var string|null */
public ?string $sourceModelSystem=null,
/** @var string|null */
public ?string $sourceEventSetId=null,
/** @var string|null */
public ?string $modelId=null,
/** @var int */
public int $perspectiveId=0,
/** @var int */
public int $simulationCount=0,
/** @var string|null */
public ?string $programCalculationId=null,
/** @var string|null */
public ?string $description=null,
/** @var float */
public float $limit=0.0,
/** @var int */
public int $reinstatements=0,
/** @var string|null */
public ?string $eventSourceType=null,
/** @var string|null */
public ?string $eventSetOriginId=null,
/** @var string|null */
public ?string $eventSetOriginName=null,
/** @var string|null */
public ?string $eventSetOriginType=null,
/** @var string|null */
public ?string $sourceEventSetLossContainer=null,
/** @var string|null */
public ?string $sourceEventSetLossPath=null,
/** @var string|null */
public ?string $resolution=null,
/** @var string|null */
public ?string $resultsHash=null,
/** @var float */
public float $expectedLossAggregate=0.0,
/** @var float */
public float $expectedLossOccurrence=0.0,
/** @var float */
public float $probabilityOfAttachment=0.0,
/** @var float */
public float $probabilityOfExhaustion=0.0,
/** @var DateTime */
public DateTime $approvedDateTimeUtc=new DateTime(),
/** @var string|null */
public ?string $approvedBy=null,
/** @var int */
public int $eventSourceId=0,
/** @var DateTime */
public DateTime $validFromUtc=new DateTime(),
/** @var DateTime */
public DateTime $validToUtc=new DateTime(),
/** @var string|null */
public ?string $container=null,
/** @var string|null */
public ?string $blobName=null,
/** @var DateTime */
public DateTime $updatedDateUtc=new DateTime(),
/** @var bool|null */
public ?bool $isArchived=null,
/** @var string|null */
public ?string $archivedLossDataBlobPath=null,
/** @var string|null */
public ?string $archivedLossDataHash=null,
/** @var EventSetTelemetry|null */
public ?EventSetTelemetry $eventSetTelemetry=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['eventSetId'])) $this->eventSetId = $o['eventSetId'];
if (isset($o['processingStatus'])) $this->processingStatus = JsonConverters::from('ProcessingStatus', $o['processingStatus']);
if (isset($o['sourceModelSystem'])) $this->sourceModelSystem = $o['sourceModelSystem'];
if (isset($o['sourceEventSetId'])) $this->sourceEventSetId = $o['sourceEventSetId'];
if (isset($o['modelId'])) $this->modelId = $o['modelId'];
if (isset($o['perspectiveId'])) $this->perspectiveId = $o['perspectiveId'];
if (isset($o['simulationCount'])) $this->simulationCount = $o['simulationCount'];
if (isset($o['programCalculationId'])) $this->programCalculationId = $o['programCalculationId'];
if (isset($o['description'])) $this->description = $o['description'];
if (isset($o['limit'])) $this->limit = $o['limit'];
if (isset($o['reinstatements'])) $this->reinstatements = $o['reinstatements'];
if (isset($o['eventSourceType'])) $this->eventSourceType = $o['eventSourceType'];
if (isset($o['eventSetOriginId'])) $this->eventSetOriginId = $o['eventSetOriginId'];
if (isset($o['eventSetOriginName'])) $this->eventSetOriginName = $o['eventSetOriginName'];
if (isset($o['eventSetOriginType'])) $this->eventSetOriginType = $o['eventSetOriginType'];
if (isset($o['sourceEventSetLossContainer'])) $this->sourceEventSetLossContainer = $o['sourceEventSetLossContainer'];
if (isset($o['sourceEventSetLossPath'])) $this->sourceEventSetLossPath = $o['sourceEventSetLossPath'];
if (isset($o['resolution'])) $this->resolution = $o['resolution'];
if (isset($o['resultsHash'])) $this->resultsHash = $o['resultsHash'];
if (isset($o['expectedLossAggregate'])) $this->expectedLossAggregate = $o['expectedLossAggregate'];
if (isset($o['expectedLossOccurrence'])) $this->expectedLossOccurrence = $o['expectedLossOccurrence'];
if (isset($o['probabilityOfAttachment'])) $this->probabilityOfAttachment = $o['probabilityOfAttachment'];
if (isset($o['probabilityOfExhaustion'])) $this->probabilityOfExhaustion = $o['probabilityOfExhaustion'];
if (isset($o['approvedDateTimeUtc'])) $this->approvedDateTimeUtc = JsonConverters::from('DateTime', $o['approvedDateTimeUtc']);
if (isset($o['approvedBy'])) $this->approvedBy = $o['approvedBy'];
if (isset($o['eventSourceId'])) $this->eventSourceId = $o['eventSourceId'];
if (isset($o['validFromUtc'])) $this->validFromUtc = JsonConverters::from('DateTime', $o['validFromUtc']);
if (isset($o['validToUtc'])) $this->validToUtc = JsonConverters::from('DateTime', $o['validToUtc']);
if (isset($o['container'])) $this->container = $o['container'];
if (isset($o['blobName'])) $this->blobName = $o['blobName'];
if (isset($o['updatedDateUtc'])) $this->updatedDateUtc = JsonConverters::from('DateTime', $o['updatedDateUtc']);
if (isset($o['isArchived'])) $this->isArchived = $o['isArchived'];
if (isset($o['archivedLossDataBlobPath'])) $this->archivedLossDataBlobPath = $o['archivedLossDataBlobPath'];
if (isset($o['archivedLossDataHash'])) $this->archivedLossDataHash = $o['archivedLossDataHash'];
if (isset($o['eventSetTelemetry'])) $this->eventSetTelemetry = JsonConverters::from('EventSetTelemetry', $o['eventSetTelemetry']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->eventSetId)) $o['eventSetId'] = $this->eventSetId;
if (isset($this->processingStatus)) $o['processingStatus'] = JsonConverters::to('ProcessingStatus', $this->processingStatus);
if (isset($this->sourceModelSystem)) $o['sourceModelSystem'] = $this->sourceModelSystem;
if (isset($this->sourceEventSetId)) $o['sourceEventSetId'] = $this->sourceEventSetId;
if (isset($this->modelId)) $o['modelId'] = $this->modelId;
if (isset($this->perspectiveId)) $o['perspectiveId'] = $this->perspectiveId;
if (isset($this->simulationCount)) $o['simulationCount'] = $this->simulationCount;
if (isset($this->programCalculationId)) $o['programCalculationId'] = $this->programCalculationId;
if (isset($this->description)) $o['description'] = $this->description;
if (isset($this->limit)) $o['limit'] = $this->limit;
if (isset($this->reinstatements)) $o['reinstatements'] = $this->reinstatements;
if (isset($this->eventSourceType)) $o['eventSourceType'] = $this->eventSourceType;
if (isset($this->eventSetOriginId)) $o['eventSetOriginId'] = $this->eventSetOriginId;
if (isset($this->eventSetOriginName)) $o['eventSetOriginName'] = $this->eventSetOriginName;
if (isset($this->eventSetOriginType)) $o['eventSetOriginType'] = $this->eventSetOriginType;
if (isset($this->sourceEventSetLossContainer)) $o['sourceEventSetLossContainer'] = $this->sourceEventSetLossContainer;
if (isset($this->sourceEventSetLossPath)) $o['sourceEventSetLossPath'] = $this->sourceEventSetLossPath;
if (isset($this->resolution)) $o['resolution'] = $this->resolution;
if (isset($this->resultsHash)) $o['resultsHash'] = $this->resultsHash;
if (isset($this->expectedLossAggregate)) $o['expectedLossAggregate'] = $this->expectedLossAggregate;
if (isset($this->expectedLossOccurrence)) $o['expectedLossOccurrence'] = $this->expectedLossOccurrence;
if (isset($this->probabilityOfAttachment)) $o['probabilityOfAttachment'] = $this->probabilityOfAttachment;
if (isset($this->probabilityOfExhaustion)) $o['probabilityOfExhaustion'] = $this->probabilityOfExhaustion;
if (isset($this->approvedDateTimeUtc)) $o['approvedDateTimeUtc'] = JsonConverters::to('DateTime', $this->approvedDateTimeUtc);
if (isset($this->approvedBy)) $o['approvedBy'] = $this->approvedBy;
if (isset($this->eventSourceId)) $o['eventSourceId'] = $this->eventSourceId;
if (isset($this->validFromUtc)) $o['validFromUtc'] = JsonConverters::to('DateTime', $this->validFromUtc);
if (isset($this->validToUtc)) $o['validToUtc'] = JsonConverters::to('DateTime', $this->validToUtc);
if (isset($this->container)) $o['container'] = $this->container;
if (isset($this->blobName)) $o['blobName'] = $this->blobName;
if (isset($this->updatedDateUtc)) $o['updatedDateUtc'] = JsonConverters::to('DateTime', $this->updatedDateUtc);
if (isset($this->isArchived)) $o['isArchived'] = $this->isArchived;
if (isset($this->archivedLossDataBlobPath)) $o['archivedLossDataBlobPath'] = $this->archivedLossDataBlobPath;
if (isset($this->archivedLossDataHash)) $o['archivedLossDataHash'] = $this->archivedLossDataHash;
if (isset($this->eventSetTelemetry)) $o['eventSetTelemetry'] = JsonConverters::to('EventSetTelemetry', $this->eventSetTelemetry);
return empty($o) ? new class(){} : $o;
}
}
/**
* @template QueryDb of EventSet
*/
class FindEventSetRequest extends QueryDb implements JsonSerializable
{
/**
* @param int|null $skip
* @param int|null $take
* @param string|null $orderBy
* @param string|null $orderByDesc
* @param string|null $include
* @param string|null $fields
* @param array<string,string>|null $meta
*/
public function __construct(
?int $skip=null,
?int $take=null,
?string $orderBy=null,
?string $orderByDesc=null,
?string $include=null,
?string $fields=null,
?array $meta=null,
/** @description Source Model System */
// @ApiMember(DataType="string", Description="Source Model System")
/** @var string|null */
public ?string $sourceModelSystem=null,
/** @description Model Id */
// @ApiMember(DataType="string", Description="Model Id")
/** @var string|null */
public ?string $modelId=null,
/** @description The perspective id for the event set */
// @ApiMember(DataType="integer", Description="The perspective id for the event set", Format="int32")
/** @var int|null */
public ?int $perspectiveId=null,
/** @description Source Event Set Id */
// @ApiMember(DataType="string", Description="Source Event Set Id", Format="uuid")
/** @var string|null */
public ?string $sourceEventSetId=null
) {
parent::__construct($skip,$take,$orderBy,$orderByDesc,$include,$fields,$meta);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['sourceModelSystem'])) $this->sourceModelSystem = $o['sourceModelSystem'];
if (isset($o['modelId'])) $this->modelId = $o['modelId'];
if (isset($o['perspectiveId'])) $this->perspectiveId = $o['perspectiveId'];
if (isset($o['sourceEventSetId'])) $this->sourceEventSetId = $o['sourceEventSetId'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->sourceModelSystem)) $o['sourceModelSystem'] = $this->sourceModelSystem;
if (isset($this->modelId)) $o['modelId'] = $this->modelId;
if (isset($this->perspectiveId)) $o['perspectiveId'] = $this->perspectiveId;
if (isset($this->sourceEventSetId)) $o['sourceEventSetId'] = $this->sourceEventSetId;
return empty($o) ? new class(){} : $o;
}
}
enum ResultOutputLevel : string
{
case NotSet = 'NotSet';
case PortfolioMetrics = 'PortfolioMetrics';
case Curve = 'Curve';
case YLT = 'YLT';
case TailIntensity = 'TailIntensity';
case DealYlt = 'DealYlt';
case DealElt = 'DealElt';
case DealEltWithIndustryLoss = 'DealEltWithIndustryLoss';
case PortfolioElt = 'PortfolioElt';
case PortfolioEltWithIndustryLoss = 'PortfolioEltWithIndustryLoss';
case EventSetGeneration = 'EventSetGeneration';
case PortfolioRaps = 'PortfolioRaps';
case DealRaps = 'DealRaps';
case PortfolioSepyIndustryLoss = 'PortfolioSepyIndustryLoss';
case DealSepyIndustryLoss = 'DealSepyIndustryLoss';
}
class AnalysisPortfolioEventSetConfiguration implements IObjectWithId, IHasAnalysisId, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var int */
public int $id=0,
// @DataMember(Order=2)
/** @var int */
public int $analysisId=0,
// @DataMember(Order=3)
/** @var int */
public int $analysisConfigurationId=0,
// @DataMember(Order=4)
/** @var string|null */
public ?string $portfolioName=null,
// @DataMember(Order=5)
/** @var string|null */
public ?string $modelId=null,
// @DataMember(Order=6)
/** @var string */
public string $rowIdentifier=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['analysisId'])) $this->analysisId = $o['analysisId'];
if (isset($o['analysisConfigurationId'])) $this->analysisConfigurationId = $o['analysisConfigurationId'];
if (isset($o['portfolioName'])) $this->portfolioName = $o['portfolioName'];
if (isset($o['modelId'])) $this->modelId = $o['modelId'];
if (isset($o['rowIdentifier'])) $this->rowIdentifier = $o['rowIdentifier'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->analysisId)) $o['analysisId'] = $this->analysisId;
if (isset($this->analysisConfigurationId)) $o['analysisConfigurationId'] = $this->analysisConfigurationId;
if (isset($this->portfolioName)) $o['portfolioName'] = $this->portfolioName;
if (isset($this->modelId)) $o['modelId'] = $this->modelId;
if (isset($this->rowIdentifier)) $o['rowIdentifier'] = $this->rowIdentifier;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class AnalysisConfiguration implements IObjectWithId, IHasAnalysisId, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var int */
public int $id=0,
// @DataMember(Order=2)
/** @var int */
public int $analysisId=0,
// @DataMember(Order=3)
/** @var DateTime|null */
public ?DateTime $windowStartDate=null,
// @DataMember(Order=4)
/** @var DateTime|null */
public ?DateTime $windowEndDate=null,
// @DataMember(Order=5)
/** @var bool|null */
public ?bool $standardEnabled=null,
// @DataMember(Order=6)
/** @var bool|null */
public ?bool $runOffEnabled=null,
// @DataMember(Order=7)
/** @var bool|null */
public ?bool $aggregateEnabled=null,
// @DataMember(Order=8)
/** @var bool|null */
public ?bool $occurrenceEnabled=null,
// @DataMember(Order=9)
/** @var bool|null */
public ?bool $nettEnabled=null,
// @DataMember(Order=10)
/** @var bool|null */
public ?bool $grossEnabled=null,
// @DataMember(Order=11)
/** @var float|null */
public ?float $tailIntensityPercentageStart=null,
// @DataMember(Order=12)
/** @var float|null */
public ?float $tailIntensityPercentageEnd=null,
// @DataMember(Order=13)
/** @var int */
public int $metaRiskId=0,
// @DataMember(Order=14)
/** @var ResultOutputLevel|null */
public ?ResultOutputLevel $outputLevel=null,
// @DataMember(Order=15)
/** @var ProcessingStatus|null */
public ?ProcessingStatus $processingStatus=null,
// @DataMember(Order=16)
/** @var float|null */
public ?float $eventLossFloorStartRange=null,
// @DataMember(Order=17)
/** @var float|null */
public ?float $eventLossFloorEndRange=null,
// @DataMember(Order=18)
/** @var array<AnalysisPortfolioEventSetConfiguration>|null */
public ?array $analysisPortfolioEventSetConfigurations=null,
// @DataMember(Order=19)
/** @var string */
public string $rowIdentifier=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['analysisId'])) $this->analysisId = $o['analysisId'];
if (isset($o['windowStartDate'])) $this->windowStartDate = JsonConverters::from('DateTime', $o['windowStartDate']);
if (isset($o['windowEndDate'])) $this->windowEndDate = JsonConverters::from('DateTime', $o['windowEndDate']);
if (isset($o['standardEnabled'])) $this->standardEnabled = $o['standardEnabled'];
if (isset($o['runOffEnabled'])) $this->runOffEnabled = $o['runOffEnabled'];
if (isset($o['aggregateEnabled'])) $this->aggregateEnabled = $o['aggregateEnabled'];
if (isset($o['occurrenceEnabled'])) $this->occurrenceEnabled = $o['occurrenceEnabled'];
if (isset($o['nettEnabled'])) $this->nettEnabled = $o['nettEnabled'];
if (isset($o['grossEnabled'])) $this->grossEnabled = $o['grossEnabled'];
if (isset($o['tailIntensityPercentageStart'])) $this->tailIntensityPercentageStart = $o['tailIntensityPercentageStart'];
if (isset($o['tailIntensityPercentageEnd'])) $this->tailIntensityPercentageEnd = $o['tailIntensityPercentageEnd'];
if (isset($o['metaRiskId'])) $this->metaRiskId = $o['metaRiskId'];
if (isset($o['outputLevel'])) $this->outputLevel = JsonConverters::from('ResultOutputLevel', $o['outputLevel']);
if (isset($o['processingStatus'])) $this->processingStatus = JsonConverters::from('ProcessingStatus', $o['processingStatus']);
if (isset($o['eventLossFloorStartRange'])) $this->eventLossFloorStartRange = $o['eventLossFloorStartRange'];
if (isset($o['eventLossFloorEndRange'])) $this->eventLossFloorEndRange = $o['eventLossFloorEndRange'];
if (isset($o['analysisPortfolioEventSetConfigurations'])) $this->analysisPortfolioEventSetConfigurations = JsonConverters::fromArray('AnalysisPortfolioEventSetConfiguration', $o['analysisPortfolioEventSetConfigurations']);
if (isset($o['rowIdentifier'])) $this->rowIdentifier = $o['rowIdentifier'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->analysisId)) $o['analysisId'] = $this->analysisId;
if (isset($this->windowStartDate)) $o['windowStartDate'] = JsonConverters::to('DateTime', $this->windowStartDate);
if (isset($this->windowEndDate)) $o['windowEndDate'] = JsonConverters::to('DateTime', $this->windowEndDate);
if (isset($this->standardEnabled)) $o['standardEnabled'] = $this->standardEnabled;
if (isset($this->runOffEnabled)) $o['runOffEnabled'] = $this->runOffEnabled;
if (isset($this->aggregateEnabled)) $o['aggregateEnabled'] = $this->aggregateEnabled;
if (isset($this->occurrenceEnabled)) $o['occurrenceEnabled'] = $this->occurrenceEnabled;
if (isset($this->nettEnabled)) $o['nettEnabled'] = $this->nettEnabled;
if (isset($this->grossEnabled)) $o['grossEnabled'] = $this->grossEnabled;
if (isset($this->tailIntensityPercentageStart)) $o['tailIntensityPercentageStart'] = $this->tailIntensityPercentageStart;
if (isset($this->tailIntensityPercentageEnd)) $o['tailIntensityPercentageEnd'] = $this->tailIntensityPercentageEnd;
if (isset($this->metaRiskId)) $o['metaRiskId'] = $this->metaRiskId;
if (isset($this->outputLevel)) $o['outputLevel'] = JsonConverters::to('ResultOutputLevel', $this->outputLevel);
if (isset($this->processingStatus)) $o['processingStatus'] = JsonConverters::to('ProcessingStatus', $this->processingStatus);
if (isset($this->eventLossFloorStartRange)) $o['eventLossFloorStartRange'] = $this->eventLossFloorStartRange;
if (isset($this->eventLossFloorEndRange)) $o['eventLossFloorEndRange'] = $this->eventLossFloorEndRange;
if (isset($this->analysisPortfolioEventSetConfigurations)) $o['analysisPortfolioEventSetConfigurations'] = JsonConverters::toArray('AnalysisPortfolioEventSetConfiguration', $this->analysisPortfolioEventSetConfigurations);
if (isset($this->rowIdentifier)) $o['rowIdentifier'] = $this->rowIdentifier;
return empty($o) ? new class(){} : $o;
}
}
enum TransactionType : string
{
case NotSet = 'NotSet';
case S = 'S';
case B = 'B';
}
// @DataContract
class AnalysisPortfolioAllocation implements IObjectWithId, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var int */
public int $id=0,
// @DataMember(Order=2)
/** @var int */
public int $analysisDealId=0,
// @DataMember(Order=3)
// @Validate(Validator="NotEmpty", Message="PortfolioName is mandatory")
/** @var string */
public string $portfolioName='',
// @DataMember(Order=4)
/** @var float */
public float $allocationPercentage=0.0,
// @DataMember(Order=5)
/** @var string */
public string $rowIdentifier=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['analysisDealId'])) $this->analysisDealId = $o['analysisDealId'];
if (isset($o['portfolioName'])) $this->portfolioName = $o['portfolioName'];
if (isset($o['allocationPercentage'])) $this->allocationPercentage = $o['allocationPercentage'];
if (isset($o['rowIdentifier'])) $this->rowIdentifier = $o['rowIdentifier'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->analysisDealId)) $o['analysisDealId'] = $this->analysisDealId;
if (isset($this->portfolioName)) $o['portfolioName'] = $this->portfolioName;
if (isset($this->allocationPercentage)) $o['allocationPercentage'] = $this->allocationPercentage;
if (isset($this->rowIdentifier)) $o['rowIdentifier'] = $this->rowIdentifier;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class AnalysisDeal implements IObjectWithId, IHasAnalysisId, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var int */
public int $id=0,
// @DataMember(Order=2)
/** @var int */
public int $analysisId=0,
// @DataMember(Order=3)
/** @var string|null */
public ?string $sourceDealId=null,
// @DataMember(Order=4)
/** @var string|null */
public ?string $dealRef=null,
// @DataMember(Order=5)
/** @var string|null */
public ?string $sourceDealSystem=null,
// @DataMember(Order=6)
/** @var int */
public int $eventSetId=0,
// @DataMember(Order=7)
/** @var float */
public float $rol=0.0,
// @DataMember(Order=8)
/** @var float */
public float $limit=0.0,
// @DataMember(Order=9)
/** @var DateTime */
public DateTime $inceptionDate=new DateTime(),
// @DataMember(Order=10)
/** @var DateTime */
public DateTime $expiryDate=new DateTime(),
// @DataMember(Order=11)
/** @var TransactionType|null */
public ?TransactionType $transactionType=null,
// @DataMember(Order=12)
/** @var array<AnalysisPortfolioAllocation>|null */
public ?array $allocations=null,
// @DataMember(Order=13)
/** @var int|null */
public ?int $perspectiveIdOverride=null,
// @DataMember(Order=14)
/** @var int|null */
public ?int $eventSetIdOverride=null,
// @DataMember(Order=15)
/** @var DateTime|null */
public ?DateTime $modelAsOfDateOverride=null,
// @DataMember(Order=16)
/** @var string|null */
public ?string $sourceModelSystemOverride=null,
// @DataMember(Order=17)
/** @var string|null */
public ?string $sourceModelIdOverride=null,
// @DataMember(Order=18)
/** @var string|null */
public ?string $sourceEventSetIdOverride=null,
// @DataMember(Order=19)
/** @var string|null */
public ?string $eventSourceSystemOverride=null,
// @DataMember(Order=20)
/** @var string */
public string $rowIdentifier=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['analysisId'])) $this->analysisId = $o['analysisId'];
if (isset($o['sourceDealId'])) $this->sourceDealId = $o['sourceDealId'];
if (isset($o['dealRef'])) $this->dealRef = $o['dealRef'];
if (isset($o['sourceDealSystem'])) $this->sourceDealSystem = $o['sourceDealSystem'];
if (isset($o['eventSetId'])) $this->eventSetId = $o['eventSetId'];
if (isset($o['rol'])) $this->rol = $o['rol'];
if (isset($o['limit'])) $this->limit = $o['limit'];
if (isset($o['inceptionDate'])) $this->inceptionDate = JsonConverters::from('DateTime', $o['inceptionDate']);
if (isset($o['expiryDate'])) $this->expiryDate = JsonConverters::from('DateTime', $o['expiryDate']);
if (isset($o['transactionType'])) $this->transactionType = JsonConverters::from('TransactionType', $o['transactionType']);
if (isset($o['allocations'])) $this->allocations = JsonConverters::fromArray('AnalysisPortfolioAllocation', $o['allocations']);
if (isset($o['perspectiveIdOverride'])) $this->perspectiveIdOverride = $o['perspectiveIdOverride'];
if (isset($o['eventSetIdOverride'])) $this->eventSetIdOverride = $o['eventSetIdOverride'];
if (isset($o['modelAsOfDateOverride'])) $this->modelAsOfDateOverride = JsonConverters::from('DateTime', $o['modelAsOfDateOverride']);
if (isset($o['sourceModelSystemOverride'])) $this->sourceModelSystemOverride = $o['sourceModelSystemOverride'];
if (isset($o['sourceModelIdOverride'])) $this->sourceModelIdOverride = $o['sourceModelIdOverride'];
if (isset($o['sourceEventSetIdOverride'])) $this->sourceEventSetIdOverride = $o['sourceEventSetIdOverride'];
if (isset($o['eventSourceSystemOverride'])) $this->eventSourceSystemOverride = $o['eventSourceSystemOverride'];
if (isset($o['rowIdentifier'])) $this->rowIdentifier = $o['rowIdentifier'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->analysisId)) $o['analysisId'] = $this->analysisId;
if (isset($this->sourceDealId)) $o['sourceDealId'] = $this->sourceDealId;
if (isset($this->dealRef)) $o['dealRef'] = $this->dealRef;
if (isset($this->sourceDealSystem)) $o['sourceDealSystem'] = $this->sourceDealSystem;
if (isset($this->eventSetId)) $o['eventSetId'] = $this->eventSetId;
if (isset($this->rol)) $o['rol'] = $this->rol;
if (isset($this->limit)) $o['limit'] = $this->limit;
if (isset($this->inceptionDate)) $o['inceptionDate'] = JsonConverters::to('DateTime', $this->inceptionDate);
if (isset($this->expiryDate)) $o['expiryDate'] = JsonConverters::to('DateTime', $this->expiryDate);
if (isset($this->transactionType)) $o['transactionType'] = JsonConverters::to('TransactionType', $this->transactionType);
if (isset($this->allocations)) $o['allocations'] = JsonConverters::toArray('AnalysisPortfolioAllocation', $this->allocations);
if (isset($this->perspectiveIdOverride)) $o['perspectiveIdOverride'] = $this->perspectiveIdOverride;
if (isset($this->eventSetIdOverride)) $o['eventSetIdOverride'] = $this->eventSetIdOverride;
if (isset($this->modelAsOfDateOverride)) $o['modelAsOfDateOverride'] = JsonConverters::to('DateTime', $this->modelAsOfDateOverride);
if (isset($this->sourceModelSystemOverride)) $o['sourceModelSystemOverride'] = $this->sourceModelSystemOverride;
if (isset($this->sourceModelIdOverride)) $o['sourceModelIdOverride'] = $this->sourceModelIdOverride;
if (isset($this->sourceEventSetIdOverride)) $o['sourceEventSetIdOverride'] = $this->sourceEventSetIdOverride;
if (isset($this->eventSourceSystemOverride)) $o['eventSourceSystemOverride'] = $this->eventSourceSystemOverride;
if (isset($this->rowIdentifier)) $o['rowIdentifier'] = $this->rowIdentifier;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class AnalysisEventIdFilter implements IObjectWithId, IHasAnalysisId, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var int */
public int $id=0,
// @DataMember(Order=2)
/** @var int */
public int $analysisId=0,
// @DataMember(Order=3)
/** @var int */
public int $eventSourceId=0,
// @DataMember(Order=4)
/** @var int */
public int $eventId=0,
// @DataMember(Order=5)
/** @var string */
public string $rowIdentifier=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['analysisId'])) $this->analysisId = $o['analysisId'];
if (isset($o['eventSourceId'])) $this->eventSourceId = $o['eventSourceId'];
if (isset($o['eventId'])) $this->eventId = $o['eventId'];
if (isset($o['rowIdentifier'])) $this->rowIdentifier = $o['rowIdentifier'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->analysisId)) $o['analysisId'] = $this->analysisId;
if (isset($this->eventSourceId)) $o['eventSourceId'] = $this->eventSourceId;
if (isset($this->eventId)) $o['eventId'] = $this->eventId;
if (isset($this->rowIdentifier)) $o['rowIdentifier'] = $this->rowIdentifier;
return empty($o) ? new class(){} : $o;
}
}
enum MessageType : string
{
case NotSet = 'NotSet';
case Persistence = 'Persistence';
case Archival = 'Archival';
}
// @DataContract
class MessageTracking implements JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string */
public string $id='',
// @DataMember(Order=2)
/** @var int|null */
public ?int $analysisId=null,
// @DataMember(Order=3)
/** @var ProcessingStatus|null */
public ?ProcessingStatus $processingStatus=null,
// @DataMember(Order=4)
/** @var MessageType|null */
public ?MessageType $messageType=null,
// @DataMember(Order=5)
/** @var DateTime */
public DateTime $createdDateUtc=new DateTime(),
// @DataMember(Order=6)
/** @var DateTime */
public DateTime $updatedDateUtc=new DateTime()
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['analysisId'])) $this->analysisId = $o['analysisId'];
if (isset($o['processingStatus'])) $this->processingStatus = JsonConverters::from('ProcessingStatus', $o['processingStatus']);
if (isset($o['messageType'])) $this->messageType = JsonConverters::from('MessageType', $o['messageType']);
if (isset($o['createdDateUtc'])) $this->createdDateUtc = JsonConverters::from('DateTime', $o['createdDateUtc']);
if (isset($o['updatedDateUtc'])) $this->updatedDateUtc = JsonConverters::from('DateTime', $o['updatedDateUtc']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->analysisId)) $o['analysisId'] = $this->analysisId;
if (isset($this->processingStatus)) $o['processingStatus'] = JsonConverters::to('ProcessingStatus', $this->processingStatus);
if (isset($this->messageType)) $o['messageType'] = JsonConverters::to('MessageType', $this->messageType);
if (isset($this->createdDateUtc)) $o['createdDateUtc'] = JsonConverters::to('DateTime', $this->createdDateUtc);
if (isset($this->updatedDateUtc)) $o['updatedDateUtc'] = JsonConverters::to('DateTime', $this->updatedDateUtc);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class Analysis implements IObjectWithId, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var int */
public int $id=0,
// @DataMember(Order=2)
/** @var string|null */
public ?string $name=null,
// @DataMember(Order=3)
/** @var DateTime|null */
public ?DateTime $modelAsOfDate=null,
// @DataMember(Order=4)
/** @var int */
public int $perspectiveId=0,
// @DataMember(Order=5)
/** @var array<AnalysisConfiguration>|null */
public ?array $configurations=null,
// @DataMember(Order=6)
/** @var array<AnalysisDeal>|null */
public ?array $deals=null,
// @DataMember(Order=7)
/** @var array<AnalysisEventIdFilter>|null */
public ?array $eventIdFilters=null,
// @DataMember(Order=8)
/** @var string|null */
public ?string $createdBy=null,
// @DataMember(Order=9)
/** @var DateTime */
public DateTime $createdDateUtc=new DateTime(),
// @DataMember(Order=10)
/** @var DateTime|null */
public ?DateTime $completedDateUtc=null,
// @DataMember(Order=11)
/** @var int|null */
public ?int $legacyAnalysisId=null,
// @DataMember(Order=12)
/** @var array<MessageTracking>|null */
public ?array $resultPersistenceTracking=null,
// @DataMember(Order=13)
/** @var ProcessingStatus|null */
public ?ProcessingStatus $processingStatus=null,
// @DataMember(Order=14)
/** @var bool|null */
public ?bool $saveResults=null,
// @DataMember(Order=15)
/** @var string|null */
public ?string $eventSourceSystem=null,
// @DataMember(Order=16)
/** @var DateTime */
public DateTime $updatedDateUtc=new DateTime(),
// @DataMember(Order=17)
/** @var bool|null */
public ?bool $isExpired=null,
// @DataMember(Order=18)
/** @var string */
public string $rowIdentifier='',
// @DataMember(Order=19)
/** @var string|null */
public ?string $errorMessage=null,
/** @description Take the minimum simulation count when we have different simulations between event sets */
// @DataMember(Order=20)
// @ApiMember(DataType="boolean", Description="Take the minimum simulation count when we have different simulations between event sets")
/** @var bool|null */
public ?bool $ignoreSimulationCountMismatch=null,
// @DataMember(Order=21)
// @Ignore()
/** @var ProcessingStatus|null */
public ?ProcessingStatus $finalStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['name'])) $this->name = $o['name'];
if (isset($o['modelAsOfDate'])) $this->modelAsOfDate = JsonConverters::from('DateTime', $o['modelAsOfDate']);
if (isset($o['perspectiveId'])) $this->perspectiveId = $o['perspectiveId'];
if (isset($o['configurations'])) $this->configurations = JsonConverters::fromArray('AnalysisConfiguration', $o['configurations']);
if (isset($o['deals'])) $this->deals = JsonConverters::fromArray('AnalysisDeal', $o['deals']);
if (isset($o['eventIdFilters'])) $this->eventIdFilters = JsonConverters::fromArray('AnalysisEventIdFilter', $o['eventIdFilters']);
if (isset($o['createdBy'])) $this->createdBy = $o['createdBy'];
if (isset($o['createdDateUtc'])) $this->createdDateUtc = JsonConverters::from('DateTime', $o['createdDateUtc']);
if (isset($o['completedDateUtc'])) $this->completedDateUtc = JsonConverters::from('DateTime', $o['completedDateUtc']);
if (isset($o['legacyAnalysisId'])) $this->legacyAnalysisId = $o['legacyAnalysisId'];
if (isset($o['resultPersistenceTracking'])) $this->resultPersistenceTracking = JsonConverters::fromArray('MessageTracking', $o['resultPersistenceTracking']);
if (isset($o['processingStatus'])) $this->processingStatus = JsonConverters::from('ProcessingStatus', $o['processingStatus']);
if (isset($o['saveResults'])) $this->saveResults = $o['saveResults'];
if (isset($o['eventSourceSystem'])) $this->eventSourceSystem = $o['eventSourceSystem'];
if (isset($o['updatedDateUtc'])) $this->updatedDateUtc = JsonConverters::from('DateTime', $o['updatedDateUtc']);
if (isset($o['isExpired'])) $this->isExpired = $o['isExpired'];
if (isset($o['rowIdentifier'])) $this->rowIdentifier = $o['rowIdentifier'];
if (isset($o['errorMessage'])) $this->errorMessage = $o['errorMessage'];
if (isset($o['ignoreSimulationCountMismatch'])) $this->ignoreSimulationCountMismatch = $o['ignoreSimulationCountMismatch'];
if (isset($o['finalStatus'])) $this->finalStatus = JsonConverters::from('ProcessingStatus', $o['finalStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->name)) $o['name'] = $this->name;
if (isset($this->modelAsOfDate)) $o['modelAsOfDate'] = JsonConverters::to('DateTime', $this->modelAsOfDate);
if (isset($this->perspectiveId)) $o['perspectiveId'] = $this->perspectiveId;
if (isset($this->configurations)) $o['configurations'] = JsonConverters::toArray('AnalysisConfiguration', $this->configurations);
if (isset($this->deals)) $o['deals'] = JsonConverters::toArray('AnalysisDeal', $this->deals);
if (isset($this->eventIdFilters)) $o['eventIdFilters'] = JsonConverters::toArray('AnalysisEventIdFilter', $this->eventIdFilters);
if (isset($this->createdBy)) $o['createdBy'] = $this->createdBy;
if (isset($this->createdDateUtc)) $o['createdDateUtc'] = JsonConverters::to('DateTime', $this->createdDateUtc);
if (isset($this->completedDateUtc)) $o['completedDateUtc'] = JsonConverters::to('DateTime', $this->completedDateUtc);
if (isset($this->legacyAnalysisId)) $o['legacyAnalysisId'] = $this->legacyAnalysisId;
if (isset($this->resultPersistenceTracking)) $o['resultPersistenceTracking'] = JsonConverters::toArray('MessageTracking', $this->resultPersistenceTracking);
if (isset($this->processingStatus)) $o['processingStatus'] = JsonConverters::to('ProcessingStatus', $this->processingStatus);
if (isset($this->saveResults)) $o['saveResults'] = $this->saveResults;
if (isset($this->eventSourceSystem)) $o['eventSourceSystem'] = $this->eventSourceSystem;
if (isset($this->updatedDateUtc)) $o['updatedDateUtc'] = JsonConverters::to('DateTime', $this->updatedDateUtc);
if (isset($this->isExpired)) $o['isExpired'] = $this->isExpired;
if (isset($this->rowIdentifier)) $o['rowIdentifier'] = $this->rowIdentifier;
if (isset($this->errorMessage)) $o['errorMessage'] = $this->errorMessage;
if (isset($this->ignoreSimulationCountMismatch)) $o['ignoreSimulationCountMismatch'] = $this->ignoreSimulationCountMismatch;
if (isset($this->finalStatus)) $o['finalStatus'] = JsonConverters::to('ProcessingStatus', $this->finalStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
/**
* @template T
*/
class QueryResponse implements JsonSerializable
{
public array $genericArgs = [];
public static function create(array $genericArgs=[]): QueryResponse {
$to = new QueryResponse();
$to->genericArgs = $genericArgs;
return $to;
}
public function __construct(
// @DataMember(Order=1)
/** @var int */
public mixed $offset=0,
// @DataMember(Order=2)
/** @var int */
public mixed $total=0,
// @DataMember(Order=3)
/** @var array<Analysis>|null */
public mixed $results=null,
// @DataMember(Order=4)
/** @var array<string,string>|null */
public mixed $meta=null,
// @DataMember(Order=5)
/** @var ResponseStatus|null */
public mixed $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['offset'])) $this->offset = $o['offset'];
if (isset($o['total'])) $this->total = $o['total'];
if (isset($o['results'])) $this->results = JsonConverters::fromArray('Analysis', $o['results']);
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->offset)) $o['offset'] = $this->offset;
if (isset($this->total)) $o['total'] = $this->total;
if (isset($this->results)) $o['results'] = JsonConverters::toArray('Analysis', $this->results);
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/riskstore/eventset/search HTTP/1.1 Host: riskstoreng-dev.nephila.com Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"offset":0,"total":0,"results":[{"eventSetId":0,"processingStatus":"New","sourceModelSystem":"String","sourceEventSetId":"String","modelId":"String","perspectiveId":0,"simulationCount":0,"programCalculationId":"String","description":"String","limit":0,"reinstatements":0,"eventSourceType":"String","eventSetOriginId":"String","eventSetOriginName":"String","eventSetOriginType":"String","sourceEventSetLossContainer":"String","sourceEventSetLossPath":"String","resolution":"String","resultsHash":"String","expectedLossAggregate":0,"expectedLossOccurrence":0,"probabilityOfAttachment":0,"probabilityOfExhaustion":0,"approvedDateTimeUtc":"0001-01-01T00:00:00.0000000Z","approvedBy":"String","eventSourceId":0,"validFromUtc":"0001-01-01T00:00:00.0000000Z","validToUtc":"0001-01-01T00:00:00.0000000Z","container":"String","blobName":"String","updatedDateUtc":"0001-01-01T00:00:00.0000000Z","isArchived":false,"archivedLossDataBlobPath":"String","archivedLossDataHash":"String","eventSetTelemetry":{"eventSetId":0,"startedDateTimeUtc":"0001-01-01T00:00:00.0000000Z","endedDateTimeUct":"0001-01-01T00:00:00.0000000Z","eventLossCount":0}}],"meta":{"String":"String"},"responseStatus":{"__type":"ServiceStack.ResponseStatus, ServiceStack.Interfaces","errorCode":"String","message":"String","stackTrace":"String","errors":[{"__type":"ServiceStack.ResponseError, ServiceStack.Interfaces","errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}