Nephila RiskStore

<back to all web services

IngestEventSetRequest

General
Requires Authentication
The following routes are available for this service:
POST/api/riskstore/eventset/ingestIngest EventSet RequestIngest EventSet Request
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


class ProcessingStatus(IntEnum):
    NEW = 0
    PROCESSING = 1
    FAILED = 10
    SUCCESSFUL = 20


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EventSetTelemetry:
    event_set_id: int = 0
    started_date_time_utc: Optional[datetime.datetime] = None
    ended_date_time_uct: Optional[datetime.datetime] = None
    event_loss_count: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EventSet:
    event_set_id: int = 0
    processing_status: Optional[ProcessingStatus] = None
    source_model_system: Optional[str] = None
    source_event_set_id: Optional[str] = None
    model_id: Optional[str] = None
    perspective_id: int = 0
    simulation_count: int = 0
    program_calculation_id: Optional[str] = None
    description: Optional[str] = None
    limit: float = 0.0
    reinstatements: int = 0
    event_source_type: Optional[str] = None
    event_set_origin_id: Optional[str] = None
    event_set_origin_name: Optional[str] = None
    event_set_origin_type: Optional[str] = None
    source_event_set_loss_container: Optional[str] = None
    source_event_set_loss_path: Optional[str] = None
    resolution: Optional[str] = None
    results_hash: Optional[str] = None
    expected_loss_aggregate: float = 0.0
    expected_loss_occurrence: float = 0.0
    probability_of_attachment: float = 0.0
    probability_of_exhaustion: float = 0.0
    approved_date_time_utc: datetime.datetime = datetime.datetime(1, 1, 1)
    approved_by: Optional[str] = None
    event_source_id: int = 0
    valid_from_utc: datetime.datetime = datetime.datetime(1, 1, 1)
    valid_to_utc: datetime.datetime = datetime.datetime(1, 1, 1)
    container: Optional[str] = None
    blob_name: Optional[str] = None
    updated_date_utc: datetime.datetime = datetime.datetime(1, 1, 1)
    is_archived: bool = False
    archived_loss_data_blob_path: Optional[str] = None
    archived_loss_data_hash: Optional[str] = None
    event_set_telemetry: Optional[EventSetTelemetry] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class IngestEventSetRequest(IPost):
    event_set: Optional[EventSet] = None

Python IngestEventSetRequest 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.

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

<IngestEventSetRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Nephila.RiskStore.ServiceModel.Requests">
  <EventSet xmlns:d2p1="http://schemas.datacontract.org/2004/07/Nephila.RiskStore.ServiceModel.Types">
    <d2p1:ApprovedBy>String</d2p1:ApprovedBy>
    <d2p1:ApprovedDateTimeUtc>0001-01-01T00:00:00</d2p1:ApprovedDateTimeUtc>
    <d2p1:ArchivedLossDataBlobPath>String</d2p1:ArchivedLossDataBlobPath>
    <d2p1:ArchivedLossDataHash>String</d2p1:ArchivedLossDataHash>
    <d2p1:BlobName>String</d2p1:BlobName>
    <d2p1:Container>String</d2p1:Container>
    <d2p1:Description>String</d2p1:Description>
    <d2p1:EventSetId>0</d2p1:EventSetId>
    <d2p1:EventSetOriginId>String</d2p1:EventSetOriginId>
    <d2p1:EventSetOriginName>String</d2p1:EventSetOriginName>
    <d2p1:EventSetOriginType>String</d2p1:EventSetOriginType>
    <d2p1:EventSetTelemetry>
      <d2p1:EndedDateTimeUct>0001-01-01T00:00:00</d2p1:EndedDateTimeUct>
      <d2p1:EventLossCount>0</d2p1:EventLossCount>
      <d2p1:EventSetId>0</d2p1:EventSetId>
      <d2p1:StartedDateTimeUtc>0001-01-01T00:00:00</d2p1:StartedDateTimeUtc>
    </d2p1:EventSetTelemetry>
    <d2p1:EventSourceId>0</d2p1:EventSourceId>
    <d2p1:EventSourceType>String</d2p1:EventSourceType>
    <d2p1:ExpectedLossAggregate>0</d2p1:ExpectedLossAggregate>
    <d2p1:ExpectedLossOccurrence>0</d2p1:ExpectedLossOccurrence>
    <d2p1:IsArchived>false</d2p1:IsArchived>
    <d2p1:Limit>0</d2p1:Limit>
    <d2p1:ModelId>String</d2p1:ModelId>
    <d2p1:PerspectiveId>0</d2p1:PerspectiveId>
    <d2p1:ProbabilityOfAttachment>0</d2p1:ProbabilityOfAttachment>
    <d2p1:ProbabilityOfExhaustion>0</d2p1:ProbabilityOfExhaustion>
    <d2p1:ProcessingStatus>New</d2p1:ProcessingStatus>
    <d2p1:ProgramCalculationId>String</d2p1:ProgramCalculationId>
    <d2p1:Reinstatements>0</d2p1:Reinstatements>
    <d2p1:Resolution>String</d2p1:Resolution>
    <d2p1:ResultsHash>String</d2p1:ResultsHash>
    <d2p1:SimulationCount>0</d2p1:SimulationCount>
    <d2p1:SourceEventSetId>String</d2p1:SourceEventSetId>
    <d2p1:SourceEventSetLossContainer>String</d2p1:SourceEventSetLossContainer>
    <d2p1:SourceEventSetLossPath>String</d2p1:SourceEventSetLossPath>
    <d2p1:SourceModelSystem>String</d2p1:SourceModelSystem>
    <d2p1:UpdatedDateUtc>0001-01-01T00:00:00</d2p1:UpdatedDateUtc>
    <d2p1:ValidFromUtc>0001-01-01T00:00:00</d2p1:ValidFromUtc>
    <d2p1:ValidToUtc>0001-01-01T00:00:00</d2p1:ValidToUtc>
  </EventSet>
</IngestEventSetRequest>