OpenBankingToolkit / cdr-standards-application-services

ForgeRock Consumer Data Right Standards Application Services is an example of how you can bundle all the micro-services together to create an CDR eco-system
1 stars 1 forks source link

Use correct URI Structure #11

Open benjefferies opened 4 years ago

benjefferies commented 4 years ago

Description

URI Structure Some example URIs that meet this standard are: http://www.bank.com.au/api/cds-au/v1/banking/accounts http://www.bank.com.au/complex/uri/taxonomy/cds-au/v1/banking/products http://www.energyretailer.com.au/api/cds-au/v1/energy/usage

The relevant specification is here; https://consumerdatastandardsaustralia.github.io/standards/#uri-structure

The URI structure for API end points in the standards MUST be implemented as follows:

${holder path} / cds-au / ${version} / ${industry} / ${resource}

The components of this URI structure are described as follows:

Holder Path: The holder path is a base path set by the data holder. It can be any URI desired by the holder. While all authenticated end points must be accessible under the same holder path the data holder may stipulate a different holder path for unauthenticated end points. cds-au: This is a static string representing the end points defined by the Consumer Data Standards for Australia. This static string allows for separation from other APIs available at the same base holder path and also allows for extension if the standards are adopted by another jurisdiction in whole or in part. Version: The major version of the high level standards. This is not the version of the endpoint or the payload being requested but the version of the overall standards being applied. This version number will be “v” followed by the major version of the standards as a positive integer (e.g. v1, v12 or v76). Industry: A static string used to separate APIs for a specific industry. As standards for new industries are defined the list of industry strings will be extended. Resource: The URI for the specific resource requested. This end point URI will be defined as part of the end point definitions for each API group.

Acceptance criteria

Path looks like

${holder path} / cds-au / ${version} / ${industry} / ${resource}