From 365260a74c0ca30f6fa280f4b5205fb9ff694144 Mon Sep 17 00:00:00 2001 From: Fernando Prado Date: Wed, 18 Dec 2024 18:23:33 +0100 Subject: [PATCH] complete requirements for pre-release r2.1 --- CHANGELOG.md | 49 +++++++++++++++++++ README.md | 21 ++++---- code/API_definitions/README.MD | 1 - code/API_definitions/kyc-tenure.yaml | 18 +++++-- documentation/API_documentation/README.MD | 1 - .../kyc-tenure-API-Readiness-Checklist.md | 18 +++++++ 6 files changed, 92 insertions(+), 16 deletions(-) create mode 100644 CHANGELOG.md delete mode 100644 code/API_definitions/README.MD delete mode 100644 documentation/API_documentation/README.MD create mode 100644 documentation/API_documentation/kyc-tenure-API-Readiness-Checklist.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..61f482b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,49 @@ +# Changelog Tenure + +## Table of Contents + +- **[r2.1](#r21)** + +**Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until it has been released. For example, changes may be reverted before a release is published. For the best results, use the latest published release.** + +The below sections record the changes for each API version in each release as follows: + +* for each first alpha or release-candidate API version, all changes since the release of the previous public API version +* for subsequent alpha or release-candidate API versions, the delta with respect to the previous pre-release +* for a public API version, the consolidated changes since the release of the previous public API version + +# r2.1 + +## Release Notes + +This release contains the definition and documentation of +* kyc-tenure v0.1.0-rc.1 + +The API definition(s) are based on +* Commonalities v0.5.0-alpha.1 +* Identity and Consent Management v0.3.0-alpha.1 + +## kyc-tenure v0.1.0-rc.1 + +**kyc-tenure v0.1.0-rc.1 is the first release-candidate version for v0.1.0 of the Tenure API.** + +- kyc-tenure v0.1.0-rc.1 API definition **with inline documentation**: + - [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/Tenure/r2.1/code/API_definitions/kyc-tenure.yaml&nocors) + - [View it on Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/Tenure/r2.1/code/API_definitions/kyc-tenure.yaml) + - OpenAPI [YAML spec file](https://github.com/camaraproject/Tenure/blob/r2.1/code/API_definitions/kyc-tenure.yaml) + +**Main changes** + +* Initial contribution of the API kyc-tenure + +### Added + +* Initial API proposal by @eric-murray in https://github.com/camaraproject/Tenure/pull/11 +* Request body should be required by @eric-murray in https://github.com/camaraproject/Tenure/pull/15 +* Change tenure date format from date-time to date by @eric-murray in https://github.com/camaraproject/Tenure/pull/17 +* Update error response schema to align with Commonalities by @eric-murray in https://github.com/camaraproject/Tenure/pull/16 + +## New Contributors +* @eric-murray made their first contribution in https://github.com/camaraproject/Tenure/pull/6 + +**Full Changelog**: https://github.com/camaraproject/Tenure/commits/r2.1 diff --git a/README.md b/README.md index 0ca6b4c..b2544d1 100644 --- a/README.md +++ b/README.md @@ -12,20 +12,23 @@ Repository to describe, develop, document, and test the Tenure API within the Kn ## Scope * Service API(s) for “Tenure” (see [APIBacklog.md](https://github.com/camaraproject/APIBacklog/blob/main/documentation/APIbacklog.md)) * It provides the customer with the ability to: - * Establish a level of trust for a given network subcription identifier (e.g. phone number) by verifying the period of time (i.e. "tenure") for which the end user currently allocated that identifier has been associated with it by their current network operator. + * Establish a level of trust for a given network subscription identifier (e.g. phone number) by verifying the period of time (i.e. "tenure") for which the end user currently allocated that identifier has been associated with it by their current network operator. * Describe, develop, document, and test the APIs * Started: May 2024 ## Release Information - -The sub project has no (pre-)releases yet, work in progress is within the main branch. - - - + +* Note: Please be aware that the project will have updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until a new release is created. For example, changes may be reverted before a release is created. For best results, use the latest available release +* **The latest pre-release of CAMARA Tenure is [r2.1](https://github.com/camaraproject/Tenure/tree/r2.1)**. The Release Tag is [r2.1](https://github.com/camaraproject/Tenure/releases/tag/r2.1). + * API definition **with inline documentation**: + * [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/Tenure/r2.1/code/API_definitions/kyc-tenure.yaml&nocors) + * [View it on Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/Tenure/r2.1/code/API_definitions/kyc-tenure.yaml) + * OpenAPI [YAML spec file](https://github.com/camaraproject/Tenure/blob/r2.1/code/API_definitions/kyc-tenure.yaml) +* Other releases of this sub project are available in https://github.com/camaraproject/Tenure/releases +* For changes see [CHANGELOG.md](https://github.com/camaraproject/Tenure/blob/main/CHANGELOG.md) ## Contributing * Meetings and minutes see [KnowYourCustomer Meetings](https://github.com/camaraproject/KnowYourCustomer?tab=readme-ov-file#meetings) * Mailing List - - * Subscribe / Unsubscribe to the mailing list of KnowYourCustomer . - * A message to the community of this Sub Project can be sent using . + * Subscribe / Unsubscribe to the mailing list of this Sub Project https://lists.camaraproject.org/g/sp-kyc + * A message to the community of this Sub Project can be sent using diff --git a/code/API_definitions/README.MD b/code/API_definitions/README.MD deleted file mode 100644 index 04313f1..0000000 --- a/code/API_definitions/README.MD +++ /dev/null @@ -1 +0,0 @@ -Here you can add your definitions and delete this README.MD file diff --git a/code/API_definitions/kyc-tenure.yaml b/code/API_definitions/kyc-tenure.yaml index d7a0b1b..362406b 100644 --- a/code/API_definitions/kyc-tenure.yaml +++ b/code/API_definitions/kyc-tenure.yaml @@ -72,11 +72,19 @@ info: - If the subject can be identified from the access token and the optional `phoneNumber` field is also included in the request, then the server will return an error with the `422 UNNECESSARY_IDENTIFIER` error code. This will be the case even if the same phone number is identified by these two methods, as the server is unable to make this comparison. + # Authorization and authentication + + The "Camara Security and Interoperability Profile" provides details of how an API consumer requests an access token. Please refer to Identity and Consent Management (https://github.com/camaraproject/IdentityAndConsentManagement/) for the released version of the profile. + + The specific authorization flows to be used will be agreed upon during the onboarding process, happening between the provider of the application consuming the API and the operator's API exposure platform, taking into account the declared purpose for accessing the API, whilst also being subject to the prevailing legal framework dictated by local legislation. + + In cases where personal data is processed by the API and users can exercise their rights through mechanisms such as opt-in and/or opt-out, the use of three-legged access tokens is mandatory. This ensures that the API remains in compliance with privacy regulations, upholding the principles of transparency and user-centric privacy-by-design. + # Further info and support (FAQs will be added in a later version of the documentation) - version: wip + version: 0.1.0-rc.1 contact: email: sp-kyc@lists.camaraproject.org license: @@ -88,7 +96,7 @@ externalDocs: url: https://github.com/camaraproject/Tenure servers: - - url: "{apiRoot}/kyc-tenure/vwip" + - url: "{apiRoot}/kyc-tenure/v0.1-rc1" variables: apiRoot: default: https://localhost:443 @@ -496,9 +504,9 @@ components: contractType: description: | If exists, populated with: - - `PAYG` – prepaid (pay-as-you-go) account - - `PAYM` – contract account - - `Business` – Business (enterprise) account + - `PAYG` - prepaid (pay-as-you-go) account + - `PAYM` - contract account + - `Business` - Business (enterprise) account This attribute may be omitted from the response set where value is not known on the local MNO system. example: "PAYM" type: string diff --git a/documentation/API_documentation/README.MD b/documentation/API_documentation/README.MD deleted file mode 100644 index 37aa0ff..0000000 --- a/documentation/API_documentation/README.MD +++ /dev/null @@ -1 +0,0 @@ -This README.MD can be deleted when the first file is added to this directory. diff --git a/documentation/API_documentation/kyc-tenure-API-Readiness-Checklist.md b/documentation/API_documentation/kyc-tenure-API-Readiness-Checklist.md new file mode 100644 index 0000000..665430e --- /dev/null +++ b/documentation/API_documentation/kyc-tenure-API-Readiness-Checklist.md @@ -0,0 +1,18 @@ +# API Readiness Checklist + +Checklist for kyc-tenure v0.1.0-rc.1 in r2.1. + +| Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information | +|----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:----:| +| 1 | API definition | M | M | M | M | Y | [relative link](/code/API_definitions/kyc-tenure.yaml) | +| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r2.1](https://github.com/camaraproject/Commonalities/releases/tag/r2.1) | +| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r2.1](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r2.1) | +| 4 | API versioning convention applied | M | M | M | M | Y | | +| 5 | API documentation | M | M | M | M | Y | Embedded documentation into API spec [relative link](/code/API_definitions/kyc-tenure.yaml) | +| 6 | User stories | O | O | O | M | tbd | | +| 7 | Basic API test cases & documentation | O | M | M | M | tbd | | +| 8 | Enhanced API test cases & documentation | O | O | O | M | tbd | | +| 9 | Test result statement | O | O | O | M | N | | +| 10 | API release numbering convention applied | M | M | M | M | Y | | +| 11 | Change log updated | M | M | M | M | Y | [relative link](/CHANGELOG.md) | +| 12 | Previous public release was certified | O | O | O | M | N | |