Nephila RiskStore

<back to all web services

GetEventSetIngestStatusRequest

General
Requires Authentication
The following routes are available for this service:
GET/api/riskstore/eventset/ingest/statusGet the ingest status of eventsets previously published to RiskStore

// @DataContract
export class QueryBase
{
    // @DataMember(Order=1)
    public skip?: number;

    // @DataMember(Order=2)
    public take?: number;

    // @DataMember(Order=3)
    public orderBy: string;

    // @DataMember(Order=4)
    public orderByDesc: string;

    // @DataMember(Order=5)
    public include: string;

    // @DataMember(Order=6)
    public fields: string;

    // @DataMember(Order=7)
    public meta: { [index:string]: string; };

    public constructor(init?: Partial<QueryBase>) { (Object as any).assign(this, init); }
}

export class QueryDb<From, Into> extends QueryBase
{

    public constructor(init?: Partial<QueryDb<From, Into>>) { super(init); (Object as any).assign(this, init); }
}

export enum ProcessingStatus
{
    New = 0,
    Processing = 1,
    Failed = 10,
    Successful = 20,
}

export class EventSetProcessingStatus
{
    public eventSetId: number;
    public processingStatus: ProcessingStatus;
    public sourceModelSystem: string;
    public sourceEventSetId: string;
    public modelId: string;
    public programCalculationId: string;
    public eventSetOriginId: string;
    public perspectiveId: number;

    public constructor(init?: Partial<EventSetProcessingStatus>) { (Object as any).assign(this, init); }
}

export class EventSetTelemetry
{
    public eventSetId: number;
    public startedDateTimeUtc?: string;
    public endedDateTimeUct?: string;
    public eventLossCount: number;

    public constructor(init?: Partial<EventSetTelemetry>) { (Object as any).assign(this, init); }
}

export class EventSet
{
    public eventSetId: number;
    public processingStatus: ProcessingStatus;
    public sourceModelSystem: string;
    public sourceEventSetId: string;
    public modelId: string;
    public perspectiveId: number;
    public simulationCount: number;
    public programCalculationId: string;
    public description: string;
    public limit: number;
    public reinstatements: number;
    public eventSourceType: string;
    public eventSetOriginId: string;
    public eventSetOriginName: string;
    public eventSetOriginType: string;
    public sourceEventSetLossContainer: string;
    public sourceEventSetLossPath: string;
    public resolution: string;
    public resultsHash: string;
    public expectedLossAggregate: number;
    public expectedLossOccurrence: number;
    public probabilityOfAttachment: number;
    public probabilityOfExhaustion: number;
    public approvedDateTimeUtc: string;
    public approvedBy: string;
    public eventSourceId: number;
    public validFromUtc: string;
    public validToUtc: string;
    public container: string;
    public blobName: string;
    public updatedDateUtc: string;
    public isArchived: boolean;
    public archivedLossDataBlobPath: string;
    public archivedLossDataHash: string;
    public eventSetTelemetry: EventSetTelemetry;

    public constructor(init?: Partial<EventSet>) { (Object as any).assign(this, init); }
}

export class GetEventSetIngestStatusRequest extends QueryDb<EventSet, EventSetProcessingStatus>
{
    public eventSetId: number[];
    public processingStatus?: ProcessingStatus;
    public sourceEventSetId: string[];
    public modelId: string[];
    public programCalculationId: string[];
    public eventSetOriginId: string[];
    public perspectiveId?: number;

    public constructor(init?: Partial<GetEventSetIngestStatusRequest>) { super(init); (Object as any).assign(this, init); }
}

export enum ResultOutputLevel
{
    NotSet = 'NotSet',
    PortfolioMetrics = 'PortfolioMetrics',
    Curve = 'Curve',
    YLT = 'YLT',
    TailIntensity = 'TailIntensity',
    DealYlt = 'DealYlt',
    DealElt = 'DealElt',
    DealEltWithIndustryLoss = 'DealEltWithIndustryLoss',
    PortfolioElt = 'PortfolioElt',
    PortfolioEltWithIndustryLoss = 'PortfolioEltWithIndustryLoss',
    EventSetGeneration = 'EventSetGeneration',
    PortfolioRaps = 'PortfolioRaps',
    DealRaps = 'DealRaps',
    PortfolioSepyIndustryLoss = 'PortfolioSepyIndustryLoss',
    DealSepyIndustryLoss = 'DealSepyIndustryLoss',
}

export class AnalysisPortfolioEventSetConfiguration implements IObjectWithId, IHasAnalysisId
{
    // @DataMember(Order=1)
    public id: number;

    // @DataMember(Order=2)
    public analysisId: number;

    // @DataMember(Order=3)
    public analysisConfigurationId: number;

    // @DataMember(Order=4)
    public portfolioName: string;

    // @DataMember(Order=5)
    public modelId: string;

    // @DataMember(Order=6)
    public rowIdentifier: string;

    public constructor(init?: Partial<AnalysisPortfolioEventSetConfiguration>) { (Object as any).assign(this, init); }
}

// @DataContract
export class AnalysisConfiguration implements IObjectWithId, IHasAnalysisId
{
    // @DataMember(Order=1)
    public id: number;

    // @DataMember(Order=2)
    public analysisId: number;

    // @DataMember(Order=3)
    public windowStartDate?: string;

    // @DataMember(Order=4)
    public windowEndDate?: string;

    // @DataMember(Order=5)
    public standardEnabled: boolean;

    // @DataMember(Order=6)
    public runOffEnabled: boolean;

    // @DataMember(Order=7)
    public aggregateEnabled: boolean;

    // @DataMember(Order=8)
    public occurrenceEnabled: boolean;

    // @DataMember(Order=9)
    public nettEnabled: boolean;

    // @DataMember(Order=10)
    public grossEnabled: boolean;

    // @DataMember(Order=11)
    public tailIntensityPercentageStart?: number;

    // @DataMember(Order=12)
    public tailIntensityPercentageEnd?: number;

    // @DataMember(Order=13)
    public metaRiskId: number;

    // @DataMember(Order=14)
    public outputLevel: ResultOutputLevel;

    // @DataMember(Order=15)
    public processingStatus: ProcessingStatus;

    // @DataMember(Order=16)
    public eventLossFloorStartRange?: number;

    // @DataMember(Order=17)
    public eventLossFloorEndRange?: number;

    // @DataMember(Order=18)
    public analysisPortfolioEventSetConfigurations: AnalysisPortfolioEventSetConfiguration[];

    // @DataMember(Order=19)
    public rowIdentifier: string;

    public constructor(init?: Partial<AnalysisConfiguration>) { (Object as any).assign(this, init); }
}

export enum TransactionType
{
    NotSet = 'NotSet',
    S = 'S',
    B = 'B',
}

// @DataContract
export class AnalysisPortfolioAllocation implements IObjectWithId
{
    // @DataMember(Order=1)
    public id: number;

    // @DataMember(Order=2)
    public analysisDealId: number;

    // @DataMember(Order=3)
    // @Validate(Validator="NotEmpty", Message="PortfolioName is mandatory")
    public portfolioName: string;

    // @DataMember(Order=4)
    public allocationPercentage: number;

    // @DataMember(Order=5)
    public rowIdentifier: string;

    public constructor(init?: Partial<AnalysisPortfolioAllocation>) { (Object as any).assign(this, init); }
}

// @DataContract
export class AnalysisDeal implements IObjectWithId, IHasAnalysisId
{
    // @DataMember(Order=1)
    public id: number;

    // @DataMember(Order=2)
    public analysisId: number;

    // @DataMember(Order=3)
    public sourceDealId: string;

    // @DataMember(Order=4)
    public dealRef: string;

    // @DataMember(Order=5)
    public sourceDealSystem: string;

    // @DataMember(Order=6)
    public eventSetId: number;

    // @DataMember(Order=7)
    public rol: number;

    // @DataMember(Order=8)
    public limit: number;

    // @DataMember(Order=9)
    public inceptionDate: string;

    // @DataMember(Order=10)
    public expiryDate: string;

    // @DataMember(Order=11)
    public transactionType: TransactionType;

    // @DataMember(Order=12)
    public allocations: AnalysisPortfolioAllocation[];

    // @DataMember(Order=13)
    public perspectiveIdOverride?: number;

    // @DataMember(Order=14)
    public eventSetIdOverride?: number;

    // @DataMember(Order=15)
    public modelAsOfDateOverride?: string;

    // @DataMember(Order=16)
    public sourceModelSystemOverride: string;

    // @DataMember(Order=17)
    public sourceModelIdOverride: string;

    // @DataMember(Order=18)
    public sourceEventSetIdOverride: string;

    // @DataMember(Order=19)
    public eventSourceSystemOverride: string;

    // @DataMember(Order=20)
    public rowIdentifier: string;

    public constructor(init?: Partial<AnalysisDeal>) { (Object as any).assign(this, init); }
}

// @DataContract
export class AnalysisEventIdFilter implements IObjectWithId, IHasAnalysisId
{
    // @DataMember(Order=1)
    public id: number;

    // @DataMember(Order=2)
    public analysisId: number;

    // @DataMember(Order=3)
    public eventSourceId: number;

    // @DataMember(Order=4)
    public eventId: number;

    // @DataMember(Order=5)
    public rowIdentifier: string;

    public constructor(init?: Partial<AnalysisEventIdFilter>) { (Object as any).assign(this, init); }
}

export enum MessageType
{
    NotSet = 'NotSet',
    Persistence = 'Persistence',
    Archival = 'Archival',
}

// @DataContract
export class MessageTracking
{
    // @DataMember(Order=1)
    public id: string;

    // @DataMember(Order=2)
    public analysisId?: number;

    // @DataMember(Order=3)
    public processingStatus: ProcessingStatus;

    // @DataMember(Order=4)
    public messageType: MessageType;

    // @DataMember(Order=5)
    public createdDateUtc: string;

    // @DataMember(Order=6)
    public updatedDateUtc: string;

    public constructor(init?: Partial<MessageTracking>) { (Object as any).assign(this, init); }
}

// @DataContract
export class Analysis implements IObjectWithId
{
    // @DataMember(Order=1)
    public id: number;

    // @DataMember(Order=2)
    public name: string;

    // @DataMember(Order=3)
    public modelAsOfDate?: string;

    // @DataMember(Order=4)
    public perspectiveId: number;

    // @DataMember(Order=5)
    public configurations: AnalysisConfiguration[];

    // @DataMember(Order=6)
    public deals: AnalysisDeal[];

    // @DataMember(Order=7)
    public eventIdFilters: AnalysisEventIdFilter[];

    // @DataMember(Order=8)
    public createdBy: string;

    // @DataMember(Order=9)
    public createdDateUtc: string;

    // @DataMember(Order=10)
    public completedDateUtc?: string;

    // @DataMember(Order=11)
    public legacyAnalysisId?: number;

    // @DataMember(Order=12)
    public resultPersistenceTracking: MessageTracking[];

    // @DataMember(Order=13)
    public processingStatus: ProcessingStatus;

    // @DataMember(Order=14)
    public saveResults: boolean;

    // @DataMember(Order=15)
    public eventSourceSystem: string;

    // @DataMember(Order=16)
    public updatedDateUtc: string;

    // @DataMember(Order=17)
    public isExpired: boolean;

    // @DataMember(Order=18)
    public rowIdentifier: string;

    // @DataMember(Order=19)
    public errorMessage: string;

    /** @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")
    public ignoreSimulationCountMismatch: boolean;

    // @DataMember(Order=21)
    // @Ignore()
    public finalStatus: ProcessingStatus;

    public constructor(init?: Partial<Analysis>) { (Object as any).assign(this, init); }
}

// @DataContract
export class QueryResponse<T>
{
    // @DataMember(Order=1)
    public offset: number;

    // @DataMember(Order=2)
    public total: number;

    // @DataMember(Order=3)
    public results: Analysis[];

    // @DataMember(Order=4)
    public meta: { [index:string]: string; };

    // @DataMember(Order=5)
    public responseStatus: ResponseStatus;

    public constructor(init?: Partial<QueryResponse<T>>) { (Object as any).assign(this, init); }
}

TypeScript GetEventSetIngestStatusRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /api/riskstore/eventset/ingest/status HTTP/1.1 
Host: riskstoreng-dev.nephila.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<QueryResponseOfEventSetProcessingStatus5hAo4TAp xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <Offset>0</Offset>
  <Total>0</Total>
  <Results xmlns:d2p1="http://schemas.datacontract.org/2004/07/Nephila.RiskStore.ServiceModel.Requests">
    <d2p1:EventSetProcessingStatus>
      <d2p1:EventSetId>0</d2p1:EventSetId>
      <d2p1:EventSetOriginId>String</d2p1:EventSetOriginId>
      <d2p1:ModelId>String</d2p1:ModelId>
      <d2p1:PerspectiveId>0</d2p1:PerspectiveId>
      <d2p1:ProcessingStatus>New</d2p1:ProcessingStatus>
      <d2p1:ProgramCalculationId>String</d2p1:ProgramCalculationId>
      <d2p1:SourceEventSetId>String</d2p1:SourceEventSetId>
      <d2p1:SourceModelSystem>String</d2p1:SourceModelSystem>
    </d2p1:EventSetProcessingStatus>
  </Results>
  <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </Meta>
  <ResponseStatus>
    <ErrorCode>String</ErrorCode>
    <Message>String</Message>
    <StackTrace>String</StackTrace>
    <Errors>
      <ResponseError>
        <ErrorCode>String</ErrorCode>
        <FieldName>String</FieldName>
        <Message>String</Message>
        <Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </Meta>
      </ResponseError>
    </Errors>
    <Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </Meta>
  </ResponseStatus>
</QueryResponseOfEventSetProcessingStatus5hAo4TAp>