Skip to content

Commit

Permalink
First cut of LIXI2 scheme meta data
Browse files Browse the repository at this point in the history
  • Loading branch information
James-P2P committed Nov 2, 2023
1 parent addb68c commit ea9ad35
Show file tree
Hide file tree
Showing 4 changed files with 256 additions and 24 deletions.
2 changes: 1 addition & 1 deletion docs/Standards/Simple-Bank-Account-Origination.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

**EXPERIMENTAL**

*Current Version:* **0.0.3**
*Current Version:* **0.0.4**

Additional endpoints, and extensions to existing endpoints, to facilitate the receipt of an account opening instruction to begin the process of a customer opening a new bank account.

Expand Down
129 changes: 118 additions & 11 deletions docs/Support_Files/Simple-Bank-Account-Origination-OAS.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
<h1 id="cdr-experimantal-simple-bank-account-origination-api">CDR Experimantal Simple Bank Account Origination API v0.0.3</h1>
---
title: CDR Experimantal Simple Bank Account Origination API
language_tabs: []
toc_footers: []
includes: []
search: true
highlight_theme: darkula
headingLevel: 2

---

<h1 id="cdr-experimantal-simple-bank-account-origination-api">CDR Experimantal Simple Bank Account Origination API v0.0.4</h1>

> Scroll down for example requests and responses.
Specification of endpoints defined in the Simple Bank Account Origination experimental standard. This is an experimental standard created by the Data Standards Body (DSB) as part of the Consumer Data Standards

Expand All @@ -15,6 +28,8 @@ License: <a href="https://opensource.org/licenses/MIT">MIT License</a>

<a id="opIdgetOriginationScheme"></a>

> Code samples
`GET /DSB/banking/origination/schemes/{schemeId}`

Obtain the meta data describing how to make an application for a family of products.
Expand All @@ -32,20 +47,44 @@ Obtain the meta data describing how to make an application for a family of produ
> 200 Response
```json
null
{
"data": {
"schemeUType": "lixi1",
"lixi1": {},
"lixi2": {
"baseUri": "string",
"lixiCode": "string",
"lixiVersion": "string",
"lixiCustomVersion": "string",
"apiVersion": "string",
"productCodeMappings": [
{
"productId": "string",
"productCode": "string"
}
],
"schematronUri": "string",
"apiSpecificationUri": "string",
"customVersionUri": "string"
},
"cdrApplyForBankAccountV1": {}
},
"links": {
"self": "string"
},
"meta": {}
}
```

<h3 id="getoriginationscheme-responses">Responses</h3>

|Status|Meaning|Description|Schema|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful response|Inline|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Successful response|[OriginationSchemeResponseV1](#schemaoriginationschemeresponsev1)|
|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[400 - Invalid Field](#error-400-field-invalid)</li><li>[400 - Missing Field](#error-400-field-missing)</li><li>[400 - Invalid Page Size](#error-400-field-invalid-page-size)</li><li>[400 - Invalid Version](#error-400-header-invalid-version)</li></ul>|[ResponseErrorListV2](#schemaresponseerrorlistv2)|
|406|[Not Acceptable](https://tools.ietf.org/html/rfc7231#section-6.5.6)|The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[406 - Unsupported Version](#error-406-header-unsupported-version)</li></ul>|[ResponseErrorListV2](#schemaresponseerrorlistv2)|
|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The following error codes MUST be supported:<br/><ul class="error-code-list"><li>[422 - Invalid Page](#error-422-field-invalid-page)</li></ul>|[ResponseErrorListV2](#schemaresponseerrorlistv2)|

<h3 id="getoriginationscheme-responseschema">Response Schema</h3>

### Response Headers

|Status|Header|Type|Format|Description|
Expand All @@ -60,6 +99,8 @@ This operation does not require authentication

<a id="opIdapplyForAccount"></a>

> Code samples
`POST /DSB/banking/accounts`

Submit an application, on behalf of a consumer, to apply for an account to be originated.
Expand Down Expand Up @@ -109,24 +150,71 @@ This operation does not require authentication

# Schemas

<h2 id="tocSmetaerror">MetaError</h2>
<h2 id="tocSoriginationschemeresponsev1">OriginationSchemeResponseV1</h2>

<a id="schemametaerror"></a>
<a id="schemaoriginationschemeresponsev1"></a>

```json
{
"urn": "string"
"data": {
"schemeUType": "lixi1",
"lixi1": {},
"lixi2": {
"baseUri": "string",
"lixiCode": "string",
"lixiVersion": "string",
"lixiCustomVersion": "string",
"apiVersion": "string",
"productCodeMappings": [
{
"productId": "string",
"productCode": "string"
}
],
"schematronUri": "string",
"apiSpecificationUri": "string",
"customVersionUri": "string"
},
"cdrApplyForBankAccountV1": {}
},
"links": {
"self": "string"
},
"meta": {}
}

```

*Additional data for customised error codes*

### Properties

|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|urn|string|false|none|The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code.|
|data|object|true|none|none|
|» schemeUType|string|true|none|The type of origination scheme represented|
|» lixi1|object|false|none|Provides the metadata for making an application using a LIXI1 gateway. Mandatory if schemeUType is set to 'lixi1'|
|» lixi2|object|false|none|Provides the metadata for making an application using a LIXI2 gateway. Mandatory if schemeUType is set to 'lixi2'|
|»» baseUri|string|true|none|Base path used to access the LIXI2 gateway|
|»» lixiCode|string|true|none|The LIXI participant code, assigned by LIXI, for the receiving organisation|
|»» lixiVersion|string|true|none|The supported version of the LIXI2 schema|
|»» lixiCustomVersion|string|false|none|Optional identifier of a custom version of the LIXI payloads that are accepted if the receiving organisation has made custom extensions or modifications to the LIXI schema|
|»» apiVersion|string|false|none|Optional version of an API schema definition|
|»» productCodeMappings|[object]|false|none|Optional mapping of CDR product IDs to product codes used in LIXI applications via this origination scheme. If absent, or if a mapping is not included, then the CDR product ID is expected to be used as the LIXI product code|
|»»» productId|string|true|none|The CDR product ID to map from|
|»»» productCode|string|true|none|The LIXI product code to map to|
|»» schematronUri|string|false|none|Optional reference to a Schematron file indicating the valid use of this LIXI gateway|
|»» apiSpecificationUri|string|false|none|Optional reference to an Open API Specification file describing the API version specified in the 'apiVersion' field|
|»» customVersionUri|string|false|none|Optional reference to additional information describing the customisations and extensions make to the LIXI scheams|
|» cdrApplyForBankAccountV1|object|false|none|Provides the metadata for making an application using version 1 of the CDR 'Apply For Bank Account' endpoint. Mandatory if schemeUType is set to 'cdrApplyForBankAccountV1'|
|links|[Links](#schemalinks)|true|none|none|
|meta|[Meta](#schemameta)|true|none|none|

#### Enumerated Values

|Property|Value|
|---|---|
|schemeUType|lixi1|
|schemeUType|lixi2|
|schemeUType|cdrApplyForBankAccountV1|

<h2 id="tocSresponseerrorlistv2">ResponseErrorListV2</h2>

Expand Down Expand Up @@ -232,3 +320,22 @@ This operation does not require authentication
|totalRecords|integer|true|none|The total number of records in the full set. See [pagination](#pagination).|
|totalPages|integer|true|none|The total number of pages in the full set. See [pagination](#pagination).|

<h2 id="tocSmetaerror">MetaError</h2>

<a id="schemametaerror"></a>

```json
{
"urn": "string"
}

```

*Additional data for customised error codes*

### Properties

|Name|Type|Required|Restrictions|Description|
|---|---|---|---|---|
|urn|string|false|none|The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code.|

144 changes: 132 additions & 12 deletions docs/Support_Files/Simple-Bank-Account-Origination.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"url": "https://opensource.org/licenses/MIT"
},
"title": "CDR Experimantal Simple Bank Account Origination API",
"version": "0.0.3"
"version": "0.0.4"
},
"servers": [
{
Expand Down Expand Up @@ -51,7 +51,9 @@
"200": {
"content": {
"application/json": {
"schema": {}
"schema": {
"$ref": "#/components/schemas/OriginationSchemeResponseV1"
}
}
},
"description": "Successful response",
Expand Down Expand Up @@ -95,7 +97,7 @@
}
},
"/DSB/banking/accounts": {
"summary": "Apply For Account",
"summary": "Apply For Bank Account",
"x-version": "1",
"post": {
"description": "Submit an application, on behalf of a consumer, to apply for an account to be originated.",
Expand Down Expand Up @@ -200,18 +202,123 @@
},
"responses": {},
"schemas": {
"MetaError": {
"OriginationSchemeResponseV1": {
"required": [
"data",
"links",
"meta"
],
"type": "object",
"properties": {
"urn": {
"type": "string",
"description": "The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code."
"data": {
"required": [
"schemeUType"
],
"x-conditional": [
"lixi1",
"lixi2",
"cdrApplyV1"
],
"type": "object",
"properties": {
"schemeUType": {
"type": "string",
"description": "The type of origination scheme represented",
"enum": [
"lixi1",
"lixi2",
"cdrApplyForBankAccountV1"
]
},
"lixi1": {
"type": "object",
"description": "Provides the metadata for making an application using a LIXI1 gateway. Mandatory if schemeUType is set to 'lixi1'",
"properties": {}
},
"lixi2": {
"type": "object",
"description": "Provides the metadata for making an application using a LIXI2 gateway. Mandatory if schemeUType is set to 'lixi2'",
"required": [
"baseUri",
"lixiCode",
"lixiVersion"
],
"properties": {
"baseUri": {
"type": "string",
"description": "Base path used to access the LIXI2 gateway",
"x-cds-type": "URIString"
},
"lixiCode": {
"type": "string",
"description": "The LIXI participant code, assigned by LIXI, for the receiving organisation"
},
"lixiVersion": {
"type": "string",
"description": "The supported version of the LIXI2 schema"
},
"lixiCustomVersion": {
"type": "string",
"description": "Optional identifier of a custom version of the LIXI payloads that are accepted if the receiving organisation has made custom extensions or modifications to the LIXI schema"
},
"apiVersion": {
"type": "string",
"description": "Optional version of an API schema definition"
},
"productCodeMappings": {
"type": "array",
"description": "Optional mapping of CDR product IDs to product codes used in LIXI applications via this origination scheme. If absent, or if a mapping is not included, then the CDR product ID is expected to be used as the LIXI product code",
"items": {
"required": [
"productId",
"productCode"
],
"type": "object",
"properties": {
"productId": {
"type": "string",
"description": "The CDR product ID to map from"
},
"productCode": {
"type": "string",
"description": "The LIXI product code to map to"
}
}
}
},
"schematronUri": {
"type": "string",
"description": "Optional reference to a Schematron file indicating the valid use of this LIXI gateway",
"x-cds-type": "URIString"
},
"apiSpecificationUri": {
"type": "string",
"description": "Optional reference to an Open API Specification file describing the API version specified in the 'apiVersion' field",
"x-cds-type": "URIString"
},
"customVersionUri": {
"type": "string",
"description": "Optional reference to additional information describing the customisations and extensions make to the LIXI scheams",
"x-cds-type": "URIString"
}
}
},
"cdrApplyForBankAccountV1": {
"type": "object",
"description": "Provides the metadata for making an application using version 1 of the CDR 'Apply For Bank Account' endpoint. Mandatory if schemeUType is set to 'cdrApplyForBankAccountV1'",
"required": [
],
"properties": {}
}
}
},
"links": {
"$ref": "#/components/schemas/Links"
},
"meta": {
"$ref": "#/components/schemas/Meta"
}
},
"description": "Additional data for customised error codes",
"x-conditional": [
"urn"
]
}
},
"ResponseErrorListV2": {
"required": [
Expand Down Expand Up @@ -326,6 +433,19 @@
"totalRecords"
],
"type": "object"
},
"MetaError": {
"type": "object",
"properties": {
"urn": {
"type": "string",
"description": "The CDR error code URN which the application-specific error code extends. Mandatory if the error `code` is an application-specific error rather than a standardised error code."
}
},
"description": "Additional data for customised error codes",
"x-conditional": [
"urn"
]
}
}
}
Expand Down
5 changes: 5 additions & 0 deletions docs/Support_Files/env.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"language_tabs": [],
"omitHeader": true,
"codeSamples": true
}

0 comments on commit ea9ad35

Please sign in to comment.