Skip to content

Commit 59bed4b

Browse files
committed
Renamed 'v1-dev' directory to 'schemas'
1 parent 251b9ad commit 59bed4b

19 files changed

+4341
-0
lines changed

schemas/account.json

Lines changed: 577 additions & 0 deletions
Large diffs are not rendered by default.

schemas/adjustment.json

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema#",
3+
"title": "Adjustment Schema",
4+
"description": "An adjustment represents a modification to a report.",
5+
"type": "object",
6+
"properties": {
7+
"id": {
8+
"description": "The unique identifier for the record within the firm.",
9+
"type": "string"
10+
},
11+
"date": {
12+
"description": "The observation or value date for the data in this object. Formatted as YYYY-MM-DDTHH:MM:SSZ in accordance with ISO 8601.",
13+
"type": "string",
14+
"format": "date-time"
15+
},
16+
"col": {
17+
"description": "The column of the report that this adjustment relates to.",
18+
"type": "string"
19+
},
20+
"comment": {
21+
"description": "The description or commentary around the adjustment.",
22+
"type": "string"
23+
},
24+
"contribution_amount": {
25+
"description": "The contribution amount this adjustment should make to the specified report cell. A positive/negative number in minor units (cents/pence).",
26+
"type": "integer",
27+
"monetary": true
28+
},
29+
"contribution_text": {
30+
"description": "The text to use for the adjustment where the reported cell is not a monetary value.",
31+
"type": "string"
32+
},
33+
"currency_code": {
34+
"description": "The currency of the contribution_amount in accordance with ISO 4217 standards.",
35+
"$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/common.json#/currency_code"
36+
},
37+
"page": {
38+
"description": "The page of the report that this adjustment relates to.",
39+
"type": "string"
40+
},
41+
"report_type": {
42+
"description": "The report that this adjustment relates to.",
43+
"type": "string"
44+
},
45+
"reporting_entity_name": {
46+
"description": "The name of the reporting legal entity for display purposes.",
47+
"type": "string"
48+
},
49+
"row": {
50+
"description": "The row of the report that this adjustment relates to.",
51+
"type": "string"
52+
},
53+
"source": {
54+
"description": "The source(s) where this data originated. If more than one source needs to be stored for data lineage, it should be separated by a dash. eg. Source1-Source2",
55+
"type": "string"
56+
},
57+
"version_id": {
58+
"description": "The version identifier of the data such as the firm's internal batch identifier.",
59+
"type": "string"
60+
}
61+
},
62+
"oneOf": [
63+
{"required": ["id", "date", "report_type", "row", "col", "contribution_amount"]},
64+
{"required": ["id", "date", "report_type", "row", "col", "contribution_text"]}
65+
],
66+
"dependencies": {
67+
"contribution_amount": ["currency_code"]
68+
},
69+
"additionalProperties": true
70+
}

schemas/agreement.json

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema#",
3+
"title": "Agreement Schema",
4+
"description": "An agreement represents the standard terms agreed between two parties.",
5+
"type": "object",
6+
"properties": {
7+
"id": {
8+
"description": "The unique identifier for the record within the firm.",
9+
"type": "string"
10+
},
11+
"date": {
12+
"description": "The observation or value date for the data in this object. Formatted as YYYY-MM-DDTHH:MM:SSZ in accordance with ISO 8601.",
13+
"type": "string",
14+
"format": "date-time"
15+
},
16+
"base_currency_code": {
17+
"description": "Currency in accordance with ISO 4217. It should be consistent with minimum transfer amount and threshold.",
18+
"$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/common.json#/currency_code"
19+
},
20+
"country_code": {
21+
"$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/common.json#/country_code",
22+
"description": "The country code for the governing law of the agreement. Two-letter country code as defined according to ISO 3166-1."
23+
},
24+
"credit_support_type": {
25+
"description": "The type of credit support document",
26+
"type": "string",
27+
"enum": [
28+
"csa_isda_1994", "csa_isda_1995", "csd_isda_1995", "scsa_isda_2013"
29+
]
30+
},
31+
"customer_id": {
32+
"description": "The unique identifier used by the financial institution to identify the counterparty to this agreement.",
33+
"type": "string"
34+
},
35+
"guarantor_id": {
36+
"description": "The unique identifier used by the financial institution to identify the guarantor of the transactions covered by this agreement.",
37+
"type": "string"
38+
},
39+
"margin_frequency": {
40+
"description": "Indicates the periodic timescale at which variation margin is exchanged. Cleared derivatives which are daily settled can be flagged as daily_settled.",
41+
"type": "string",
42+
"enum": [
43+
"daily",
44+
"daily_settled",
45+
"weekly",
46+
"bi_weekly",
47+
"monthly"
48+
]
49+
},
50+
"margin_period_of_risk": {
51+
"description": "Margin period of risk estimated for the transactions covered by the [CSA] agreement",
52+
"type": "integer"
53+
},
54+
"minimum_transfer_amount": {
55+
"description": "Smallest amount of collateral that can be transferred. Monetary type represented as a naturally positive integer number of cents/pence.",
56+
"type": "integer",
57+
"monetary": true
58+
},
59+
"netting_restriction": {
60+
"description": "populated only if any netting restriction applies, in relation to the nature of the agreement or the enforceability of netting in the jurisdiction of the counterparty, preventing the recognition of the agreement as risk-reducing, pursuant to CRR Articles 295 to 298",
61+
"type": "string",
62+
"enum": ["national_supervision", "no_right_to_offset", "restrictive_covenant"]
63+
},
64+
"number_of_disputes": {
65+
"description": "Indicates the number of disputes threshold to be used in the margin period of risk",
66+
"type": "integer"
67+
},
68+
"source": {
69+
"description": "The source where this data originated.",
70+
"type": "string"
71+
},
72+
"start_date": {
73+
"description": "The timestamp that the agreement commences. YYYY-MM-DDTHH:MM:SSZ in accordance with ISO 8601.",
74+
"type": "string",
75+
"format": "date-time"
76+
},
77+
"stay_protocol": {
78+
"description": "Indicates whether a stay protocol has been signed by one or both parties to the agreement.",
79+
"type": "string",
80+
"enum": [
81+
"both",
82+
"customer",
83+
"self_signed"
84+
]
85+
},
86+
"threshold": {
87+
"description": "Amount below which collateral is not required. Monetary type represented as a naturally positive integer number of cents/pence.",
88+
"type": "integer",
89+
"monetary": true
90+
},
91+
"type": {
92+
"description": "The type of the master agreement.",
93+
"type": "string",
94+
"enum": [
95+
"afb",
96+
"drv",
97+
"ema",
98+
"fbf",
99+
"gmra",
100+
"gmsla",
101+
"icma_1992",
102+
"icma_1995",
103+
"icma_2000",
104+
"icma_2011",
105+
"isda",
106+
"isda_1985",
107+
"isda_1986",
108+
"isda_1987",
109+
"isda_1992",
110+
"isda_2002",
111+
"other",
112+
"other_gmra",
113+
"other_isda"
114+
]
115+
},
116+
"version_id": {
117+
"description": "The version identifier of the data such as the firm's internal batch identifier.",
118+
"type": "string"
119+
}
120+
},
121+
"required": ["id", "date"],
122+
"additionalProperties": true
123+
}

schemas/batch.json

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema#",
3+
"title": "Batch Schema",
4+
"description": "FIRE schema for representing bulk collections of bank objects.",
5+
"type": "object",
6+
"properties": {
7+
"count": {
8+
"description": "Number of records in this batch",
9+
"type": "integer",
10+
"min": 0
11+
},
12+
"data": {
13+
"description": "An array of data items of a single type",
14+
"type": "array",
15+
"minItems": 1,
16+
"items": {
17+
"anyOf": [
18+
{ "$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/account.json#" },
19+
{ "$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/collateral.json#" },
20+
{ "$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/customer.json#" },
21+
{ "$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/derivative.json#" },
22+
{ "$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/derivative_cash_flow.json#" },
23+
{ "$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/exchange_rate.json#" },
24+
{ "$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/guarantor.json#" },
25+
{ "$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/issuer.json#" },
26+
{ "$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/loan.json#" },
27+
{ "$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/loan_transaction.json#" },
28+
{ "$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/security.json#" }
29+
]
30+
}
31+
},
32+
"links": {
33+
"description": "An array describing the page structure of the full data batch",
34+
"type": "array",
35+
"minItems": 1,
36+
"items": {
37+
"type": "object",
38+
"properties": {
39+
"rel": {
40+
"type": "string",
41+
"enum": ["self", "prev", "next", "first", "last"]
42+
},
43+
"href" : {
44+
"type": "string",
45+
"format": "uri"
46+
}
47+
},
48+
"required": ["rel", "href"]
49+
}
50+
},
51+
"name": {
52+
"description": "A unique identifier for the data batch",
53+
"type": "string"
54+
}
55+
},
56+
"required": ["data", "name"]
57+
}

schemas/collateral.json

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema#",
3+
"title": "Collateral Schema",
4+
"description": "Data schema to define collateral (currently can reference loans or accounts).",
5+
"type": "object",
6+
"properties": {
7+
"id": {
8+
"description": "The unique identifier for the record within the firm.",
9+
"type": "string"
10+
},
11+
"date": {
12+
"description": "The observation or value date for the data in this object. Formatted as YYYY-MM-DDTHH:MM:SSZ in accordance with ISO 8601.",
13+
"type": "string",
14+
"format": "date-time"
15+
},
16+
"account_ids": {
17+
"description": "The unique identifier/s for the account/s within the financial institution.",
18+
"type": "array",
19+
"minItems": 1,
20+
"items": {
21+
"type": "string"
22+
}
23+
},
24+
"charge": {
25+
"description": "Lender charge on collateral, 1 indicates first charge, 2 second and so on. 0 indicates a combination of charge levels.",
26+
"type": "integer",
27+
"minimum": 0
28+
},
29+
"currency_code": {
30+
"$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/common.json#/currency_code"
31+
},
32+
"encumbrance_amount": {
33+
"description": "The amount of the collateral that is encumbered by potential future commitments or legal liabilities. Monetary type represented as a naturally positive integer number of cents/pence.",
34+
"type": "integer",
35+
"min": 0,
36+
"monetary": true
37+
},
38+
"encumbrance_type": {
39+
"description": "The type of the encumbrance causing the encumbrance_amount.",
40+
"type": "string",
41+
"enum": [
42+
"covered_bond",
43+
"derivative",
44+
"none",
45+
"other",
46+
"real_estate",
47+
"repo"
48+
]
49+
},
50+
"end_date": {
51+
"description": "The end date for recognition of the collateral",
52+
"type": "string",
53+
"format": "date-time"
54+
},
55+
"loan_ids": {
56+
"description": "The unique identifiers for the loans within the financial institution.",
57+
"type": "array",
58+
"minItems": 1,
59+
"items": {
60+
"type": "string"
61+
}
62+
},
63+
"orig_value": {
64+
"description": "The valuation as used by the bank for the collateral at the origination of the related loan or line of credit. Monetary type represented as a naturally positive integer number of cents/pence.",
65+
"type": "integer",
66+
"monetary": true
67+
},
68+
"regulatory_book": {
69+
"$ref": "https://raw.githubusercontent.com/SuadeLabs/fire/master/v1-dev/common.json#/regulatory_book"
70+
},
71+
"security_id": {
72+
"description": "The unique identifier used by the financial institution to identify the security representing collateral.",
73+
"type": "string"
74+
},
75+
"source": {
76+
"description": "The source(s) where this data originated. If more than one source needs to be stored for data lineage, it should be separated by a dash. eg. Source1-Source2",
77+
"type": "string"
78+
},
79+
"start_date": {
80+
"description": "The start date for recognition of the collateral",
81+
"type": "string",
82+
"format": "date-time"
83+
},
84+
"type": {
85+
"description": "The collateral type defines the form of the collateral provided",
86+
"type": "string",
87+
"enum": [
88+
"auto",
89+
"cash",
90+
"commercial_property",
91+
"commercial_property_hr",
92+
"debenture",
93+
"farm",
94+
"guarantee",
95+
"immovable_property",
96+
"life_policy",
97+
"multifamily",
98+
"other",
99+
"res_property_hr",
100+
"residential_property",
101+
"security"
102+
]
103+
},
104+
"value": {
105+
"description": "The valuation as used by the bank for the collateral on the value_date. Monetary type represented as a naturally positive integer number of cents/pence.",
106+
"type": "integer",
107+
"monetary": true
108+
},
109+
"value_date": {
110+
"description": "The timestamp that the collateral was valued. YYYY-MM-DDTHH:MM:SSZ in accordance with ISO 8601.",
111+
"type": "string",
112+
"format": "date-time"
113+
},
114+
"version_id": {
115+
"description": "The version identifier of the data such as the firm's internal batch identifier.",
116+
"type": "string"
117+
},
118+
"vol_adj": {
119+
"description": "The volatility adjustment appropriate to the collateral.",
120+
"type": "number"
121+
},
122+
"vol_adj_fx": {
123+
"description": "The volatility adjustment appropriate to currency mismatch.",
124+
"type": "number"
125+
}
126+
},
127+
"required": ["id", "date", "value"],
128+
"additionalProperties": true
129+
}

0 commit comments

Comments
 (0)