Nephila RiskStore

<back to all web services

FindAnalysisRequest

General
Requires Authentication
Requires any of the roles:Riskstore.Write, Riskstore.Admin
The following routes are available for this service:
GET/api/riskstore/analysisSearch for analyses
namespace Nephila.RiskStore.ServiceModel

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    type ResultOutputLevel =
        | NotSet = 0
        | PortfolioMetrics = 1
        | Curve = 2
        | YLT = 3
        | TailIntensity = 4
        | DealYlt = 5
        | DealElt = 6
        | DealEltWithIndustryLoss = 7
        | PortfolioElt = 8
        | PortfolioEltWithIndustryLoss = 9
        | EventSetGeneration = 10
        | PortfolioRaps = 11
        | DealRaps = 12
        | PortfolioSepyIndustryLoss = 13
        | DealSepyIndustryLoss = 14

    type ProcessingStatus =
        | New = 0
        | Processing = 1
        | Failed = 10
        | Successful = 20

    [<AllowNullLiteral>]
    type AnalysisPortfolioEventSetConfiguration() = 
        [<DataMember(Order=1)>]
        member val Id:Int64 = new Int64() with get,set

        [<DataMember(Order=2)>]
        member val AnalysisId:Int64 = new Int64() with get,set

        [<DataMember(Order=3)>]
        member val AnalysisConfigurationId:Int64 = new Int64() with get,set

        [<DataMember(Order=4)>]
        member val PortfolioName:String = null with get,set

        [<DataMember(Order=5)>]
        member val ModelId:String = null with get,set

        [<DataMember(Order=6)>]
        member val RowIdentifier:Guid = new Guid() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type AnalysisConfiguration() = 
        [<DataMember(Order=1)>]
        member val Id:Int64 = new Int64() with get,set

        [<DataMember(Order=2)>]
        member val AnalysisId:Int64 = new Int64() with get,set

        [<DataMember(Order=3)>]
        member val WindowStartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=4)>]
        member val WindowEndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=5)>]
        member val StandardEnabled:Boolean = new Boolean() with get,set

        [<DataMember(Order=6)>]
        member val RunOffEnabled:Boolean = new Boolean() with get,set

        [<DataMember(Order=7)>]
        member val AggregateEnabled:Boolean = new Boolean() with get,set

        [<DataMember(Order=8)>]
        member val OccurrenceEnabled:Boolean = new Boolean() with get,set

        [<DataMember(Order=9)>]
        member val NettEnabled:Boolean = new Boolean() with get,set

        [<DataMember(Order=10)>]
        member val GrossEnabled:Boolean = new Boolean() with get,set

        [<DataMember(Order=11)>]
        member val TailIntensityPercentageStart:Nullable<Decimal> = new Nullable<Decimal>() with get,set

        [<DataMember(Order=12)>]
        member val TailIntensityPercentageEnd:Nullable<Decimal> = new Nullable<Decimal>() with get,set

        [<DataMember(Order=13)>]
        member val MetaRiskId:Int32 = new Int32() with get,set

        [<DataMember(Order=14)>]
        member val OutputLevel:ResultOutputLevel = new ResultOutputLevel() with get,set

        [<DataMember(Order=15)>]
        member val ProcessingStatus:ProcessingStatus = new ProcessingStatus() with get,set

        [<DataMember(Order=16)>]
        member val EventLossFloorStartRange:Nullable<Decimal> = new Nullable<Decimal>() with get,set

        [<DataMember(Order=17)>]
        member val EventLossFloorEndRange:Nullable<Decimal> = new Nullable<Decimal>() with get,set

        [<DataMember(Order=18)>]
        member val AnalysisPortfolioEventSetConfigurations:ResizeArray<AnalysisPortfolioEventSetConfiguration> = null with get,set

        [<DataMember(Order=19)>]
        member val RowIdentifier:Guid = new Guid() with get,set

    type TransactionType =
        | NotSet = 0
        | S = 1
        | B = 2

    [<DataContract>]
    [<AllowNullLiteral>]
    type AnalysisPortfolioAllocation() = 
        [<DataMember(Order=1)>]
        member val Id:Int64 = new Int64() with get,set

        [<DataMember(Order=2)>]
        member val AnalysisDealId:Int64 = new Int64() with get,set

        [<DataMember(Order=3)>]
        [<Validate(Validator="NotEmpty", Message="PortfolioName is mandatory")>]
        member val PortfolioName:String = null with get,set

        [<DataMember(Order=4)>]
        member val AllocationPercentage:Double = new Double() with get,set

        [<DataMember(Order=5)>]
        member val RowIdentifier:Guid = new Guid() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type AnalysisDeal() = 
        [<DataMember(Order=1)>]
        member val Id:Int64 = new Int64() with get,set

        [<DataMember(Order=2)>]
        member val AnalysisId:Int64 = new Int64() with get,set

        [<DataMember(Order=3)>]
        member val SourceDealId:String = null with get,set

        [<DataMember(Order=4)>]
        member val DealRef:String = null with get,set

        [<DataMember(Order=5)>]
        member val SourceDealSystem:String = null with get,set

        [<DataMember(Order=6)>]
        member val EventSetId:Int64 = new Int64() with get,set

        [<DataMember(Order=7)>]
        member val ROL:Double = new Double() with get,set

        [<DataMember(Order=8)>]
        member val Limit:Double = new Double() with get,set

        [<DataMember(Order=9)>]
        member val InceptionDate:DateTime = new DateTime() with get,set

        [<DataMember(Order=10)>]
        member val ExpiryDate:DateTime = new DateTime() with get,set

        [<DataMember(Order=11)>]
        member val TransactionType:TransactionType = new TransactionType() with get,set

        [<DataMember(Order=12)>]
        member val Allocations:ResizeArray<AnalysisPortfolioAllocation> = null with get,set

        [<DataMember(Order=13)>]
        member val PerspectiveIdOverride:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=14)>]
        member val EventSetIdOverride:Nullable<Int64> = new Nullable<Int64>() with get,set

        [<DataMember(Order=15)>]
        member val ModelAsOfDateOverride:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=16)>]
        member val SourceModelSystemOverride:String = null with get,set

        [<DataMember(Order=17)>]
        member val SourceModelIdOverride:String = null with get,set

        [<DataMember(Order=18)>]
        member val SourceEventSetIdOverride:String = null with get,set

        [<DataMember(Order=19)>]
        member val EventSourceSystemOverride:String = null with get,set

        [<DataMember(Order=20)>]
        member val RowIdentifier:Guid = new Guid() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type AnalysisEventIdFilter() = 
        [<DataMember(Order=1)>]
        member val Id:Int64 = new Int64() with get,set

        [<DataMember(Order=2)>]
        member val AnalysisId:Int64 = new Int64() with get,set

        [<DataMember(Order=3)>]
        member val EventSourceId:Int32 = new Int32() with get,set

        [<DataMember(Order=4)>]
        member val EventId:Int64 = new Int64() with get,set

        [<DataMember(Order=5)>]
        member val RowIdentifier:Guid = new Guid() with get,set

    type MessageType =
        | NotSet = 0
        | Persistence = 1
        | Archival = 2

    [<DataContract>]
    [<AllowNullLiteral>]
    type MessageTracking() = 
        [<DataMember(Order=1)>]
        member val Id:Guid = new Guid() with get,set

        [<DataMember(Order=2)>]
        member val AnalysisId:Nullable<Int64> = new Nullable<Int64>() with get,set

        [<DataMember(Order=3)>]
        member val ProcessingStatus:ProcessingStatus = new ProcessingStatus() with get,set

        [<DataMember(Order=4)>]
        member val MessageType:MessageType = new MessageType() with get,set

        [<DataMember(Order=5)>]
        member val CreatedDateUtc:DateTime = new DateTime() with get,set

        [<DataMember(Order=6)>]
        member val UpdatedDateUtc:DateTime = new DateTime() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type Analysis() = 
        [<DataMember(Order=1)>]
        member val Id:Int64 = new Int64() with get,set

        [<DataMember(Order=2)>]
        member val Name:String = null with get,set

        [<DataMember(Order=3)>]
        member val ModelAsOfDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=4)>]
        member val PerspectiveId:Int32 = new Int32() with get,set

        [<DataMember(Order=5)>]
        member val Configurations:ResizeArray<AnalysisConfiguration> = null with get,set

        [<DataMember(Order=6)>]
        member val Deals:ResizeArray<AnalysisDeal> = null with get,set

        [<DataMember(Order=7)>]
        member val EventIdFilters:ResizeArray<AnalysisEventIdFilter> = null with get,set

        [<DataMember(Order=8)>]
        member val CreatedBy:String = null with get,set

        [<DataMember(Order=9)>]
        member val CreatedDateUtc:DateTime = new DateTime() with get,set

        [<DataMember(Order=10)>]
        member val CompletedDateUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        [<DataMember(Order=11)>]
        member val LegacyAnalysisId:Nullable<Int64> = new Nullable<Int64>() with get,set

        [<DataMember(Order=12)>]
        member val ResultPersistenceTracking:ResizeArray<MessageTracking> = null with get,set

        [<DataMember(Order=13)>]
        member val ProcessingStatus:ProcessingStatus = new ProcessingStatus() with get,set

        [<DataMember(Order=14)>]
        member val SaveResults:Boolean = new Boolean() with get,set

        [<DataMember(Order=15)>]
        member val EventSourceSystem:String = null with get,set

        [<DataMember(Order=16)>]
        member val UpdatedDateUtc:DateTime = new DateTime() with get,set

        [<DataMember(Order=17)>]
        member val IsExpired:Boolean = new Boolean() with get,set

        [<DataMember(Order=18)>]
        member val RowIdentifier:Guid = new Guid() with get,set

        [<DataMember(Order=19)>]
        member val ErrorMessage:String = null with get,set

        ///<summary>
        ///Take the minimum simulation count when we have different simulations between event sets
        ///</summary>
        [<DataMember(Order=20)>]
        [<ApiMember(DataType="boolean", Description="Take the minimum simulation count when we have different simulations between event sets")>]
        member val IgnoreSimulationCountMismatch:Boolean = new Boolean() with get,set

        [<DataMember(Order=21)>]
        [<Ignore>]
        member val FinalStatus:ProcessingStatus = new ProcessingStatus() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type QueryBase() = 
        [<DataMember(Order=1)>]
        member val Skip:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=2)>]
        member val Take:Nullable<Int32> = new Nullable<Int32>() with get,set

        [<DataMember(Order=3)>]
        member val OrderBy:String = null with get,set

        [<DataMember(Order=4)>]
        member val OrderByDesc:String = null with get,set

        [<DataMember(Order=5)>]
        member val Include:String = null with get,set

        [<DataMember(Order=6)>]
        member val Fields:String = null with get,set

        [<DataMember(Order=7)>]
        member val Meta:Dictionary<String, String> = null with get,set

    [<AllowNullLiteral>]
    type QueryDb<T>() = 
        inherit QueryBase()

    [<AllowNullLiteral>]
    type FindAnalysisRequest() = 
        inherit QueryDb<Analysis>()
        ///<summary>
        ///The Ids of the Analyses
        ///</summary>
        [<ApiMember(DataType="integer", Description="The Ids of the Analyses", Format="int64")>]
        member val Ids:Int64[] = null with get,set

        ///<summary>
        ///The partial name of the analyses
        ///</summary>
        [<ApiMember(DataType="string", Description="The partial name of the analyses")>]
        member val Name:String = null with get,set

        ///<summary>
        ///Filter only Standard analysis type
        ///</summary>
        [<ApiMember(DataType="boolean", Description="Filter only Standard analysis type")>]
        member val StandardEnabled:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///Filter only Run Off analysis type
        ///</summary>
        [<ApiMember(DataType="boolean", Description="Filter only Run Off analysis type")>]
        member val RunOffEnabled:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///The perspective id used for the analysis
        ///</summary>
        [<ApiMember(DataType="integer", Description="The perspective id used for the analysis", Format="int32")>]
        member val PerspectiveId:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///The partial name of the user who run the analysis
        ///</summary>
        [<ApiMember(DataType="string", Description="The partial name of the user who run the analysis")>]
        member val CreatedBy:String = null with get,set

        ///<summary>
        ///The analysis run date to filter from
        ///</summary>
        [<ApiMember(DataType="string", Description="The analysis run date to filter from", Format="date-time")>]
        member val AnalysisRunFromDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        ///<summary>
        ///The analysis run date to filter to
        ///</summary>
        [<ApiMember(DataType="string", Description="The analysis run date to filter to", Format="date-time")>]
        member val AnalysisRunToDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set

        ///<summary>
        ///The status of the analysis. 1 = Processing, 10 = Failed, 20 = Successful
        ///</summary>
        [<ApiMember(DataType="integer", Description="The status of the analysis. 1 = Processing, 10 = Failed, 20 = Successful", Format="int32")>]
        member val ProcessingStatus:Nullable<ProcessingStatus> = new Nullable<ProcessingStatus>() with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type QueryResponse<T>() = 
        [<DataMember(Order=1)>]
        member val Offset:Int32 = new Int32() with get,set

        [<DataMember(Order=2)>]
        member val Total:Int32 = new Int32() with get,set

        [<DataMember(Order=3)>]
        member val Results:ResizeArray<Analysis> = null with get,set

        [<DataMember(Order=4)>]
        member val Meta:Dictionary<String, String> = null with get,set

        [<DataMember(Order=5)>]
        member val ResponseStatus:ResponseStatus = null with get,set

F# FindAnalysisRequest DTOs

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

HTTP + CSV

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

GET /api/riskstore/analysis HTTP/1.1 
Host: riskstoreng-dev.nephila.com 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"offset":0,"total":0,"results":[{"id":0,"name":"String","modelAsOfDate":"0001-01-01T00:00:00.0000000Z","perspectiveId":0,"configurations":[{"id":0,"analysisId":0,"windowStartDate":"0001-01-01T00:00:00.0000000Z","windowEndDate":"0001-01-01T00:00:00.0000000Z","standardEnabled":false,"runOffEnabled":false,"aggregateEnabled":false,"occurrenceEnabled":false,"nettEnabled":false,"grossEnabled":false,"tailIntensityPercentageStart":0,"tailIntensityPercentageEnd":0,"metaRiskId":0,"outputLevel":"NotSet","processingStatus":"New","eventLossFloorStartRange":0,"eventLossFloorEndRange":0,"analysisPortfolioEventSetConfigurations":[{"id":0,"analysisId":0,"analysisConfigurationId":0,"portfolioName":"String","modelId":"String","rowIdentifier":"00000000000000000000000000000000"}],"rowIdentifier":"00000000000000000000000000000000"}],"deals":[{"id":0,"analysisId":0,"sourceDealId":"String","dealRef":"String","sourceDealSystem":"String","eventSetId":0,"rol":0,"limit":0,"inceptionDate":"0001-01-01T00:00:00.0000000Z","expiryDate":"0001-01-01T00:00:00.0000000Z","transactionType":"NotSet","allocations":[{"id":0,"analysisDealId":0,"portfolioName":"String","allocationPercentage":0,"rowIdentifier":"00000000000000000000000000000000"}],"perspectiveIdOverride":0,"eventSetIdOverride":0,"modelAsOfDateOverride":"0001-01-01T00:00:00.0000000Z","sourceModelSystemOverride":"String","sourceModelIdOverride":"String","sourceEventSetIdOverride":"String","eventSourceSystemOverride":"String","rowIdentifier":"00000000000000000000000000000000"}],"eventIdFilters":[{"id":0,"analysisId":0,"eventSourceId":0,"eventId":0,"rowIdentifier":"00000000000000000000000000000000"}],"createdBy":"String","createdDateUtc":"0001-01-01T00:00:00.0000000Z","completedDateUtc":"0001-01-01T00:00:00.0000000Z","legacyAnalysisId":0,"resultPersistenceTracking":[{"id":"00000000000000000000000000000000","analysisId":0,"processingStatus":"New","messageType":"NotSet","createdDateUtc":"0001-01-01T00:00:00.0000000Z","updatedDateUtc":"0001-01-01T00:00:00.0000000Z"}],"processingStatus":"New","saveResults":false,"eventSourceSystem":"String","updatedDateUtc":"0001-01-01T00:00:00.0000000Z","isExpired":false,"rowIdentifier":"00000000000000000000000000000000","errorMessage":"String","ignoreSimulationCountMismatch":false,"finalStatus":"New"}],"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"}}}