Nephila RiskStore

<back to all web services

GetAnalysisRequest

General
Requires Authentication
Requires any of the roles:Riskstore.Write, Riskstore.Admin
The following routes are available for this service:
GET/api/riskstore/analysis/resultsGet the analysis by id, this will return results if the analysis is completed
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Nephila.RiskStore.ServiceModel.Requests
Imports Nephila.RiskStore.ServiceModel.Types
Imports Nephila.RiskStore.ServiceModel

Namespace Global

    Namespace Nephila.RiskStore.ServiceModel.Requests

        Public Partial Class GetAnalysisRequest
            Implements IGet
            '''<Summary>
            '''The analysis id
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="The analysis id", Format:="int64")>
            Public Overridable Property Id As Long?

            '''<Summary>
            '''The legacy analysis id
            '''</Summary>
            <ApiMember(DataType:="integer", Description:="The legacy analysis id", Format:="int64")>
            Public Overridable Property LegacyId As Long?

            '''<Summary>
            '''True to not load all deal allocations, analysis runs etc...
            '''</Summary>
            <ApiMember(DataType:="boolean", Description:="True to not load all deal allocations, analysis runs etc...")>
            Public Overridable Property OnlyCoreData As Boolean?
        End Class

        Public Partial Class RollupResponse
            Public Overridable Property Analysis As Analysis
            Public Overridable Property PortfolioMetrics As List(Of AnalysisPortfolioMetric)
            Public Overridable Property Results As List(Of AnalysisResult)
            Public Overridable Property ResponseStatus As ResponseStatus
            Public Overridable Property UnresolvedDealIds As List(Of String)
            Public Overridable Property UnlinkedDealIds As List(Of ValueTuple(Of String,String))
            Public Overridable Property Message As String
        End Class
    End Namespace

    Namespace Nephila.RiskStore.ServiceModel.Types

        <DataContract>
        Public Partial Class Analysis
            Implements IObjectWithId
            <DataMember(Order:=1)>
            Public Overridable Property Id As Long Implements IObjectWithId.Id

            <DataMember(Order:=2)>
            Public Overridable Property Name As String

            <DataMember(Order:=3)>
            Public Overridable Property ModelAsOfDate As Date?

            <DataMember(Order:=4)>
            Public Overridable Property PerspectiveId As Integer

            <DataMember(Order:=5)>
            Public Overridable Property Configurations As List(Of AnalysisConfiguration)

            <DataMember(Order:=6)>
            Public Overridable Property Deals As List(Of AnalysisDeal)

            <DataMember(Order:=7)>
            Public Overridable Property EventIdFilters As List(Of AnalysisEventIdFilter)

            <DataMember(Order:=8)>
            Public Overridable Property CreatedBy As String

            <DataMember(Order:=9)>
            Public Overridable Property CreatedDateUtc As Date

            <DataMember(Order:=10)>
            Public Overridable Property CompletedDateUtc As Date?

            <DataMember(Order:=11)>
            Public Overridable Property LegacyAnalysisId As Long?

            <DataMember(Order:=12)>
            Public Overridable Property ResultPersistenceTracking As List(Of MessageTracking)

            <DataMember(Order:=13)>
            Public Overridable Property ProcessingStatus As ProcessingStatus

            <DataMember(Order:=14)>
            Public Overridable Property SaveResults As Boolean

            <DataMember(Order:=15)>
            Public Overridable Property EventSourceSystem As String

            <DataMember(Order:=16)>
            Public Overridable Property UpdatedDateUtc As Date

            <DataMember(Order:=17)>
            Public Overridable Property IsExpired As Boolean

            <DataMember(Order:=18)>
            Public Overridable Property RowIdentifier As Guid Implements IObjectWithId.RowIdentifier

            <DataMember(Order:=19)>
            Public Overridable Property ErrorMessage As String

            '''<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")>
            Public Overridable Property IgnoreSimulationCountMismatch As Boolean

            <DataMember(Order:=21)>
            <Ignore>
            Public Overridable Property FinalStatus As ProcessingStatus
        End Class

        <DataContract>
        Public Partial Class AnalysisConfiguration
            Implements IObjectWithId
            Implements IHasAnalysisId
            <DataMember(Order:=1)>
            Public Overridable Property Id As Long Implements IObjectWithId.Id

            <DataMember(Order:=2)>
            Public Overridable Property AnalysisId As Long Implements IHasAnalysisId.AnalysisId

            <DataMember(Order:=3)>
            Public Overridable Property WindowStartDate As Date?

            <DataMember(Order:=4)>
            Public Overridable Property WindowEndDate As Date?

            <DataMember(Order:=5)>
            Public Overridable Property StandardEnabled As Boolean

            <DataMember(Order:=6)>
            Public Overridable Property RunOffEnabled As Boolean

            <DataMember(Order:=7)>
            Public Overridable Property AggregateEnabled As Boolean

            <DataMember(Order:=8)>
            Public Overridable Property OccurrenceEnabled As Boolean

            <DataMember(Order:=9)>
            Public Overridable Property NettEnabled As Boolean

            <DataMember(Order:=10)>
            Public Overridable Property GrossEnabled As Boolean

            <DataMember(Order:=11)>
            Public Overridable Property TailIntensityPercentageStart As Decimal?

            <DataMember(Order:=12)>
            Public Overridable Property TailIntensityPercentageEnd As Decimal?

            <DataMember(Order:=13)>
            Public Overridable Property MetaRiskId As Integer

            <DataMember(Order:=14)>
            Public Overridable Property OutputLevel As ResultOutputLevel

            <DataMember(Order:=15)>
            Public Overridable Property ProcessingStatus As ProcessingStatus

            <DataMember(Order:=16)>
            Public Overridable Property EventLossFloorStartRange As Decimal?

            <DataMember(Order:=17)>
            Public Overridable Property EventLossFloorEndRange As Decimal?

            <DataMember(Order:=18)>
            Public Overridable Property AnalysisPortfolioEventSetConfigurations As List(Of AnalysisPortfolioEventSetConfiguration)

            <DataMember(Order:=19)>
            Public Overridable Property RowIdentifier As Guid Implements IObjectWithId.RowIdentifier
        End Class

        <DataContract>
        Public Partial Class AnalysisDeal
            Implements IObjectWithId
            Implements IHasAnalysisId
            <DataMember(Order:=1)>
            Public Overridable Property Id As Long Implements IObjectWithId.Id

            <DataMember(Order:=2)>
            Public Overridable Property AnalysisId As Long Implements IHasAnalysisId.AnalysisId

            <DataMember(Order:=3)>
            Public Overridable Property SourceDealId As String

            <DataMember(Order:=4)>
            Public Overridable Property DealRef As String

            <DataMember(Order:=5)>
            Public Overridable Property SourceDealSystem As String

            <DataMember(Order:=6)>
            Public Overridable Property EventSetId As Long

            <DataMember(Order:=7)>
            Public Overridable Property ROL As Double

            <DataMember(Order:=8)>
            Public Overridable Property Limit As Double

            <DataMember(Order:=9)>
            Public Overridable Property InceptionDate As Date

            <DataMember(Order:=10)>
            Public Overridable Property ExpiryDate As Date

            <DataMember(Order:=11)>
            Public Overridable Property TransactionType As TransactionType

            <DataMember(Order:=12)>
            Public Overridable Property Allocations As List(Of AnalysisPortfolioAllocation)

            <DataMember(Order:=13)>
            Public Overridable Property PerspectiveIdOverride As Integer?

            <DataMember(Order:=14)>
            Public Overridable Property EventSetIdOverride As Long?

            <DataMember(Order:=15)>
            Public Overridable Property ModelAsOfDateOverride As Date?

            <DataMember(Order:=16)>
            Public Overridable Property SourceModelSystemOverride As String

            <DataMember(Order:=17)>
            Public Overridable Property SourceModelIdOverride As String

            <DataMember(Order:=18)>
            Public Overridable Property SourceEventSetIdOverride As String

            <DataMember(Order:=19)>
            Public Overridable Property EventSourceSystemOverride As String

            <DataMember(Order:=20)>
            Public Overridable Property RowIdentifier As Guid Implements IObjectWithId.RowIdentifier
        End Class

        <DataContract>
        Public Partial Class AnalysisEventIdFilter
            Implements IObjectWithId
            Implements IHasAnalysisId
            <DataMember(Order:=1)>
            Public Overridable Property Id As Long Implements IObjectWithId.Id

            <DataMember(Order:=2)>
            Public Overridable Property AnalysisId As Long Implements IHasAnalysisId.AnalysisId

            <DataMember(Order:=3)>
            Public Overridable Property EventSourceId As Integer

            <DataMember(Order:=4)>
            Public Overridable Property EventId As Long

            <DataMember(Order:=5)>
            Public Overridable Property RowIdentifier As Guid Implements IObjectWithId.RowIdentifier
        End Class

        <DataContract>
        Public Partial Class AnalysisPortfolioAllocation
            Implements IObjectWithId
            <DataMember(Order:=1)>
            Public Overridable Property Id As Long Implements IObjectWithId.Id

            <DataMember(Order:=2)>
            Public Overridable Property AnalysisDealId As Long

            <DataMember(Order:=3)>
            <Validate(Validator:="NotEmpty", Message:="PortfolioName is mandatory")>
            Public Overridable Property PortfolioName As String

            <DataMember(Order:=4)>
            Public Overridable Property AllocationPercentage As Double

            <DataMember(Order:=5)>
            Public Overridable Property RowIdentifier As Guid Implements IObjectWithId.RowIdentifier
        End Class

        Public Partial Class AnalysisPortfolioEventSetConfiguration
            Implements IObjectWithId
            Implements IHasAnalysisId
            <DataMember(Order:=1)>
            Public Overridable Property Id As Long Implements IObjectWithId.Id

            <DataMember(Order:=2)>
            Public Overridable Property AnalysisId As Long Implements IHasAnalysisId.AnalysisId

            <DataMember(Order:=3)>
            Public Overridable Property AnalysisConfigurationId As Long

            <DataMember(Order:=4)>
            Public Overridable Property PortfolioName As String

            <DataMember(Order:=5)>
            Public Overridable Property ModelId As String

            <DataMember(Order:=6)>
            Public Overridable Property RowIdentifier As Guid Implements IObjectWithId.RowIdentifier
        End Class

        Public Partial Class AnalysisPortfolioEventSetResult
            Implements IObjectWithId
            Implements IHasAnalysisId
            <DataMember(Order:=1)>
            Public Overridable Property Id As Long Implements IObjectWithId.Id

            <DataMember(Order:=2)>
            Public Overridable Property AnalysisId As Long Implements IHasAnalysisId.AnalysisId

            <DataMember(Order:=3)>
            Public Overridable Property AnalysisPortfolioEventSetConfigurationId As Long

            <DataMember(Order:=4)>
            Public Overridable Property AnalysisResultId As Long

            <DataMember(Order:=5)>
            Public Overridable Property PortfolioName As String

            <DataMember(Order:=6)>
            Public Overridable Property RowIdentifier As Guid Implements IObjectWithId.RowIdentifier
        End Class

        Public Partial Class AnalysisPortfolioMetric
            Implements IHasAnalysisResultId
            Public Overridable Property AnalysisType As AnalysisType
            Public Overridable Property SimulationLossPerspective As SimulationLossPerspective
            Public Overridable Property ReinsurancePremiumLossType As ReinsurancePremiumLossType
            Public Overridable Property MetricDescription As String
            Public Overridable Property PortfolioName As String
            Public Overridable Property Metric As Double
            Public Overridable Property MetaRiskId As Integer
            Public Overridable Property Simulation As Integer?
            Public Overridable Property AnalysisResultId As Long Implements IHasAnalysisResultId.AnalysisResultId
        End Class

        <DataContract>
        Public Partial Class AnalysisResult
            Implements IObjectWithId
            <DataMember(Order:=1)>
            Public Overridable Property Id As Long Implements IObjectWithId.Id

            <DataMember(Order:=2)>
            Public Overridable Property AnalysisId As Long

            <DataMember(Order:=3)>
            Public Overridable Property AnalysisConfigurationId As Long

            <DataMember(Order:=4)>
            Public Overridable Property Container As String

            <DataMember(Order:=5)>
            Public Overridable Property BlobName As String

            <DataMember(Order:=6)>
            Public Overridable Property ResultTableName As String

            <DataMember(Order:=7)>
            Public Overridable Property AnalysisType As AnalysisType

            <DataMember(Order:=8)>
            Public Overridable Property SimulationLossPerspective As SimulationLossPerspective

            <DataMember(Order:=9)>
            Public Overridable Property ReinsurancePremiumLossType As ReinsurancePremiumLossType

            <DataMember(Order:=10)>
            Public Overridable Property OutputLevel As ResultOutputLevel

            <DataMember(Order:=11)>
            Public Overridable Property MetaRiskId As Integer

            <DataMember(Order:=12)>
            Public Overridable Property AnalysisPortfolioEventSetResults As List(Of AnalysisPortfolioEventSetResult)

            <DataMember(Order:=13)>
            Public Overridable Property RowIdentifier As Guid Implements IObjectWithId.RowIdentifier
        End Class

        <DataContract>
        Public Partial Class MessageTracking
            <DataMember(Order:=1)>
            Public Overridable Property Id As Guid

            <DataMember(Order:=2)>
            Public Overridable Property AnalysisId As Long?

            <DataMember(Order:=3)>
            Public Overridable Property ProcessingStatus As ProcessingStatus

            <DataMember(Order:=4)>
            Public Overridable Property MessageType As MessageType

            <DataMember(Order:=5)>
            Public Overridable Property CreatedDateUtc As Date

            <DataMember(Order:=6)>
            Public Overridable Property UpdatedDateUtc As Date
        End Class
    End Namespace
End Namespace

VB.NET GetAnalysisRequest DTOs

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

HTTP + JSV

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

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

{
	analysis: 
	{
		id: 0,
		name: String,
		modelAsOfDate: 0001-01-01,
		perspectiveId: 0,
		configurations: 
		[
			{
				id: 0,
				analysisId: 0,
				windowStartDate: 0001-01-01,
				windowEndDate: 0001-01-01,
				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-01,
				expiryDate: 0001-01-01,
				transactionType: NotSet,
				allocations: 
				[
					{
						id: 0,
						analysisDealId: 0,
						portfolioName: String,
						allocationPercentage: 0,
						rowIdentifier: 00000000000000000000000000000000
					}
				],
				perspectiveIdOverride: 0,
				eventSetIdOverride: 0,
				modelAsOfDateOverride: 0001-01-01,
				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-01,
		completedDateUtc: 0001-01-01,
		legacyAnalysisId: 0,
		resultPersistenceTracking: 
		[
			{
				id: 00000000000000000000000000000000,
				analysisId: 0,
				processingStatus: New,
				messageType: NotSet,
				createdDateUtc: 0001-01-01,
				updatedDateUtc: 0001-01-01
			}
		],
		processingStatus: New,
		saveResults: False,
		eventSourceSystem: String,
		updatedDateUtc: 0001-01-01,
		isExpired: False,
		rowIdentifier: 00000000000000000000000000000000,
		errorMessage: String,
		ignoreSimulationCountMismatch: False,
		finalStatus: New
	},
	portfolioMetrics: 
	[
		{
			analysisType: NotSet,
			simulationLossPerspective: NotSet,
			reinsurancePremiumLossType: NotSet,
			metricDescription: String,
			portfolioName: String,
			metric: 0,
			metaRiskId: 0,
			simulation: 0,
			analysisResultId: 0
		}
	],
	results: 
	[
		{
			id: 0,
			analysisId: 0,
			analysisConfigurationId: 0,
			container: String,
			blobName: String,
			resultTableName: String,
			analysisType: NotSet,
			simulationLossPerspective: NotSet,
			reinsurancePremiumLossType: NotSet,
			outputLevel: NotSet,
			metaRiskId: 0,
			analysisPortfolioEventSetResults: 
			[
				{
					id: 0,
					analysisId: 0,
					analysisPortfolioEventSetConfigurationId: 0,
					analysisResultId: 0,
					portfolioName: String,
					rowIdentifier: 00000000000000000000000000000000
				}
			],
			rowIdentifier: 00000000000000000000000000000000
		}
	],
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	},
	unresolvedDealIds: 
	[
		String
	],
	unlinkedDealIds: 
	[
		"(, )"
	],
	message: String
}