openapi: 3.2.0 info: title: Risk Modeler Treaty V1 API description: This documentation provides information on the Risk Modeler 2.0 public API. version: March, 2023 servers: - url: https://{host}/riskmodeler description: Risk Intelligence Analytics Platform variables: host: enum: - api-euw1.rms.com - api-use1.rms.com default: api-euw1.rms.com description: 'Data center that hosts the tenant instance: api-euw1.rms.com or api-use1.rms.com.' security: - RMS_Auth: [] tags: - name: TreatyV1 paths: /v1/treaties: get: operationId: getTreatiesByFilters summary: Get treaties description: '' parameters: - name: datasource in: query description: Name of the EDM. required: true schema: type: string - name: q in: query description: 'Filters query results by evaluating the value of expressions. Supports four types of operators: * Comparison: `q=[attribute][comparison operator][value]` e.g. `id=100`, `id!=100`, `id>100` * Logical: `q=[expression][logical operator][expression]` e.g. `id=100 AND name="xyz"` , `id=100 OR type="abc"` * List: `q=[attribute][list operator][values list]` e.g. `id IN (1,2,3]`, `name NOT IN ("abc","xyz")` * Matching: `q=[attribute][comparison operator][pattern]`, e.g. `name LIKE "abc "` , `type NOT LIKE " xyz* "` To learn more, see [Query Exposure Data](https://developer.rms.com/rms-developers/docs/query-exposure-data).' schema: type: string - name: sort in: query description: Specify comma-delimited field names followed by `ASC` (to display the results in alphabetical or numerical ascending order) or `DESC` (to display the results in descending order.) schema: type: string - name: limit in: query description: Number of records returned per page. schema: type: integer format: int32 - name: offset in: query description: Number of pages offset before the first page returned records. By default, _0_. schema: type: integer format: int32 responses: '200': description: List of treaties retrieved. content: application/json: schema: $ref: '#/components/schemas/TreatySearchResult' '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 post: operationId: createTreaty summary: Create treaty description: '' parameters: - name: datasource in: query description: Name of the EDM. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Treaty' required: true responses: '201': description: Treaty created. headers: Location: description: Treaty style: simple schema: type: string format: URI '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 /v1/treaties/count: get: operationId: getExposureCountTreaty summary: Count treaties description: '' parameters: - name: datasource in: query description: Name of the EDM. required: true schema: type: string responses: '200': description: Treaty count successfully retrieved. content: application/json: schema: type: integer format: int64 '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 /v1/treaties/getbytype: get: operationId: getTreaties summary: Get treaties by type description: '' parameters: - name: datasource in: query description: Name of the EDM. required: true schema: type: string - name: type in: query description: Type of treaty. required: true schema: type: string - name: exposuretype in: query description: Type of exposure. Specify 'POL' for policy abd 'LOC' for location. required: true schema: type: string responses: '200': description: List of treaties retrieved. content: application/json: schema: type: array items: $ref: '#/components/schemas/Treaty' '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 /v1/treaties/{id}: get: operationId: getTreaty summary: Get treaty description: '' parameters: - name: id in: path description: Treaty Id. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string responses: '200': description: Treaty retrieved. content: application/json: schema: $ref: '#/components/schemas/Treaty' '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 put: operationId: updateTreaty summary: Update treaty description: '' parameters: - name: id in: path description: ID number of the treaty. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Treaty' required: true responses: '204': description: Treaty updated. '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 delete: operationId: deleteTreaty summary: Delete treaty description: '' parameters: - name: datasource in: query description: Name of the EDM. required: true schema: type: string - name: id in: path description: Treaty Id. required: true schema: type: integer format: int32 minimum: 1 responses: '204': description: Treaty deleted. '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 /v1/treaties/{id}/convertcurrency: post: operationId: convertCurrencyTreaty summary: Convert currency by treaty description: '' parameters: - name: id in: path description: ID number of the treaty. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string requestBody: content: '*/*': schema: $ref: '#/components/schemas/Currency' required: true responses: '202': description: 'Accepted: A job with the specified ID has been added to the workflow engine queue for processing. Send periodic HTTP GET requests to the URI for the job status. See [Workflow Engine Jobs](https://developer.rms.com/rms-developers/docs/workflow-engine).' headers: Location: description: workflowId style: simple schema: type: string format: URI '400': description: Bad Request. The input data is invalid. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 /v1/treaties/{id}/copy: post: operationId: copyTreaty summary: Copy treaty description: '' parameters: - name: id in: path description: ID number of the treaty. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CopyTreatyInfo' required: true responses: '201': description: Treaty copied. headers: Location: description: Treaty style: simple schema: type: string format: URI '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 /v1/treaties/{id}/lob: post: operationId: createTreatyLob summary: Create LOB by treaty description: '' parameters: - name: id in: path description: ID number of the location. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LineOfBusiness' required: true responses: '201': description: Treaty line of business created. headers: Location: description: location of the new policy condition criteria style: simple schema: type: string format: URI '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 /v1/treaties/{id}/lob/{lobid}: get: operationId: getTreatyLob summary: Get LOB by treaty description: '' parameters: - name: id in: path description: ID number of the treaty. required: true schema: type: integer format: int32 minimum: 1 - name: lobid in: path description: ID number of the lob. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string responses: '200': description: Treaty line of business retrieved. content: application/json: schema: $ref: '#/components/schemas/LineOfBusiness' '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 delete: operationId: deleteTreatyLob summary: Delete treaty LOB description: '' parameters: - name: id in: path description: ID number of the treaty. required: true schema: type: integer format: int32 minimum: 1 - name: lobid in: path description: ID number of the lob. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string responses: '204': description: Treaty line of business deleted. '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 /v1/treaties/lob/batch: post: operationId: batchProcessTreatyLobs summary: Manage treaty LOBs in batch description: '' parameters: - name: datasource in: query description: Name of the EDM. required: true schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/BatchRequest' required: true responses: '200': description: Treaty batch executed. content: application/json: schema: type: array items: type: object properties: metadata: type: object additionalProperties: type: array items: type: object status: type: integer format: int32 length: type: integer format: int32 location: type: string format: uri language: type: object properties: language: type: string script: type: string country: type: string variant: type: string extensionKeys: type: array items: type: string uniqueItems: true unicodeLocaleAttributes: type: array items: type: string uniqueItems: true unicodeLocaleKeys: type: array items: type: string uniqueItems: true iso3Language: type: string iso3Country: type: string displayLanguage: type: string displayScript: type: string displayCountry: type: string displayVariant: type: string displayName: type: string statusInfo: type: object properties: family: type: string enum: - INFORMATIONAL - SUCCESSFUL - REDIRECTION - CLIENT_ERROR - SERVER_ERROR - OTHER statusCode: type: integer format: int32 reasonPhrase: type: string mediaType: type: object properties: type: type: string subtype: type: string parameters: additionalProperties: type: string type: object wildcardType: type: boolean wildcardSubtype: type: boolean allowedMethods: type: array items: type: string uniqueItems: true cookies: type: object additionalProperties: type: object properties: name: type: string value: type: string version: type: integer format: int32 path: type: string domain: type: string comment: type: string maxAge: type: integer format: int32 expiry: type: string format: date-time secure: type: boolean httpOnly: type: boolean entityTag: type: object properties: value: type: string weak: type: boolean stringHeaders: type: object additionalProperties: type: array items: type: string lastModified: type: string format: date-time date: type: string format: date-time headers: type: object additionalProperties: type: array items: type: object entity: type: object links: type: array items: type: object properties: type: type: string params: type: object additionalProperties: type: string uri: type: string format: uri title: type: string uriBuilder: type: object rel: type: string rels: type: array items: type: string uniqueItems: true '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 /v1/treaties/{treatyId}/lossoccurrences: get: operationId: getLossOccurrences summary: Get loss occurrences by treaty description: '' parameters: - name: treatyId in: path description: Treaty Id. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string responses: '200': description: List of treaty loss occurrences retrieved. content: application/json: schema: type: array items: $ref: '#/components/schemas/LossOccurrence' '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 post: operationId: createLossOccurrence summary: Create loss occurrence description: '' parameters: - name: treatyId in: path description: Treaty Id. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LossOccurrence' required: true responses: '201': description: treaty loss occurrence created. headers: Location: description: treaty loss occurrence style: simple schema: type: string format: URI '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 /v1/treaties/{treatyId}/lossoccurrences/{lossOccurrenceId}: get: operationId: getLossOccurrence summary: Get loss occurrence by treaty description: '' parameters: - name: treatyId in: path description: Treaty Id. required: true schema: type: integer format: int32 minimum: 1 - name: lossOccurrenceId in: path description: Treaty loss occurrence Id. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string responses: '200': description: Treaty loss occurrences retrieved. content: application/json: schema: $ref: '#/components/schemas/LossOccurrence' '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "View Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 put: operationId: updateLossOccurrence summary: Update loss occurrence description: '' parameters: - name: treatyId in: path description: Treaty Id. required: true schema: type: integer format: int32 minimum: 1 - name: lossOccurrenceId in: path description: Treaty loss occurrence Id. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LossOccurrence' required: true responses: '204': description: Treaty loss occurrence updated. '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 delete: operationId: deleteLossOccurrence summary: Delete loss occurrence description: '' parameters: - name: treatyId in: path description: Treaty Id. required: true schema: type: integer format: int32 minimum: 1 - name: lossOccurrenceId in: path description: Treaty loss occurrence Id. required: true schema: type: integer format: int32 minimum: 1 - name: datasource in: query description: Name of the EDM. required: true schema: type: string responses: '204': description: Treaty loss occurrence deleted. '400': description: 'Bad Request: Please check that you are provided all required values.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: 'Forbidden: Access to this resource is denied or not authorized to perform the "Edit Treaties" action.' content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' security: - RMS_Auth: [] tags: - TreatyV1 components: schemas: Treaty: description: 'A reinsurance contract between an underwriter and a primary insurer that applies to a collection of related exposures. Under the terms of the treaty, the primary insurer (for example, a cedant) transfers risk to the underwriter in exchange for a premium and the reinsurer assumes financial responsibility for that risk. ' type: object properties: treatyId: type: integer format: int32 treatyNumber: type: string maxLength: 20 minLength: 0 treatyName: type: string maxLength: 40 minLength: 0 cedant: $ref: '#/components/schemas/Cedant' producer: $ref: '#/components/schemas/Producer' treatyType: description: The treaty type. $ref: '#/components/schemas/ExposureValue' currency: description: Indicates treaty currency. All monetary fields for a single treaty are considered to be in the same currency. However, treaties can be in a different currency than the exposures to which they are being attached. During analysis, Risk Modeler converts all currencies to the analysis currency.. $ref: '#/components/schemas/ExposureValue' attachBasis: $ref: '#/components/schemas/ExposureValue' attachLevel: $ref: '#/components/schemas/ExposureValue' premium: type: number format: double occurLimit: description: Maximum amount that a treaty pays out for all locations for any event. type: number format: double attachPt: description: Value at which the treaty takes effect. type: number format: double riskLimit: type: number format: double retentAmt: type: number format: double pcntPlaced: type: number format: double effectDate: type: string expireDate: type: string pcntRetent: description: Percentage of the reinsurer's share of the treaty losses that are not covered by retrocessions. Determines the losses for the reinsurance net loss financial perspective and the net premium that a reinsurer receives for a treaty. Calculated as reinsurance gross loss multiplied by the percentage retention by treaty. type: number format: double pcntRiShare: type: number format: double pcntCovered: description: Percentage of loss greater than the attachment point covered by a treaty. Not applicable to Surplus Share treaties. type: number format: double priority: type: integer format: int32 numOfReinst: type: integer format: int32 reinstCharge: type: number format: double maolAmount: type: number format: double isValid: type: boolean userId1: type: string userId2: type: string lobs: type: array items: $ref: '#/components/schemas/LineOfBusiness' aggregateDeductible: type: number format: double aggregateLimit: type: number format: double lossOccurrences: type: array items: $ref: '#/components/schemas/LossOccurrence' required: - attachLevel - cedant - treatyNumber - treatyType TreatySearchResult: type: object properties: totalMatchCount: type: integer format: int64 searchMatchingTreatyList: type: array items: $ref: '#/components/schemas/Treaty' ExposureValue: type: object properties: id: type: integer format: int32 code: type: string name: type: string LossOccurrence: type: object properties: id: type: integer format: int32 treatyId: type: integer format: int32 regionPeril: $ref: '#/components/schemas/ExposureValue' lossOccurrenceTime: type: integer format: int32 lossOccurrenceRadius: type: integer format: int32 radiusUnit: $ref: '#/components/schemas/ExposureValue' multiLossOccurrence: $ref: '#/components/schemas/ExposureValue' required: - treatyId ErrorMessage: type: object properties: code: type: string message: type: string logId: type: string BatchRequest: type: object properties: method: type: string path: type: string body: type: string LineOfBusiness: type: object properties: id: type: integer format: int32 name: type: string maxLength: 20 minLength: 0 required: - name CopyTreatyInfo: type: object properties: newNumber: type: string newName: type: string required: - newNumber Producer: description: Agent or brokerage firm that produced a policy. type: object properties: id: type: string maxLength: 20 minLength: 0 pattern: ^\w([\w-]*\w|)$ name: type: string maxLength: 40 minLength: 0 required: - name Currency: type: object properties: code: type: string scheme: type: string asOfDate: type: string vintage: type: string required: - asOfDate - code - scheme - vintage Cedant: description: A risk-holding party (insurer/reinsurer) that is transferring a portion of risk to another risk-holding party (reinsurer/retrocessionaire). type: object properties: id: type: string maxLength: 20 minLength: 0 pattern: ^\w([\w-]*\w|)$ name: type: string maxLength: 40 minLength: 0 required: - name securitySchemes: RMS_Auth: type: apiKey name: Authorization in: header description: An API key is a token that enables a client application to make requests to tenant applications running on Intelligent Risk Platform. x-default: XXXXXXXXXX x-readme: explorer-enabled: false samples-languages: - curl - java - csharp - node - python proxy-enabled: true samples-enabled: true