diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2f0e674..2ea5c79 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,13 +1,40 @@
# Changelog Region Device Count
## Table of Contents
-- **[r2.1](#r21)**
-- **[r1.3](#r12)**
-- **[r1.2](#r12)**
-- **[r1.1](#r11)**
+- **[r2.2](#r22)**
+- [r2.1](#r21)
+- [r1.3](#r12)
+- [r1.2](#r12)
+- [r1.1](#r11)
**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.**
+# r2.2
+
+## Release Notes
+
+
+This public release contains the definition and documentation of
+* region-device-count 0.2.0
+
+The API definition(s) are based on
+* Commonalities [r3.3](https://github.com/camaraproject/Commonalities/releases/tag/r3.3)
+* Identity and Consent Management [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3)
+
+## region-device-count v0.2.0
+**region-device-count v0.2.0 is the first public version for v0.2.0 of the region-device-count API.**
+
+
+### Changed
+* Remove the 401 AUTHENTICATION_REQUIRED code in https://github.com/camaraproject/RegionDeviceCount/pull/58
+* Update pattern for x-correlator in https://github.com/camaraproject/RegionDeviceCount/pull/58
+
+ API definition **with inline documentation**:
+[[YAML]](https://github.com/camaraproject/RegionDeviceCount/blob/r2.2/code/API_definitions/region-device-count.yaml)
+[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/RegionDeviceCount/r2.2/code/API_definitions/region-device-count.yaml&nocors)
+[[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/RegionDeviceCount/r2.2/code/API_definitions/region-device-count.yaml)
+
+
# r2.1
## Release Notes
@@ -126,3 +153,5 @@ The API definition(s) are based on
* Add test file in https://github.com/camaraproject/RegionDeviceCount/pull/46
+
+
diff --git a/README.md b/README.md
index 54d085f..b4b63ba 100644
--- a/README.md
+++ b/README.md
@@ -16,7 +16,7 @@ Sandbox API Repository to describe, develop, document, and test the RegionDevice
## Scope
* Service APIs for “RegionDeviceCount” (see APIBacklog.md)
* It provides the API consumer with the ability to:
- * query device count in the specified area during a certain time interval.The query area can be a circle or a polygon composed of longitude and latitude points.
+ * query device count in the specified area during a certain time interval.The query area can be a circle or a polygon composed of longitude and latitude points.In addition, this API also provides a filtering function. Customers can filter devices by passing in different constraints. Currently, it supports two filtering conditions: roaming status and device type, and it is designed to be extended in the future
* NOTE: The scope of this API should be limited (at least at a first stage) to 4G and 5G.
* Describe, develop, document and test the APIs (with 1-2 Telcos)
* Started: December 2023
@@ -25,11 +25,11 @@ Sandbox API Repository to describe, develop, document, and test the RegionDevice
-
-* `NEW`: Pre-release r2.1 with version 0.2.0-rc.1 of the API region-device-count is available [here](https://github.com/camaraproject/RegionDeviceCount/tree/r2.1).
- [[YAML]](https://github.com/camaraproject/RegionDeviceCount/blob/r2.1/code/API_definitions/region-device-count.yaml)
- [[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/RegionDeviceCount/r2.1/code/API_definitions/region-device-count.yaml&nocors)
- [[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/RegionDeviceCount/r2.1/code/API_definitions/region-device-count.yaml)
+ * **NEW**: Public release [r2.2](https://github.com/camaraproject/RegionDeviceCount/releases/tag/r2.2) with region-device-count v0.2.0 is now available.
+ * API definition **with inline documentation**:
+ [[YAML]](https://github.com/camaraproject/RegionDeviceCount/blob/r2.2/code/API_definitions/region-device-count.yaml)
+ [[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/RegionDeviceCount/r2.2/code/API_definitions/region-device-count.yaml&nocors)
+ [[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/RegionDeviceCount/r2.2/code/API_definitions/region-device-count.yaml)
* For changes see [CHANGELOG.md](https://github.com/camaraproject/RegionDeviceCount/blob/main/CHANGELOG.md)
diff --git a/code/API_definitions/region-device-count.yaml b/code/API_definitions/region-device-count.yaml
index 86b3a7b..2baf32f 100644
--- a/code/API_definitions/region-device-count.yaml
+++ b/code/API_definitions/region-device-count.yaml
@@ -48,6 +48,12 @@ info:
# 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 API consumer and the API provider, 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.
+
Region Device Count API does not involve the input and output of user personal data.Therefore, the access to Region Device Count APII is defined as `Client Credentials - 2-legged`. Please refer to [Identify and Consent Management](https://github.com/camaraproject/IdentityAndConsentManagement/) for the latest detailed specification of this authentication/authorization flow.
# Additional CAMARA error responses
@@ -58,7 +64,7 @@ info:
As a specific rule, error `501 - NOT_IMPLEMENTED` can be only a possible error response if it is explicitly documented in the API.
- version: 0.2.0-rc.1
+ version: 0.2.0
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
@@ -67,7 +73,7 @@ externalDocs:
description: Project documentation at CAMARA
url: https://github.com/camaraproject/RegionDeviceCount
servers:
- - url: '{apiRoot}/region-device-count/v0.2rc1'
+ - url: '{apiRoot}/region-device-count/v0.2'
variables:
apiRoot:
default: http://localhost:9091
@@ -176,12 +182,17 @@ paths:
$ref: '#/components/responses/Generic429'
security:
- openId:
- - region-device-count
+ - region-device-count:count
components:
securitySchemes:
openId:
type: openIdConnect
openIdConnectUrl: https://example.com/.well-known/openid-configuration
+ notificationsBearerAuth:
+ description: Bearer authentication for notifications
+ type: http
+ scheme: bearer
+ bearerFormat: "{$request.body#sinkCredential.credentialType}"
parameters:
x-correlator:
name: x-correlator
@@ -208,13 +219,13 @@ components:
starttime:
type: string
format: date-time
- description: Starting timestamp for counting the number of devices in the area. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. Recommended format is yyyy-MM-dd'T'HH:mm:ss.SSSZ (i.e. which allows 2023-07-03T14:27:08.312+02:00 or 2023-07-03T12:27:08.312Z)
+ description: Starting timestamp for counting the number of devices in the area. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone.
nullable: true
example: "2023-07-03T14:27:08.312+02:00"
endtime:
type: string
format: date-time
- description: Ending timestamp for counting the number of devices in the area. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. Recommended format is yyyy-MM-dd'T'HH:mm:ss.SSSZ (i.e. which allows 2023-07-04T14:27:08.312+02:00 or 2023-07-03T12:27:08.312Z)
+ description: Ending timestamp for counting the number of devices in the area. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone.
nullable: true
example: "2023-07-04T14:27:08.312+02:00"
filter:
@@ -486,10 +497,10 @@ components:
description: HTTP response status code
code:
type: string
- description: Code given to this error
+ description: A human-readable code to describe the error
message:
type: string
- description: Detailed error description
+ description: A human-readable description of what the event represents
responses:
Generic400:
description: Bad Request
diff --git a/code/Test_definitions/region-device-count.feature b/code/Test_definitions/region-device-count.feature
index 23bc560..1229625 100644
--- a/code/Test_definitions/region-device-count.feature
+++ b/code/Test_definitions/region-device-count.feature
@@ -1,4 +1,4 @@
-Feature: CAMARA Region Device Count API v0.2.0-rc.1 - Operations for device count in specified area
+Feature: CAMARA Region Device Count API v0.2.0 - Operations for device count in specified area
# Input to be provided by the implementation to the tester
#
@@ -16,10 +16,11 @@ Feature: CAMARA Region Device Count API v0.2.0-rc.1 - Operations for device coun
# * An Area outside the supported region
# * A combination of request parameters including area, start time, and end time, such that the number of connected devices in the area is below the local regulatory privacy threshold
#
-# References to OAS spec schemas refer to schemas specifies in region-device-count.yaml, version 0.2.0-rc.1
+# References to OAS spec schemas refer to schemas specifies in region-device-count.yaml, version 0.2.0
Background: Common Region Device Count setup
- Given the resource "{api-root}/regionDeviceCount/v0.2rc1/count" set as base-url
+ Given an environment at "apiRoot"
+ And the resource "/region-device-count/v0.2/count"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
@@ -110,7 +111,7 @@ Feature: CAMARA Region Device Count API v0.2.0-rc.1 - Operations for device coun
And the response header "Content-Type" is "application/json"
And the response header "x-correlator" has same value as the request header "x-correlator"
And the request with the response body will be received at the address of the request property "$.sink"
- And the request will have header "Authorization" set to "Bearer: " + the value of the request property "$.sinkCredential.accessToken"
+ And the request will have header "Authorization" set to "Bearer " + the value of the request property "$.sinkCredential.accessToken"
And the request body received complies with the OAS schema at "/components/schemas/RegionDeviceCountResponse"
# Generic errors
diff --git a/documentation/API_documentation/region-device-count-API-Readiness-Checklist.md b/documentation/API_documentation/region-device-count-API-Readiness-Checklist.md
index ad9fe13..6f78154 100644
--- a/documentation/API_documentation/region-device-count-API-Readiness-Checklist.md
+++ b/documentation/API_documentation/region-device-count-API-Readiness-Checklist.md
@@ -1,13 +1,13 @@
# API Readiness Checklist
-Checklist for region-device-count v0.2.0-rc.1 in r1.3
+Checklist for region-device-count v0.2.0 in r2.2
| Nr | API release assets | alpha | release-candidate | initial
public | stable
public | Status | Reference information |
|----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:----:|
| 1 | API definition | M | M | M | M | Y | [link](/code/API_definitions/region-device-count.yaml) |
-| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/Commonalities/releases/tag/r3.2) |
-| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.2) |
-| 4 | API versioning convention applied | M | M | M | M | Y | v0.2.0-rc.1 |
+| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/Commonalities/releases/tag/r3.3) |
+| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) |
+| 4 | API versioning convention applied | M | M | M | M | Y | v0.2.0 |
| 5 | API documentation | M | M | M | M | Y | Embed documentation into API spec - [link](/code/region-device-count.yaml) |
| 6 | User stories | O | O | O | M | Y | [UserStory1-Emergency_Rescue](/documentation/API_documentation/RDC_User_Story_Emergency_Rescue.md) [UserStory2-Outdoor_Live_Streaming](/documentation/API_documentation/RDC_User_Story_Outdoor_Live_Streaming.md) |
| 7 | Basic API test cases & documentation | O | M | M | M | Y | [link](/code/Test_definitions/region-device-count.feature) |
@@ -17,3 +17,4 @@ Checklist for region-device-count v0.2.0-rc.1 in r1.3
| 11 | Change log updated | M | M | M | M | Y | [link](/CHANGELOG.md) |
| 12 | Previous public release was certified | O | O | O | M | N | |
| 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/spaces/CAM/pages/81134323/RegionDeviceCount+API+description ) |
+