Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
1ee2841
Update region-device-count.yaml for m4
chinaunicomyangfan Aug 29, 2025
895b9ef
Update region-device-count.feature
chinaunicomyangfan Aug 29, 2025
1d3026d
Update CHANGELOG.md for m4
chinaunicomyangfan Aug 29, 2025
015a715
Update README.md
chinaunicomyangfan Aug 29, 2025
e26bb83
Update README.md
chinaunicomyangfan Aug 29, 2025
3063954
Update region-device-count-API-Readiness-Checklist.md
chinaunicomyangfan Aug 29, 2025
d1c2822
Merge branch 'main' into Fall25-M4
chinaunicomyangfan Aug 29, 2025
d9f1839
Update region-device-count.feature
chinaunicomyangfan Aug 29, 2025
430302d
Update region-device-count.yaml
chinaunicomyangfan Sep 3, 2025
3f66dfd
Update CHANGELOG.md
chinaunicomyangfan Sep 8, 2025
91159b2
Update region-device-count.yaml
chinaunicomyangfan Sep 8, 2025
3642880
Update region-device-count.feature
chinaunicomyangfan Sep 8, 2025
70b1370
Update region-device-count.feature
chinaunicomyangfan Sep 8, 2025
2cd636f
Add notificationsBearerAuth definition
chinaunicomyangfan Sep 9, 2025
44cf36c
Add info.description
chinaunicomyangfan Sep 9, 2025
be99d7f
Update region-device-count.feature
chinaunicomyangfan Sep 9, 2025
30711ea
Update region-device-count.yaml
chinaunicomyangfan Sep 9, 2025
d2f703c
Update region-device-count.feature
chinaunicomyangfan Sep 9, 2025
8f1fe68
Update scope of region-device-count.yaml
chinaunicomyangfan Sep 10, 2025
1f3b603
Update README.md to align with API description in wiki
chinaunicomyangfan Sep 12, 2025
e6c706b
Update README.md
chinaunicomyangfan Sep 12, 2025
6a19e25
Update region-device-count.yaml
chinaunicomyangfan Sep 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 33 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -126,3 +153,5 @@ The API definition(s) are based on
* Add test file in https://github.com/camaraproject/RegionDeviceCount/pull/46




12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -25,11 +25,11 @@ Sandbox API Repository to describe, develop, document, and test the RegionDevice
<!-- Use/uncomment one or multiple the following options -->
<!-- Pre-releases of this sub project are available in https://github.com/camaraproject/RegionDeviceCount/releases -->
<!-- The latest public release is available here: https://github.com/camaraproject/RegionDeviceCount/releases/latest -->

* `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)

Expand Down
25 changes: 18 additions & 7 deletions code/API_definitions/region-device-count.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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:
Expand Down Expand Up @@ -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
Expand Down
9 changes: 5 additions & 4 deletions code/Test_definitions/region-device-count.feature
Original file line number Diff line number Diff line change
@@ -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
#
Expand All @@ -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"
Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -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<br>public | stable<br> 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) |
Expand All @@ -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 ) |