Last active
February 24, 2024 21:33
-
-
Save andreasevers/86af2a0e64b01db6602e06826d2f09e1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
openapi: 3.0.0 | |
servers: | |
- description: RS Pre-Validations API | |
url: "https://pre-validations.rs<placeholder>.korfinancial.com" | |
info: | |
x-audience: external-public | |
x-api-id: 88522688-caeb-47f6-9e7e-bac59f52e67a | |
description: Provides services for querying regulatory messages | |
version: "1.0.0" | |
title: RS Pre-Validations API | |
contact: | |
name: KOR Engineering | |
email: support@korfinancial.com | |
url: https://www.korfinancial.com/ | |
license: | |
name: Apache 2.0 | |
url: 'https://www.apache.org/licenses/LICENSE-2.0.html' | |
tags: | |
- name: Regulatory Messages | |
description: Reportable messages induced from submissions after eligibility | |
paths: | |
/regulatory-messages: | |
get: | |
tags: | |
- Regulatory Messages | |
summary: Query a list of regulatory messages | |
description: Query a list of regulatory messages | |
security: | |
- OAuth2: | |
- openid | |
parameters: | |
- in: query | |
name: entityId | |
description: Your KOR entity identifier. Your admin can obtain this identifier from the KOR Central UI under entity client details. | |
required: false | |
schema: | |
type: string | |
format: uuid | |
example: EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB | |
- in: query | |
name: validationStatus | |
description: The validation status of the regulatory message | |
required: false | |
schema: | |
$ref: '#/components/schemas/ValidationStatus' | |
- in: query | |
name: timeliness | |
description: Parameter to filter out rejected message where the specified timeliness is applicable. Also works in combination with the query parameter. | |
required: false | |
schema: | |
type: array | |
items: | |
type: string | |
x-extensible-enum: | |
- TIME_LEFT | |
- NEAR_LATE | |
- PAST_DUE | |
- NOT_APPLICABLE | |
- NOT_CALCULABLE | |
- in: query | |
name: cursor | |
description: The cursor to get the next page, empty returns the first page | |
required: false | |
schema: | |
type: string | |
nullable: true | |
- in: query | |
name: pageSize | |
description: Max amount of results that should be returned | |
required: false | |
schema: | |
type: integer | |
- in: query | |
name: scroll | |
description: A flag to define you intent to scroll through your results | |
required: false | |
schema: | |
type: boolean | |
- in: query | |
name: query | |
description: > | |
URL encoded JSON string containing the search query with various filter options.<br/> | |
<b>JSON Structure</b> | |
<p>The following JSON snippet can be passed in through an HTTP query parameter URL encoded:</p> | |
<p> | |
<code>{"lf": "and", "q": [{"p": ["field"], "cf": "eq", "v": ["value"]}]}</code> | |
</p> | |
<b>Possible "cf" Values</b> | |
<p>The "cf" field can have the following values based on data types:</p> | |
<b>Integers:</b> | |
<ul> | |
<li>'neq' (Not Equals)</li> | |
<li>'eq' (Equals)</li> | |
<li>'gt' (Greater Than)</li> | |
<li>'gte' (Greater Than or Equals)</li> | |
<li>'lt' (Less Than)</li> | |
<li>'lte' (Less Than or Equals)</li> | |
</ul> | |
<b>String:</b> | |
<ul> | |
<li>'neq' (Not Equals)</li> | |
<li>'eq' (Equals)</li> | |
<li>'ct' (Contains)</li> | |
</ul> | |
<b>Dates:</b> | |
<p>Represented as a unix timestamp as <b>long</b></p> | |
<ul> | |
<li>'neq' (Not Equals)</li> | |
<li>'eq' (Equals)</li> | |
<li>'gt' (Greater Than)</li> | |
<li>'gte' (Greater Than or Equals)</li> | |
<li>'lt' (Less Than)</li> | |
<li>'lte' (Less Than or Equals)</li> | |
</ul> | |
<b>Boolean:</b> | |
<p>Represented as the strings <b>true</b> or <b>false</b></p> | |
<ul> | |
<li>'neq' (Not Equals)</li> | |
<li>'eq' (Equals)</li> | |
</ul> | |
<b>Supported fields and their corresponding types:</b> | |
<ul> | |
<li>identifier: text</li> | |
<li>status: text</li> | |
<li>validationStatus: text</li> | |
<li>createdTimestamp: date</li> | |
<li>validatedTimestamp: date</li> | |
<li>assetClass: text</li> | |
<li>messageType: text</li> | |
<li>actionType: text</li> | |
<li>eventType: text</li> | |
<li>reportingJurisdiction: text</li> | |
<li>counterparty1: text</li> | |
<li>counterparty2: text</li> | |
<li>product: text</li> | |
<li>repository: text</li> | |
<li>clientTradeIdentifier: text</li> | |
<li>tradeIdentifier: text</li> | |
<li>timeliness.requiredTimestamp: text</li> | |
<li>timeliness.submittedLateIndicator: boolean</li> | |
<li>timeliness.submittedLateDuration: long</li> | |
<li>timeliness.rule: text</li> | |
<li>userIdentifier: text</li> | |
</ul> | |
<p>the In the context of your system, the attribute <b>validationStatus</b> with a value of <b>REJECTED</b> is conditionally required when performing a system query specifically for regulatory messages that have been rejected. | |
</p> | |
<ul> | |
<li>rejections.code: text</li> | |
<li>rejections.field: text</li> | |
<li>rejections.fieldType: text</li> | |
<li>rejections.submittedValue: text</li> | |
<li>rejections.ruleId: text</li> | |
</ul> | |
required: false | |
schema: | |
type: string | |
example: '%7B%22p%22%3A%5B%22field%22%5D%2C%22cf%22%3A%22eq%22%2C%22v%22%3A%5B%22value1%22%2C%22value2%22%5D%7D' | |
nullable: true | |
responses: | |
200: | |
description: The submissions | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/RegulatoryMessagesSearchResult' | |
400: | |
description: Bad Request | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
401: | |
description: Unauthorized | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
403: | |
description: Forbidden | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
404: | |
description: Not Found | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
405: | |
description: Method Not Allowed | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
406: | |
description: Not Acceptable | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
415: | |
description: Unsupported Media Type | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
500: | |
description: Internal Server Error | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
504: | |
description: Gateway Timeout | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
default: | |
description: Internal Server Error | |
content: | |
application/problem+json: | |
schema: | |
$ref: '#/components/schemas/Problem' | |
/regulatory-messages/{identifier}: | |
get: | |
tags: | |
- Regulatory Messages | |
summary: Get regulatory message by identifier | |
description: Get regulatory message by identifier | |
security: | |
- OAuth2: | |
- openid | |
parameters: | |
- in: path | |
name: identifier | |
description: The regulatory message identifier | |
required: true | |
schema: | |
type: string | |
format: uuid | |
example: EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB | |
- in: query | |
name: validationStatus | |
description: The validation status of the regulatory message | |
required: false | |
schema: | |
$ref: '#/components/schemas/ValidationStatus' | |
responses: | |
200: | |
description: The regulatory message details | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/RegulatoryMessageDetails' | |
400: | |
description: Bad Request | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
401: | |
description: Unauthorized | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
403: | |
description: Forbidden | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
404: | |
description: Not Found | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
405: | |
description: Method Not Allowed | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
406: | |
description: Not Acceptable | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
415: | |
description: Unsupported Media Type | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
500: | |
description: Internal Server Error | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
504: | |
description: Gateway Timeout | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
default: | |
description: Internal Server Error | |
content: | |
application/problem+json: | |
schema: | |
$ref: '#/components/schemas/Problem' | |
/regulatory-messages/{identifier}/resolution: | |
post: | |
tags: | |
- messages | |
summary: Resolve the rejected regulatory message by ignoring it | |
description: Create a resolution of the rejected message by ignoring the rejected message | |
security: | |
- OAuth2: | |
- openid | |
parameters: | |
- in: path | |
name: identifier | |
description: KOR SDR generated unique and random identifier for the rejected regulatory message | |
required: true | |
schema: | |
type: string | |
format: uuid | |
example: EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/CreateResolutionRequestObject' | |
responses: | |
202: | |
description: Resolve rejected regulatory message accepted | |
400: | |
description: Bad Request | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
401: | |
description: Unauthorized | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
403: | |
description: Forbidden | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
404: | |
description: Not Found | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
405: | |
description: Method Not Allowed | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
406: | |
description: Not Acceptable | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
500: | |
description: Internal Server Error | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
504: | |
description: Gateway Timeout | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
default: | |
description: Internal Server Error | |
content: | |
application/problem+json: | |
schema: | |
$ref: '#/components/schemas/Problem' | |
/regulatory-messages/statistics/rejections/fields: | |
get: | |
tags: | |
- statistics | |
summary: Get the statistics on the amount of regulatory message rejections by field | |
description: Query rejection totals for all regulatory messages grouped by rejected field, with specific groups by timeliness. | |
security: | |
- OAuth2: | |
- openid | |
parameters: | |
- in: query | |
name: entityId | |
description: Your KOR entity identifier. Your admin can obtain this identifier from the KOR Central UI under entity client details. | |
schema: | |
type: string | |
format: uuid | |
example: EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB | |
responses: | |
200: | |
description: Successful response | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/RejectionStatisticsByField' | |
400: | |
description: Bad Request | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
401: | |
description: Unauthorized | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
403: | |
description: Forbidden | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
405: | |
description: Method Not Allowed | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
406: | |
description: Not Acceptable | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
500: | |
description: Internal Server Error | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
504: | |
description: Gateway Timeout | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
default: | |
description: Internal Server Error | |
content: | |
application/problem+json: | |
schema: | |
$ref: '#/components/schemas/Problem' | |
/regulatory-messages/statistics/rejections/categories: | |
get: | |
tags: | |
- statistics | |
summary: Get statistics on the amount of regulatory message rejections by category | |
description: Query rejection totals for all regulatory messages grouped by rejection category, with specific groups by timeliness. | |
security: | |
- OAuth2: | |
- openid | |
parameters: | |
- in: query | |
name: entityId | |
description: Your KOR entity identifier. Your admin can obtain this identifier from the KOR Central UI under entity client details. | |
required: true | |
schema: | |
type: string | |
format: uuid | |
example: EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB | |
responses: | |
200: | |
description: Successful response | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/RejectionStatisticsByCategory' | |
400: | |
description: Bad Request | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
401: | |
description: Unauthorized | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
403: | |
description: Forbidden | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
405: | |
description: Method Not Allowed | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
406: | |
description: Not Acceptable | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
500: | |
description: Internal Server Error | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
504: | |
description: Gateway Timeout | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
default: | |
description: Internal Server Error | |
content: | |
application/problem+json: | |
schema: | |
$ref: '#/components/schemas/Problem' | |
/regulatory-messages/statistics/rejections/rejections: | |
get: | |
tags: | |
- statistics | |
summary: Get statistics on the amount of regulatory message rejections by rejection | |
description: Query rejection totals for all regulatory messages grouped by rejection submitted value, code and field, with specific groups by timeliness. | |
security: | |
- OAuth2: | |
- openid | |
parameters: | |
- in: query | |
name: entityId | |
description: Your KOR entity identifier. Your admin can obtain this identifier from the KOR Central UI under entity client details. | |
required: true | |
schema: | |
type: string | |
format: uuid | |
example: EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB | |
responses: | |
200: | |
description: Successful response | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/RejectionStatisticsByRejection' | |
400: | |
description: Bad Request | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
401: | |
description: Unauthorized | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
403: | |
description: Forbidden | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
405: | |
description: Method Not Allowed | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
406: | |
description: Not Acceptable | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
500: | |
description: Internal Server Error | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
504: | |
description: Gateway Timeout | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
default: | |
description: Internal Server Error | |
content: | |
application/problem+json: | |
schema: | |
$ref: '#/components/schemas/Problem' | |
/regulatory-messages/resolution: | |
post: | |
tags: | |
- messages | |
summary: Resolve the rejected regulatory messages by ignoring it | |
description: Create a resolution of the rejected messages by ignoring the rejected messages | |
security: | |
- OAuth2: | |
- openid | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/CreateResolutionsRequestObject' | |
responses: | |
202: | |
description: Resolve rejected regulatory message accepted | |
400: | |
description: Bad Request | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
401: | |
description: Unauthorized | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
403: | |
description: Forbidden | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
404: | |
description: Not Found | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
405: | |
description: Method Not Allowed | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
406: | |
description: Not Acceptable | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
500: | |
description: Internal Server Error | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
504: | |
description: Gateway Timeout | |
content: | |
"application/problem+json": | |
schema: | |
$ref: '#/components/schemas/Problem' | |
default: | |
description: Internal Server Error | |
content: | |
application/problem+json: | |
schema: | |
$ref: '#/components/schemas/Problem' | |
components: | |
schemas: | |
CreateResolutionRequestObject: | |
type: object | |
required: | |
- resolution | |
properties: | |
resolution: | |
type: string | |
description: The resolution of the rejected regulatory message | |
x-extensible-enum: | |
- IGNORED | |
CreateResolutionsRequestObject: | |
type: object | |
required: | |
- resolution | |
- identifiers | |
properties: | |
resolution: | |
type: string | |
description: The resolution of the rejected regulatory message | |
x-extensible-enum: | |
- IGNORED | |
identifiers: | |
type: array | |
description: The list of identifiers of rejected regulatory messages | |
items: | |
type: string | |
MessageStatus: | |
type: string | |
description: The status of the processed message | |
x-extensible-enum: | |
- CREATION_FAILED | |
- CREATED | |
- VALIDATION_EXECUTED | |
- IGNORED | |
- SUPERSEDED | |
- RESOLVED | |
- CANCELLED | |
ValidationStatus: | |
type: string | |
description: The validation status of the processed message | |
x-extensible-enum: | |
- FAILED | |
- NOOP | |
- REJECTED | |
- VALIDATED | |
RegulatoryMessagesSearchResult: | |
description: The search result with a cursor, indicating whether there are more items and the returned (subset of) submissions | |
type: object | |
required: | |
- hasMore | |
- items | |
properties: | |
cursor: | |
description: Cursor for the current search request. | |
type: string | |
nullable: true | |
hasMore: | |
description: Indicating whether there are more items that can be retrieved. | |
type: boolean | |
items: | |
description: The list of items | |
type: array | |
items: | |
$ref: '#/components/schemas/RegulatoryMessage' | |
RegulatoryMessage: | |
type: object | |
description: Specific element of the regulatory message | |
properties: | |
identifier: | |
type: string | |
format: uuid | |
example: 3AE803B1-5765-481D-BFAB-D176679D7D8C | |
messageStatus: | |
$ref: '#/components/schemas/MessageStatus' | |
validationStatus: | |
type: string | |
nullable: true | |
x-extensible-enum: | |
- FAILED | |
- NOOP | |
- REJECTED | |
- VALIDATED | |
actionType: | |
type: string | |
example: NEWT | |
eventType: | |
type: string | |
example: TRAD | |
messageType: | |
type: string | |
x-extensible-enum: | |
- TRANSACTION | |
- PUBLIC | |
- COLLATERAL | |
- VALUATION | |
jurisdiction: | |
type: string | |
x-extensible-enum: | |
- CFTC | |
- ESMA | |
- ASIC | |
- MAS | |
- CA | |
- FCA | |
- ACER | |
- SEC | |
repository: | |
type: string | |
description: Where the message is being submitted to | |
x-extensible-enum: | |
- KOR | |
- DTCC | |
clientTradeIdentifier: | |
type: string | |
example: client-trade-id | |
tradeIdentifier: | |
type: string | |
example: 3AE803B1-5765-481D-BFAB-D176679D7D8C | |
submitterIdentifier: | |
type: string | |
counterparty1: | |
type: string | |
example: LEI12345671234567890 | |
counterparty2: | |
type: string | |
example: LEI12345671234567890 | |
assetClass: | |
type: string | |
example: CO | |
product: | |
type: string | |
example: GOLD | |
warningCount: | |
description: The number of warnings | |
type: number | |
example: 2 | |
rejectionCount: | |
type: number | |
messageRequiredSubmissionTimestamp: | |
type: string | |
format: datetime | |
example: 2023-12-12T12:00:00Z | |
nullable: true | |
createdTimestamp: | |
type: string | |
format: datetime | |
example: 2023-12-12T12:00:00Z | |
validatedTimestamp: | |
type: string | |
format: datetime | |
nullable: true | |
example: 2023-12-12T12:00:00Z | |
failureReason: | |
type: string | |
nullable: true | |
lineage: | |
$ref: '#/components/schemas/RegulatoryMessageLineage' | |
userIdentifier: | |
type: string | |
example: 68F38959-1802-4DBC-A43D-651A7E441A05 | |
description: The user that triggered the creation of the regulatory message | |
permissions: | |
$ref: '#/components/schemas/Permissions' | |
uniqueProductIdentifier: | |
type: string | |
description: The unique product identifier of the regulatory message | |
RegulatoryMessageDetails: | |
type: object | |
description: Regulatory message details | |
properties: | |
identifier: | |
type: string | |
format: uuid | |
example: 3AE803B1-5765-481D-BFAB-D176679D7D8C | |
kdm: | |
type: object | |
messageStatus: | |
$ref: '#/components/schemas/MessageStatus' | |
validationStatus: | |
type: string | |
nullable: true | |
x-extensible-enum: | |
- FAILED | |
- NOOP | |
- REJECTED | |
- VALIDATED | |
messageType: | |
type: string | |
x-extensible-enum: | |
- TRANSACTION | |
- PUBLIC | |
- COLLATERAL | |
- VALUATION | |
actionType: | |
type: string | |
example: NEWT | |
eventType: | |
type: string | |
example: TRAD | |
jurisdiction: | |
type: string | |
x-extensible-enum: | |
- CFTC | |
- ESMA | |
- ASIC | |
- MAS | |
- CA | |
- FCA | |
- ACER | |
- SEC | |
repository: | |
type: string | |
description: Where the message is being submitted to | |
x-extensible-enum: | |
- KOR | |
- DTCC | |
clientTradeIdentifier: | |
type: string | |
example: client-trade-id | |
tradeIdentifier: | |
type: string | |
example: 3AE803B1-5765-481D-BFAB-D176679D7D8C | |
submitterIdentifier: | |
type: string | |
counterparty1: | |
type: string | |
example: LEI12345671234567890 | |
counterparty2: | |
type: string | |
example: LEI12345671234567890 | |
assetClass: | |
type: string | |
example: CO | |
product: | |
type: string | |
example: GOLD | |
messageRequiredSubmissionTimestamp: | |
type: string | |
format: datetime | |
example: 2023-12-12T12:00:00Z | |
nullable: true | |
createdTimestamp: | |
type: string | |
format: datetime | |
example: 2023-12-12T12:00:00Z | |
validatedTimestamp: | |
type: string | |
format: datetime | |
nullable: true | |
example: 2023-12-12T12:00:00Z | |
rejectionCount: | |
type: number | |
failureReason: | |
type: string | |
nullable: true | |
rejections: | |
type: array | |
nullable: true | |
items: | |
type: object | |
warningCount: | |
description: The number of warnings | |
type: number | |
example: 2 | |
warnings: | |
type: array | |
nullable: true | |
items: | |
$ref: '#/components/schemas/Warning' | |
korCalculatedFields: | |
type: array | |
nullable: true | |
items: | |
$ref: '#/components/schemas/FieldValue' | |
clientSubmittedFields: | |
type: array | |
nullable: true | |
items: | |
$ref: '#/components/schemas/FieldValue' | |
lineage: | |
$ref: '#/components/schemas/RegulatoryMessageLineage' | |
userIdentifier: | |
type: string | |
example: 68F38959-1802-4DBC-A43D-651A7E441A05 | |
description: The user that triggered the creation of the regulatory message | |
permissions: | |
$ref: '#/components/schemas/Permissions' | |
uniqueProductIdentifier: | |
type: string | |
description: The unique product identifier of the regulatory message | |
FieldValue: | |
type: object | |
required: | |
- category | |
- name | |
properties: | |
category: | |
type: string | |
name: | |
type: string | |
value: | |
oneOf: | |
- type: integer | |
example: 123 | |
- type: string | |
nullable: true | |
example: USD | |
- type: boolean | |
example: true | |
- type: array | |
items: | |
anyOf: | |
- type: string | |
nullable: true | |
- type: boolean | |
- type: integer | |
description: Fields can have an array as value if they are multi-value fields | |
RegulatoryMessageLineage: | |
description: The lineage of the regulatory message. | |
type: object | |
properties: | |
submissionIdentifier: | |
description: The submission identifier | |
type: string | |
format: uuid | |
example: EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB | |
ingestionIdentifier: | |
description: The ingestion identifier | |
type: string | |
format: uuid | |
example: EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB | |
ingestionType: | |
description: The ingestion type | |
type: string | |
x-extensible-enum: | |
- SINGLE_ENTRY | |
- UPLOAD | |
ingestionIndex: | |
description: The ingestion index | |
type: integer | |
dataFeedIdentifier: | |
description: The data feed identifier | |
type: string | |
format: uuid | |
example: EE740BB0-F854-4054-B5DB-0EAA6B3F6DBB | |
Warning: | |
description: A warning | |
type: object | |
properties: | |
fieldName: | |
description: The field name of the warning | |
type: string | |
description: | |
description: The description of the change caused warning | |
type: string | |
reason: | |
description: The reason of the change caused warning | |
type: string | |
category: | |
description: The category of the warning | |
x-extensible-enum: | |
- HUB | |
- REG | |
tag: | |
description: The tag of the function in which warning was generated | |
type: string | |
argumentName: | |
description: The argument name of the function in which warning was generated | |
type: string | |
argumentValue: | |
description: The argument value of the function in which warning was generated | |
type: string | |
RejectionStatisticsByField: | |
type: object | |
required: | |
- fields | |
properties: | |
fields: | |
type: array | |
description: List of individual rejection statistics by field | |
items: | |
$ref: '#/components/schemas/RejectionFieldStatistics' | |
description: A dictionary of total timeliness statistics and rejections by field | |
example: | |
"fields": [ | |
{ | |
field: 'assetClass', | |
nearLate: 400, | |
timeLeft: 200, | |
pastDue: 100, | |
unknown: 0, | |
total: 700, | |
errors: [ | |
{ | |
code: 1, | |
name: 'NUMERIC_LENGTH', | |
rejectionReason: 'Value is too long', | |
nearLate: 200, | |
timeLeft: 100, | |
pastDue: 50, | |
unknown: 0, | |
total: 350 | |
}, | |
{ | |
code: 10, | |
name: 'INVALID_DATE', | |
rejectionReason: 'Date format is invalid', | |
nearLate: 200, | |
timeLeft: 100, | |
pastDue: 50, | |
unknown: 0, | |
total: 350 | |
} | |
] | |
}, | |
{ | |
field: 'paymentAmount', | |
nearLate: 10, | |
timeLeft: 10, | |
pastDue: 5, | |
unknown: 0, | |
total: 40, | |
errors: [ | |
{ | |
code: 1029, | |
name: 'INVALID_FIELD_TYPE', | |
rejectionReason: 'Field type [x] is invalid', | |
nearLate: 10, | |
timeLeft: 10, | |
pastDue: 5, | |
unknown: 0, | |
total: 40 | |
} | |
] | |
} | |
] | |
RejectionStatisticsByCategory: | |
type: object | |
required: | |
- categories | |
properties: | |
categories: | |
type: array | |
description: List of individual rejection statistics by category | |
items: | |
$ref: '#/components/schemas/RejectionCategoryStatistics' | |
description: A dictionary of total timeliness statistics and rejections by category | |
example: | |
"categories": [ | |
{ | |
category: 'INVALID_FORMAT', | |
nearLate: 400, | |
timeLeft: 200, | |
pastDue: 100, | |
unknown: 0, | |
total: 700, | |
errors: [ | |
{ | |
code: 1, | |
name: 'NUMERIC_LENGTH', | |
rejectionReason: 'Value is too long', | |
nearLate: 200, | |
timeLeft: 100, | |
pastDue: 50, | |
unknown: 0, | |
total: 350 | |
}, | |
{ | |
code: 10, | |
name: 'INVALID_DATE', | |
rejectionReason: 'Date format is invalid', | |
nearLate: 200, | |
timeLeft: 100, | |
pastDue: 50, | |
unknown: 0, | |
total: 350 | |
} | |
] | |
}, | |
{ | |
category: 'INVALID_FIELD_TYPE', | |
nearLate: 10, | |
timeLeft: 10, | |
pastDue: 5, | |
unknown: 0, | |
total: 40, | |
errors: [ | |
{ | |
code: 1029, | |
name: 'INVALID_FIELD_TYPE', | |
rejectionReason: 'Field type [x] is invalid', | |
nearLate: 10, | |
timeLeft: 10, | |
pastDue: 5, | |
unknown: 0, | |
total: 40 | |
} | |
] | |
} | |
] | |
RejectionStatisticsByRejection: | |
type: object | |
required: | |
- rejections | |
properties: | |
rejections: | |
type: array | |
description: List of individual rejection statistics by rejections | |
items: | |
$ref: '#/components/schemas/RejectionStatistics' | |
description: A dictionary of total timeliness statistics and rejections by submitted value | |
example: | |
{ | |
"rejections": [ { | |
"code": "25", | |
"name": "INVALID_ENUM", | |
"category": "INVALID_ENUM", | |
"field": "messageType", | |
"submittedValue": "COCR", | |
"rejectionReason": "Invalid allowed value", | |
"nearLate": 0, | |
"timeLeft": 0, | |
"pastDue": 2, | |
"notApplicable": 0, | |
"notCalculable": 0, | |
"total": 2, | |
"rejectionDetails": [ | |
{ | |
"fieldType": "string", | |
"resolution": "Allowed values include [ CORR, EROR, MARU, MODI, NEWT, PRTO, REVI, TERM, VALU ]", | |
"determinantFields": "[ instrumentType, postPricedSwap, assetClass ]", | |
"arguments": "[ CORR, EROR, MARU, MODI, NEWT, PRTO, REVI, TERM, VALU ]" | |
} | |
] | |
}, { | |
"code": "30", | |
"name": "COMPARES_EMPTY_DATA", | |
"category": "COMPARES_EMPTY_DATA", | |
"field": "assetClass", | |
"submittedValue": "NEW", | |
"rejectionReason": "Submitted values in either/both field [$$field-name$$] with value [$$field-value$$] and field [{argument-0}] with value [{argument-1}] are empty", | |
"nearLate": 0, | |
"timeLeft": 0, | |
"pastDue": 1, | |
"notApplicable": 0, | |
"notCalculable": 0, | |
"total": 1, | |
"rejectionDetails": [ | |
{ | |
"fieldType": "string", | |
"resolution": "Allowed values include [ CORR, EROR, MARU, MODI, NEWT, PRTO, REVI, TERM, VALU ]", | |
"determinantFields": "[ instrumentType, postPricedSwap, assetClass ]", | |
"arguments": "[ CORR, EROR, MARU, MODI, NEWT, PRTO, REVI, TERM, VALU ]" | |
} | |
] | |
} ] | |
} | |
RejectionFieldStatistics: | |
allOf: # Combines the RejectionTimelinessStatistics and the inline model | |
- $ref: '#/components/schemas/RejectionTimelinessStatistics' | |
- type: object | |
required: | |
- field | |
- errors | |
properties: | |
field: | |
type: string | |
errors: | |
type: array | |
description: List of individual rejection statistics for the encompassing category | |
items: | |
$ref: '#/components/schemas/RejectionErrorStatistics' | |
RejectionCategoryStatistics: | |
allOf: # Combines the RejectionTimelinessStatistics and the inline model | |
- $ref: '#/components/schemas/RejectionTimelinessStatistics' | |
- type: object | |
required: | |
- category | |
- errors | |
properties: | |
category: | |
type: string | |
errors: | |
type: array | |
description: List of individual rejection statistics for the encompassing category | |
items: | |
$ref: '#/components/schemas/RejectionErrorStatistics' | |
RejectionStatistics: | |
type: object | |
nullable: true | |
properties: | |
code: | |
type: string | |
nullable: false | |
name: | |
type: string | |
nullable: false | |
category: | |
type: string | |
nullable: false | |
field: | |
type: string | |
nullable: false | |
submittedValue: | |
type: string | |
nullable: false | |
rejectionReason: | |
type: string | |
nullable: false | |
nearLate: | |
type: number | |
description: The near late count | |
timeLeft: | |
type: number | |
description: The time left count | |
pastDue: | |
type: number | |
description: The past due count | |
notApplicable: | |
type: number | |
description: The amount of message where timeliness is not applicable | |
notCalculable: | |
type: number | |
description: The amount of message where timeliness can not be calculated | |
total: | |
type: number | |
description: The total count | |
rejectionDetails: | |
type: array | |
description: List of individual rejection statistics for the encompassing category | |
items: | |
$ref: '#/components/schemas/RejectionStatisticDetails' | |
RejectionStatisticDetails: | |
properties: | |
fieldType: | |
type: string | |
description: The type of the field for which the error occurred | |
example: string | |
resolution: | |
type: string | |
description: The resolution for the error | |
example: Allowed values include [CORR, EROR, MARU, MODI, NEWT, PRTO, REVI, TERM, VALU] | |
determinantFields: | |
type: array | |
items: | |
type: string | |
description: Array of fields that contributed to the conditional logic for the rule that created this error. This can also include required fields that were omitted in the submission. | |
additionalProperties: true | |
example: | |
[ instrumentType, postPricedSwap, assetClass ] | |
arguments: | |
type: array | |
description: Arguments for the rejection reason or resolution | |
items: | |
type: string | |
example: [ CORR, EROR, MARU, MODI, NEWT, PRTO, REVI, TERM, VALU ] | |
RejectionErrorStatistics: | |
allOf: # Combines the RejectionTimelinessStatistics and the inline model | |
- $ref: '#/components/schemas/RejectionTimelinessStatistics' | |
- type: object | |
required: | |
- code | |
- name | |
- rejectionReason | |
properties: | |
code: | |
type: string | |
name: | |
type: string | |
rejectionReason: | |
type: string | |
RejectionTimelinessStatistics: | |
type: object | |
required: | |
- nearLate | |
- timeLeft | |
- pastDue | |
- notApplicable | |
- notCalculable | |
- total | |
properties: | |
nearLate: | |
type: number | |
description: The near late count | |
timeLeft: | |
type: number | |
description: The time left count | |
pastDue: | |
type: number | |
description: The past due count | |
notApplicable: | |
type: number | |
description: The amount of message where timeliness is not applicable | |
notCalculable: | |
type: number | |
description: The amount of message where timeliness can not be calculated | |
total: | |
type: number | |
description: The total count | |
TradeRepositoryError: | |
type: object | |
properties: | |
code: | |
type: string | |
description: The error code | |
description: | |
type: string | |
description: The description of the error code | |
Permissions: | |
type: object | |
description: Experimental. The permissions the user has on a resource | |
properties: | |
canIgnore: | |
type: boolean | |
description: Experimental. Whether a user can ignore the resource | |
example: true | |
canReprocess: | |
type: boolean | |
description: Experimental. Whether a user can reprocess the resource | |
example: true | |
Problem: | |
type: object | |
properties: | |
type: | |
type: string | |
format: uri-reference | |
description: > | |
A URI reference that uniquely identifies the problem type only in the | |
context of the provided API. Opposed to the specification in RFC-7807, | |
it is neither recommended to be dereferenceable and point to a | |
human-readable documentation nor globally unique for the problem type. | |
default: 'about:blank' | |
example: '/some/uri-reference' | |
title: | |
type: string | |
description: > | |
A short summary of the problem type. Written in English and readable | |
for engineers, usually not suited for non technical stakeholders and | |
not localized. | |
example: some title for the error situation | |
status: | |
type: integer | |
format: int32 | |
description: > | |
The HTTP status code generated by the origin server for this occurrence | |
of the problem. | |
minimum: 100 | |
maximum: 600 | |
exclusiveMaximum: true | |
detail: | |
type: string | |
description: > | |
A human readable explanation specific to this occurrence of the | |
problem that is helpful to locate the problem and give advice on how | |
to proceed. Written in English and readable for engineers, usually not | |
suited for non technical stakeholders and not localized. | |
example: some description for the error situation | |
instance: | |
type: string | |
format: uri-reference | |
description: > | |
A URI reference that identifies the specific occurrence of the problem, | |
e.g. by adding a fragment identifier or sub-path to the problem type. | |
May be used to locate the root of this problem in the source code. | |
example: '/some/uri-reference#specific-occurrence-context' | |
correlationId: | |
type: string | |
description: > | |
A correlation identity referring to the specific occurrence of the problem. | |
securitySchemes: | |
OAuth2: | |
type: oauth2 | |
flows: | |
clientCredentials: | |
tokenUrl: '<placeholder>' | |
scopes: | |
submissions/write: Allows write access to submissions | |
submissions/read: Allows read access to submissions | |
authorizationCode: | |
authorizationUrl: '<placeholder>' | |
tokenUrl: '<placeholder>' | |
scopes: | |
openid: Grants user access | |
security: | |
- OAuth2: | |
- openid |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment