Skip to content
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

Register API x-v headers moving to mandatory impacts compatibility with older versions of these APIs #501

Closed
CDR-API-Stream opened this issue Apr 12, 2022 · 1 comment

Comments

@CDR-API-Stream
Copy link
Collaborator

Description

This issue has been extracted from issue #465 to simplify tracking.
 
Issue #424 and #425 introduced new versions to the CDR Register APIs to facilitate the introduction of the Energy sector. These new versions are to be maintained in parallel with current versions so as not to impact Banking implementations.

With the introduction of these new versions, the payload and header definitions were updated to align with the CDS conventions.
 
These changes were made to satisfy the following requirements which have now been identified as conflicting:
1.     Allow two versions of an endpoint to be available at the same time to avoid impact on the banking sector implementations using the older version of these endpoints
2.     Align the header conventions of these endpoints to the CDS, moving the x-v header to mandatory.
 
By releasing new versions of APIs with mandatory x-v headers, clients would not be able to integrate with older versions of the API when the x-v header is missing.

Therefore changes must be made to maintain a transitionary period while old and new versions of these APIs remain in effect.
 

Area Affected

The following versions of the Register APIs were introduced in Issue #424 and #425 and are affected:

API Name Endpoint Method Version
Get Data Holder Brands /{industry}/data-holders/brands GET V2
Get Software Statement Assertion (SSA) /{industry}/data-recipients/ brands/{dataRecipientBrandId}/ software-products/{softwareProductId}/ssa GET V3
Get Software Products Statuses /{industry}/data-recipients/ brands/software-products/status GET V2
Get Data Recipient Statuses /{industry}/data-recipients/status GET V2
Get Data Recipients /{industry}/data-recipients GET V3
Get Data Holder Statuses /{industry}/data-holders/status GET V1

Change Proposed

The DSB proposes the following:

1.     x-v header requirements for Register APIs move back from mandatory to optional during the transition period.
2.     How x-v headers will move from optional to mandatory can be considered in the future after the retirement of old Register API versions, when all clients are using the same version of the API. Please refer to issue #452
3.     If an x-v header is not provided in a Register API request, the minimum supported version will be assigned as the default, maintaining the current behaviour

@CDR-API-Stream CDR-API-Stream added this to Full Backlog in Data Standards Maintenance via automation Apr 12, 2022
@CDR-API-Stream CDR-API-Stream moved this from Full Backlog to In Progress: Design in Data Standards Maintenance Apr 12, 2022
@CDR-API-Stream CDR-API-Stream moved this from In Progress: Design to In Progress: Staging in Data Standards Maintenance Apr 21, 2022
@CDR-API-Stream CDR-API-Stream moved this from In Progress: Staging to Done in Data Standards Maintenance May 25, 2022
@CDR-API-Stream
Copy link
Collaborator Author

The proposed changes were applied to the following API versions:

API Name Endpoint Method Version
Get Data Holder Brands /{industry}/data-holders/brands GET V2
Get Software Statement Assertion (SSA) /{industry}/data-recipients/brands/{dataRecipientBrandId}/ softwareproducts/{softwareProductId}/ssa GET V3
Get Software Products Statuses /{industry}/data-recipients/ brands/softwareproducts/status GET V2
Get Data Recipient Statuses /{industry}/data-recipients/status GET V2
Get Data Recipients /{industry}/data-recipients GET V3
Get Data Holder Statuses /{industry}/data-holders/status GET V1

This change was incorporated into release v1.17.0.

Please refer to Decision 237 for further details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

No branches or pull requests

1 participant