-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
API Uplift for Data Holder Multi-Sector support #424
Comments
The following describes the changes proposed and constraints for this issue. Please refer to #425 to address multi-sector support for Data Recipients Introduction:Data holders utilise CDR Register APIs to obtain information about data recipients in the ecosystem. With the introduction of the energy sector to the CDR, there is a need to redefine the APIs to simplify alignment to multi-sector support. Along with these changes, there is an opportunity to address outstanding work to align CDR Register APIs to the conventions defined in the Consumer Data Standards. These changes are to allow for the APIs to be more usable and align their usage across multiple sectors. Background:Currently, data holders retrieve data recipient information from the following endpoints: • GetDataRecipientsStatus These APIs have This also is reflected in participant statuses. It is expected that a data holder will be able to observe a data recipient and associated software products move through their various states. However, if a data recipient / software product can jump between sectors, data holders will lose this visibility Proposed Changes:Issue a new set of CDR Register APIsA new set of CDR Register APIs will be exposed to allow new builds to align to the new CDR Register standards while keeping the original set maintained until a reasonable deprecation schedule has been decided. The new set of CDR Register APIs will be exposed targeting the energy sector and allow new builds to align to the new CDR Register standards. The previous set of APIs will be maintained until a reasonable deprecation schedule has been decided. The new set of APIs will have the following differences from the old:
To reiterate, these changes would be implemented against the new set of APIs, with the previous set retained so current implementations remain unaffected. However, an expectation would be set that data holders would eventually migrate to these APIs and a reasonable deprecation schedule would be decided. Considerations:VersioningOptions:
Our recommendation is option 3. Deprecation ScheduleThe intent of these changes is to make them available for energy builds so no changes are imposed on the banking sector. However, consideration would need to be made to determine when the old APIs are to be deprecated. Setting expectations early on what a reasonable timeframe looks like would aid participant development roadmap planning. Add an unauthenticated GetDataHolderBrands endpoint exposed as a public APIRationale:The GetDataHolderBrands API definition evolved to meet the need to store additional metadata for the discovery and authentication of Data Holder Brands. The GetDataHolderBrands API allows for the following:
This endpoint is only available to authenticated data recipients. This design approach has resulted in the following:
Allowing access to these CDR Register endpoints to authenticated users only adds a layer of obfuscation. Other security mechanisms are present to protect these data holder endpoints, therefore the benefit of securing this information behind an authentication mechanism is being re-examined. Allowing unauthenticated access at an equivalent endpoint simplifies the usage of this endpoint for change detection. There are additional benefits to exposing this endpoint as a public API and using the same pattern as GetDataRecipients. This simplifies usage and allows clients to leverage ETag and CDN functionality. Proposed Changes:The following changes are proposed:
Options:
Considerations:What are the consequences of making this information available publicly? Add Constraint to Data Holder Brand to support one industry onlyRationale:With the introduction of the energy sector to the Consumer Data Right, the relationship between data holder brands and sectors needs to be defined. With the initial roll-out of energy, the current model will NOT change and data holders which span multiple industries will be required to create one brand per industry on the CDR Register. Further design work is scheduled to examine how multiple industries may be facilitated by one brand on the CDR Register. This work will happen in parallel but is not guaranteed to be complete and available in the initial energy rollout timeframe. Proposed Change:Add documentation describing the constraint of one sector per brand when configuring the Data Holder Brand in the RAAP Considerations:
The current assumption is the initial data holders in the energy sector will be unaffected by this constraint as their initial rollout will not span multiple sectors.
|
Add an unauthenticated GetDataHolderBrands endpoint exposed as a public API The rest of the change request will be addressed through maintenance iteration 9. |
VersioningUpon review, it has been determined that the benefits for option 3, allowing two sets of APIs to be maintained in parallel until one is deprecated, can be equivalently achieved using option 2, incrementing the endpoint version numbers, and allowing multiple endpoint versions to be made available in parallel. Option 3's original requirement to maintain two separate sets of endpoints independently adds complexity to the versioning model with limited benefit. The constraint with adopting option 2 is, if changes are anticipated in the future to one of the endpoints, participants will be required to migrate to the latest version of that endpoint. This is a minimal constraint as participants will eventually migrate to the latter versions of the endpoints anyway. Therefore, option 2 will be adopted and the the Endpoint Version Schedule details the different versions of the endpoints which will be made available: This approach has the advantage of maintaining consistency with the current endpoint versioning mechanism described in the Consumer Data Standards and allows participants to plan endpoint migration accordingly. Previous endpoint deprecation and retirement dates will be explored in a future maintenance iteration. |
This change was incorporated into release v1.15.0. Refer to Decision 212 for further details. |
Description
Data holders will need to decide how to structure their brands in the CDR Register to cater for more than one sector. The introduction of energy raises the question on how data holder brands should support different sectors and how the dynamic client registrations generated should map to different sectors
Area Affected
Register APIs will need to be structured to expose single or sector agnostic discovery and status
Dynamic client registration specification will need to define how the registration process will support single and multi-sector scenarios
Change Proposed
Provide requirements to data holders on how a data holder brand will cater to both single and multi-sector scenarios
The text was updated successfully, but these errors were encountered: