Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
15b82bb
Update device-roaming-status-subscriptions.yaml
eric-murray Aug 28, 2025
3ffb3a4
Update device-roaming-status.yaml
eric-murray Aug 28, 2025
fde2a57
Update device-roaming-status-subscriptions-deleteDeviceRoamingStatusS…
eric-murray Aug 28, 2025
780d112
Update device-roaming-status-subscriptions-deleteDeviceRoamingStatusS…
eric-murray Aug 28, 2025
6257d9c
Update device-roaming-status.feature
eric-murray Aug 28, 2025
8220038
Update device-status-roaming-subscriptions-createDeviceRoamingStatusS…
eric-murray Aug 28, 2025
a2da667
Update device-status-roaming-subscriptions-retrieveDeviceRoamingStatu…
eric-murray Aug 28, 2025
5dbea1f
Update device-status-roaming-subscriptions-retrieveDeviceRoamingStatu…
eric-murray Aug 28, 2025
4ebbefb
Update device-roaming-status-API-Readiness-Checklist.md
eric-murray Aug 28, 2025
a4b64d6
Update device-roaming-status-subscriptions-API-Readiness-Checklist.md
eric-murray Aug 28, 2025
115d7c9
Update CHANGELOG.md
eric-murray Aug 28, 2025
b0f4814
Update README.md
eric-murray Aug 28, 2025
cef774c
Update device-roaming-status-subscriptions.yaml
eric-murray Aug 28, 2025
6120f8c
Update device-roaming-status.yaml
eric-murray Aug 28, 2025
7397291
Update device-roaming-status-API-Readiness-Checklist.md
eric-murray Aug 28, 2025
2fe67af
Update device-roaming-status-subscriptions-API-Readiness-Checklist.md
eric-murray Aug 28, 2025
62a93f1
Update device-roaming-status-API-Readiness-Checklist.md
eric-murray Aug 28, 2025
39964c1
Rename device-status-roaming-subscriptions-createDeviceRoamingStatusS…
eric-murray Aug 28, 2025
ed3e585
Rename device-status-roaming-subscriptions-retrieveDeviceRoamingStatu…
eric-murray Aug 28, 2025
9b9ed36
Rename device-status-roaming-subscriptions-retrieveDeviceRoamingStatu…
eric-murray Aug 28, 2025
f46049c
Merge branch 'main' into eric-murray-patch-1
eric-murray Aug 28, 2025
e1e9386
Merge branch 'camaraproject:main' into eric-murray-patch-1
eric-murray Sep 4, 2025
fdb7ae4
Fix link to commonalities
bigludo7 Sep 10, 2025
fb402ad
Fixed date-time attribute description
bigludo7 Sep 10, 2025
80e3b4e
Update device-roaming-status-subscriptions.yaml
bigludo7 Sep 15, 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
66 changes: 65 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Changelog DeviceRoamingStatus
## Table of Contents
- [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.**
Expand All @@ -12,6 +13,70 @@ The below sections record the changes for each API version in each release as fo
- for a public release, the consolidated changes since the previous public release

Note: this API had former releases in the [DeviceStatus](https://github.com/camaraproject/DeviceStatus) repository

# r1.2
## Release Notes

This public release contains the definition and documentation of
* device-roaming-status v1.1.0
* device-roaming-status-subscriptions v0.8.0

The API definition(s) are based on
* Commonalities v0.6.0 (r3.3)
* Identity and Consent Management v0.4.0 (r3.3)

## device-roaming-status v1.1.0
device-roaming-status v1.1.0 is a minor update of the API, and is backward compatible with v1.0.0.
- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceRoamingStatus/r1.2/code/API_definitions/device-roaming-status.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceRoamingStatus/r1.2/code/API_definitions/device-roaming-status.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/DeviceRoamingStatus/blob/r1.2/code/API_definitions/device-roaming-status.yaml)

### Added

### Changed
* Make lastStatusTime mandatory in 200 responses of the API by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/19
* Update error response documentation in OAS definitions by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/30
* Update x-correlator schema by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/29
* Commonalities alignement for device roaming status by @bigludo7 in https://github.com/camaraproject/DeviceRoamingStatus/pull/37
* Update error schema for compliance with Commonalities r3.3 by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/45
* admin: migrate to centralized linting workflows by @hdamker-bot in https://github.com/camaraproject/DeviceRoamingStatus/pull/41

### Fixed
* Fix feature files for compliance with centralised linting rules by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/42

### Removed
* Remove AUTHENTICATION_REQUIRED error code by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/14
* Update OAS and test definitions to remove IDENTIFIER_MISMATCH error code by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/22

## device-roaming-status-subscriptions v0.8.0
- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceRoamingStatus/r1.2/code/API_definitions/device-roaming-status-subscriptions.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceRoamingStatus/r1.2/code/API_definitions/device-roaming-status-subscriptions.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/DeviceRoamingStatus/blob/r1.2/code/API_definitions/device-roaming-status-subscriptions.yaml)

### Added
* Add subscription started & updated event by @bigludo7 in https://github.com/camaraproject/DeviceRoamingStatus/pull/35

### Changed
* change sink format to format: uri by @maxl2287 in https://github.com/camaraproject/DeviceRoamingStatus/pull/18
* Rename subscription-ends event to subscription-ended by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/31
* Update error response documentation in OAS definitions by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/30
* Update x-correlator schema by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/29
* Commonalities alignement for device roaming subscription by @bigludo7 in https://github.com/camaraproject/DeviceRoamingStatus/pull/37
* Update error schema for compliance with Commonalities r3.3 by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/45
* admin: migrate to centralized linting workflows by @hdamker-bot in https://github.com/camaraproject/DeviceRoamingStatus/pull/41

### Fixed
* remove "Generic High Entropy Secret" by @maxl2287 in https://github.com/camaraproject/DeviceRoamingStatus/pull/17
* Fix feature files for compliance with centralised linting rules by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/42

### Removed
* Remove AUTHENTICATION_REQUIRED error code by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/14
* Update OAS and test definitions to remove IDENTIFIER_MISMATCH error code by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/22

**Full Changelog**: https://github.com/camaraproject/DeviceRoamingStatus/commits/r1.2

# r1.1
## Release Notes

Expand Down Expand Up @@ -73,4 +138,3 @@ device-roaming-status v1.1.0 will be a minor update of the API, and is backward
* Update OAS and test definitions to remove IDENTIFIER_MISMATCH error code by @eric-murray in https://github.com/camaraproject/DeviceRoamingStatus/pull/22

**Full Changelog**: https://github.com/camaraproject/DeviceRoamingStatus/commits/r1.1

18 changes: 12 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,18 @@ Incubating API Repository to evolve and maintain the definitions and documentati

## Release Information

The latest public release of the Device Status repository, including the DeviceRoamingStatus API, is available here: https://github.com/camaraproject/DeviceStatus/releases/latest
<!-- Optional: an explicit listing of the latest (pre-)release with additional information, e.g. links to the API definitions -->
<!-- In addition use/uncomment one or multiple the following alternative options when becoming applicable -->
Pre-releases of this sub project are available in https://github.com/camaraproject/DeviceRoamingStatus/releases
<!-- The latest public release is available here: https://github.com/camaraproject/DeviceRoamingStatus/releases/latest -->
<!-- For changes see [CHANGELOG.md](https://github.com/camaraproject/DeviceRoamingStatus/blob/main/CHANGELOG.md) -->
The latest public release of the DeviceRoamingStatus repository is available [here](https://github.com/camaraproject/DeviceRoamingStatus/releases/latest)

* **device-roaming-status v1.1.0**
[[YAML]](https://github.com/camaraproject/DeviceRoamingStatus/blob/r1.2/code/API_definitions/device-roaming-status.yaml)
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceRoamingStatus/r1.2/code/API_definitions/device-roaming-status.yaml&nocors)
[[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceRoamingStatus/r1.2/code/API_definitions/device-roaming-status.yaml)
* **device-roaming-status-subscriptions v0.8.0**
[[YAML]](https://github.com/camaraproject/DeviceRoamingStatus/blob/r1.2/code/API_definitions/device-roaming-status-subscriptions.yaml)
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/DeviceRoamingStatus/r1.2/code/API_definitions/device-roaming-status-subscriptions.yaml&nocors)
[[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/DeviceRoamingStatus/r1.2/code/API_definitions/device-roaming-status-subscriptions.yaml)

Pre-releases of this sub project are available [here](https://github.com/camaraproject/DeviceRoamingStatus/releases). For changes see the [change log](https://github.com/camaraproject/DeviceRoamingStatus/blob/main/CHANGELOG.md).

## Contributing

Expand Down
23 changes: 9 additions & 14 deletions code/API_definitions/device-roaming-status-subscriptions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -144,14 +144,14 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
version: 0.8.0
x-camara-commonalities: 0.6
externalDocs:
description: Product documentation at CAMARA
url: https://github.com/camaraproject/DeviceStatus
url: https://github.com/camaraproject/DeviceRoamingStatus

servers:
- url: "{apiRoot}/device-roaming-status-subscriptions/vwip"
- url: "{apiRoot}/device-roaming-status-subscriptions/v0.8"
variables:
apiRoot:
default: http://localhost:9091
Expand Down Expand Up @@ -498,18 +498,17 @@ components:
type: string
format: date-time
example: 2023-01-17T13:18:23.682Z
description: The subscription expiration time (in date-time format) requested by the API consumer. Up to API project decision to keep it.
description: The subscription expiration time (in date-time format) requested by the API consumer. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone.
subscriptionMaxEvents:
type: integer
description: Identifies the maximum number of event reports to be generated (>=1) requested by the API consumer - Once this number is reached, the subscription ends. Up to API project decision to keep it.
description: Identifies the maximum number of event reports to be generated (>=1) requested by the API consumer - Once this number is reached, the subscription ends.
minimum: 1
example: 5
initialEvent:
type: boolean
description: |
Set to `true` by API consumer if consumer wants to get an event as soon as the subscription is created and current situation reflects event request.Up to API project decision to keep it.
Example: Consumer request Roaming event. If consumer sets initialEvent to true and device is in roaming situation, an event is triggered
Up to API project decision to keep it.
Set to `true` by API consumer if consumer wants to get an event as soon as the subscription is created and current situation reflects event request.
Example: Consumer request Roaming event. If consumer sets initialEvent to true and device is in roaming situation, an event is triggered.

SinkCredential:
description: A sink credential provides authentication or authorization information necessary to enable delivery of events to a target.
Expand Down Expand Up @@ -568,7 +567,6 @@ components:
In the case of an ACCESS_TOKEN_EXPIRED termination reason, implementation should notify the client before the expiration date.
If the access token is a JWT and registered "exp" (Expiration Time) claim is present, the two expiry times should match.
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)
example: "2023-07-03T12:27:08.312Z"
accessTokenType:
description: REQUIRED. Type of the access token (See [OAuth 2.0](https://tools.ietf.org/html/rfc6749#section-7.1)).
Expand Down Expand Up @@ -598,7 +596,6 @@ components:
In the case of an ACCESS_TOKEN_EXPIRED termination reason, implementation should notify the client before the expiration date.
If the access token is a JWT and registered "exp" (Expiration Time) claim is present, the two expiry times should match.
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)
example: "2023-07-03T12:27:08.312Z"
accessTokenType:
description: REQUIRED. Type of the access token (See [OAuth 2.0](https://tools.ietf.org/html/rfc6749#section-7.1)).
Expand Down Expand Up @@ -706,15 +703,13 @@ components:
description: |
Date when the event subscription will begin/began
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)
example: "2023-07-03T12:27:08.312Z"
expiresAt:
type: string
format: date-time
description: |
Date when the event subscription will expire. Only provided when `subscriptionExpireTime` is indicated by API client or Telco Operator has specific policy about that.
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)
example: "2023-07-03T12:27:08.312Z"
status:
type: string
Expand Down Expand Up @@ -866,7 +861,7 @@ components:

SubscriptionId:
type: string
description: The unique identifier of the subscription in the scope of the subscription manager. When this information is contained within an event notification, this concept SHALL be referred as `subscriptionId` as per [Commonalities Event Notification Model](https://github.com/camaraproject/Commonalities/blob/r2.3/documentation/API-design-guidelines.md#122-event-notification).
description: The unique identifier of the subscription in the scope of the subscription manager. When this information is contained within an event notification, this concept SHALL be referred as subscriptionId as per Commonalities Event Notification Model.
example: qs15-h556-rt89-1298

CloudEvent:
Expand Down Expand Up @@ -930,7 +925,7 @@ components:
DateTime:
type: string
format: date-time
description: Timestamp of when the occurrence happened. Must adhere to RFC 3339.
description: Timestamp of when the occurrence happened. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone.
example: "2018-04-05T17:31:00Z"

EventRoamingStatus:
Expand Down
6 changes: 3 additions & 3 deletions code/API_definitions/device-roaming-status.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,14 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
version: 1.1.0
x-camara-commonalities: 0.6
externalDocs:
description: Product documentation at CAMARA
url: https://github.com/camaraproject/DeviceStatus
url: https://github.com/camaraproject/DeviceRoamingStatus

servers:
- url: "{apiRoot}/device-roaming-status/vwip"
- url: "{apiRoot}/device-roaming-status/v1"
variables:
apiRoot:
default: http://localhost:9091
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# device-status-roaming-subscriptions-createDeviceRoamingStatusSubscription
Feature: Device Roaming Status Subscriptions API, vwip - Operation createDeviceRoamingStatusSubscription
Feature: Device Roaming Status Subscriptions API, v0.8.0 - Operation createDeviceRoamingStatusSubscription

# Input to be provided by the implementation to the tester
#
Expand All @@ -14,7 +14,7 @@ Feature: Device Roaming Status Subscriptions API, vwip - Operation createDeviceR
# References to OAS spec schemas refer to schemas specified in device-roaming-status-subscriptions.yaml

Background: Common Device Roaming Status Subscriptions setup
Given the resource "{apiroot}/device-roaming-status-subscriptions/vwip" as base-url
Given the resource "{apiroot}/device-roaming-status-subscriptions/v0.8/subscriptions" as base-url
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
And the request body is compliant with the OAS schema at "#/component/schemas/SubscriptionRequest"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# device-status-roaming-subscriptions-deleteDeviceRoamingStatusSubscription
Feature: Device Roaming Status Subscriptions API, vwip - Operation deleteDeviceRoamingStatusSubscription
Feature: Device Roaming Status Subscriptions API, v0.8.0 - Operation deleteDeviceRoamingStatusSubscription

# Input to be provided by the implementation to the tester
#
Expand All @@ -14,7 +14,7 @@ Feature: Device Roaming Status Subscriptions API, vwip - Operation deleteDeviceR
# References to OAS spec schemas refer to schemas specified in device-roaming-status-subscriptions.yaml

Background: Common Device Roaming Status Subscriptions setup
Given the resource "{apiroot}/device-roaming-status-subscriptions/vwip" as base-url
Given the resource "{apiroot}/device-roaming-status-subscriptions/v0.8/subscriptions" as base-url
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
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# device-status-roaming-subscriptions-retrieveDeviceRoamingStatusSubscription
Feature: Device Roaming Status Subscriptions API, vwip - Operation retrieveDeviceRoamingStatusSubscription
Feature: Device Roaming Status Subscriptions API, v0.8.0 - Operation retrieveDeviceRoamingStatusSubscription

# Input to be provided by the implementation to the tester
#
Expand All @@ -14,7 +14,7 @@ Feature: Device Roaming Status Subscriptions API, vwip - Operation retrieveDevic
# References to OAS spec schemas refer to schemas specified in device-roaming-status-subscriptions.yaml

Background: Common Device Roaming Status Subscriptions setup
Given the resource "{apiroot}/device-roaming-status-subscriptions/vwip" as base-url
Given the resource "{apiroot}/device-roaming-status-subscriptions/v0.8/subscriptions" as base-url
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
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# device-status-roaming-subscriptions-retrieveDeviceRoamingStatusSubscriptionList
Feature: Device Roaming Status Subscriptions API, vwip - Operation retrieveDeviceRoamingStatusSubscriptionList
Feature: Device Roaming Status Subscriptions API, v0.8.0 - Operation retrieveDeviceRoamingStatusSubscriptionList

# Input to be provided by the implementation to the tester
#
Expand All @@ -14,7 +14,7 @@ Feature: Device Roaming Status Subscriptions API, vwip - Operation retrieveDevic
# References to OAS spec schemas refer to schemas specified in device-roaming-status-subscriptions.yaml

Background: Common Device Roaming Status Subscriptions setup
Given the resource "{apiroot}/device-roaming-status-subscriptions/vwip" as base-url
Given the resource "{apiroot}/device-roaming-status-subscriptions/v0.8/subscriptions" as base-url
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
4 changes: 2 additions & 2 deletions code/Test_definitions/device-roaming-status.feature
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# device-roaming-status
Feature: CAMARA Device Roaming Status API, vwip - Operation getRoamingStatus
Feature: CAMARA Device Roaming Status API, v1.1.0 - Operation getRoamingStatus
# Input to be provided by the implementation to the tester
#
# Implementation indications:
Expand All @@ -12,7 +12,7 @@ Feature: CAMARA Device Roaming Status API, vwip - Operation getRoamingStatus
# References to OAS spec schemas refer to schemas specifies in device-roaming-status.yaml

Background: Common getRoamingStatus setup
Given the resource "{api-root}/device-roaming-status/vwip/retrieve" set as base-url
Given the resource "{api-root}/device-roaming-status/v1/retrieve" set as base-url
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
Loading