From cde2161265339126332b8614aa06a621f7bf0c76 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 10:59:31 +0100 Subject: [PATCH 01/23] Add lastStatusTime field to successful responses with examples --- code/API_definitions/device-data-volume.yaml | 59 +++++++++++++++++--- 1 file changed, 51 insertions(+), 8 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index f9661ce..2959f8c 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -99,11 +99,16 @@ paths: - openId: - device-data-volume:read requestBody: + required: true content: application/json: schema: $ref: "#/components/schemas/RetrieveDataVolumeRequest" - required: true + examples: + Successful Retrieve Response: + $ref: "#/components/examples/SuccessfulRetrieveResponse + Successful Retrieve Response With Unknown Status Time: + $ref: "#/components/examples/SuccessfulRetrieveResponseWithUnknownStatusTime responses: "200": description: Contains information about the remaining device data volume. @@ -117,6 +122,8 @@ paths: examples: Successful Response: $ref: "#/components/examples/SuccessfulRetrieveResponse" + Successful Retrieve Response With Unknown Status Time: + $ref: "#/components/examples/SuccessfulRetrieveResponseWithUnknownStatusTime" Successful Response With Device Disambiguation: $ref: "#/components/examples/SuccessfulRetrieveResponseWithDeviceDisambiguation" "400": @@ -145,11 +152,16 @@ paths: - openId: - device-data-volume:read requestBody: + required: true content: application/json: schema: $ref: "#/components/schemas/CheckDataVolumeRequest" - required: true + examples: + Successful Retrieve Response: + $ref: "#/components/examples/SuccessfulRetrieveResponse + Successful Retrieve Response With Unknown Status Time: + $ref: "#/components/examples/SuccessfulRetrieveResponseWithUnknownStatusTime responses: "200": description: Boolean response indicating if the remaining data volume exceeds the provided threshold @@ -163,6 +175,8 @@ paths: examples: Successful Response: $ref: "#/components/examples/SuccessfulCheckResponse" + Successful Check Response With Unknown Status Time: + $ref: "#/components/examples/SuccessfulCheckResponseWithUnknownStatusTime" Successful Response With Device Disambiguation: $ref: "#/components/examples/SuccessfulCheckResponseWithDeviceDisambiguation" "400": @@ -184,6 +198,15 @@ components: $ref: "../common/CAMARA_common.yaml#/components/securitySchemes/openId" schemas: + LastStatusTime: + description: | + The last time that the device roaming status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. + It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. + allOf: + - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" + - type: object + nullable: true + VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes. type: string @@ -230,14 +253,17 @@ components: CheckDataVolumeResponse: description: Represents the response, if the data volume exceeds a given threshold. type: object + required: + - lastStatusTime + - thresholdExceeded properties: device: $ref: "../common/CAMARA_common.yaml#/components/schemas/DeviceResponse" + lastStatusTime: + $ref: "#/components/schemas/LastStatusTime" thresholdExceeded: type: boolean description: Indicates whether the remaining data volume exceeds the given threshold - required: - - thresholdExceeded RetrieveDataVolumeRequest: description: | @@ -251,32 +277,49 @@ components: RetrieveDataVolumeResponse: description: Represents the remaining data volume of the requested device. type: object + required: + - lastStatusTime + - dataVolumeCategory properties: device: $ref: "../common/CAMARA_common.yaml#/components/schemas/DeviceResponse" + lastStatusTime: + $ref: "#/components/schemas/LastStatusTime" dataVolumeCategory: $ref: "#/components/schemas/DataVolumeCategory" - required: - - dataVolumeCategory examples: SuccessfulRetrieveResponse: - description: Successfully retrieve the device data volume category + description: Successfully retrieve the device data volume category with known status time value: + lastStatusTime: "2024-02-20T10:41:38.657Z" + dataVolumeCategory: "<200MiB" + SuccessfulRetrieveResponseWithUnknownStatusTime: + description: Successfully retrieve the device data volume category, but status time of that information is unknown + value: + lastStatusTime: null dataVolumeCategory: "<200MiB" SuccessfulRetrieveResponseWithDeviceDisambiguation: description: Successfully retrieve the device data volume category but device disambiguation is required value: device: phoneNumber: "+123456789" + lastStatusTime: "2024-02-20T10:41:38.657Z" dataVolumeCategory: "<200MiB" SuccessfulCheckResponse: - description: Successfully check the device data volume category + description: Successfully check the device data volume category with known status time + value: + lastStatusTime: "2024-02-20T10:41:38.657Z" + thresholdExceeded: false + SuccessfulCheckResponseWithUnknownStatusTime: + description: Successfully check the device data volume category, but status time of that information is unknown value: + lastStatusTime: null thresholdExceeded: false SuccessfulCheckResponseWithDeviceDisambiguation: description: Successfully check the device data volume category but device disambiguation is required value: device: phoneNumber: "+123456789" + lastStatusTime: "2024-02-20T10:41:38.657Z" thresholdExceeded: true From 3c5e6ef808a5b2b30a3431454aacbfa21f71abe4 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 11:11:08 +0100 Subject: [PATCH 02/23] Fix missing quotation marks --- code/API_definitions/device-data-volume.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 2959f8c..ea1a469 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -106,9 +106,9 @@ paths: $ref: "#/components/schemas/RetrieveDataVolumeRequest" examples: Successful Retrieve Response: - $ref: "#/components/examples/SuccessfulRetrieveResponse + $ref: "#/components/examples/SuccessfulRetrieveResponse" Successful Retrieve Response With Unknown Status Time: - $ref: "#/components/examples/SuccessfulRetrieveResponseWithUnknownStatusTime + $ref: "#/components/examples/SuccessfulRetrieveResponseWithUnknownStatusTime" responses: "200": description: Contains information about the remaining device data volume. @@ -159,9 +159,9 @@ paths: $ref: "#/components/schemas/CheckDataVolumeRequest" examples: Successful Retrieve Response: - $ref: "#/components/examples/SuccessfulRetrieveResponse + $ref: "#/components/examples/SuccessfulRetrieveResponse" Successful Retrieve Response With Unknown Status Time: - $ref: "#/components/examples/SuccessfulRetrieveResponseWithUnknownStatusTime + $ref: "#/components/examples/SuccessfulRetrieveResponseWithUnknownStatusTime" responses: "200": description: Boolean response indicating if the remaining data volume exceeds the provided threshold From 9600b27553a7a4d660174506fb2fd1e1a3ad324f Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 11:19:47 +0100 Subject: [PATCH 03/23] Update request examples --- code/API_definitions/device-data-volume.yaml | 32 +++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index ea1a469..76aa67e 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -105,10 +105,10 @@ paths: schema: $ref: "#/components/schemas/RetrieveDataVolumeRequest" examples: - Successful Retrieve Response: - $ref: "#/components/examples/SuccessfulRetrieveResponse" - Successful Retrieve Response With Unknown Status Time: - $ref: "#/components/examples/SuccessfulRetrieveResponseWithUnknownStatusTime" + Retrieve Request: + $ref: "#/components/examples/RetrieveRequest" + Retrieve Request With 2-legged Access Token: + $ref: "#/components/examples/RetrieveRequestWith2-leggedAccessToken" responses: "200": description: Contains information about the remaining device data volume. @@ -158,10 +158,10 @@ paths: schema: $ref: "#/components/schemas/CheckDataVolumeRequest" examples: - Successful Retrieve Response: - $ref: "#/components/examples/SuccessfulRetrieveResponse" - Successful Retrieve Response With Unknown Status Time: - $ref: "#/components/examples/SuccessfulRetrieveResponseWithUnknownStatusTime" + Check Request: + $ref: "#/components/examples/CheckRequest" + Retrieve Request With 2-legged Access Token: + $ref: "#/components/examples/CheckRequestWith2-leggedAccessToken" responses: "200": description: Boolean response indicating if the remaining data volume exceeds the provided threshold @@ -289,6 +289,14 @@ components: $ref: "#/components/schemas/DataVolumeCategory" examples: + RetrieveRequest: + description: Request device data volume category with 3-legged access token + value: {} + RetrieveRequestWith2-leggedAccessToken: + description: Request device data volume category with 2-legged access token + value: + device: + phoneNumber: "+123456789" SuccessfulRetrieveResponse: description: Successfully retrieve the device data volume category with known status time value: @@ -306,6 +314,14 @@ components: phoneNumber: "+123456789" lastStatusTime: "2024-02-20T10:41:38.657Z" dataVolumeCategory: "<200MiB" + CheckRequest: + description: Request device data volume category check with 3-legged access token + value: {} + CheckRequestWith2-leggedAccessToken: + description: Request device data volume category check with 2-legged access token + value: + device: + phoneNumber: "+123456789" SuccessfulCheckResponse: description: Successfully check the device data volume category with known status time value: From 8e9526ed70a29d97f6d269f799258adb9476500d Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 11:21:48 +0100 Subject: [PATCH 04/23] Change type from object to string for date field --- code/API_definitions/device-data-volume.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 76aa67e..9dad373 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -204,7 +204,7 @@ components: It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. allOf: - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" - - type: object + - type: string nullable: true VolumeUnitEnum: From 0202f010ca119d87feb25a5c2f6c3f3b36092ea3 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 11:27:04 +0100 Subject: [PATCH 05/23] Fix check request examples --- code/API_definitions/device-data-volume.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 9dad373..7ee7160 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -316,12 +316,14 @@ components: dataVolumeCategory: "<200MiB" CheckRequest: description: Request device data volume category check with 3-legged access token - value: {} + value: + volumeToCheck: "<200MiB" CheckRequestWith2-leggedAccessToken: description: Request device data volume category check with 2-legged access token value: device: phoneNumber: "+123456789" + volumeToCheck: "<200MiB" SuccessfulCheckResponse: description: Successfully check the device data volume category with known status time value: From dfeaf988bc43d2b4b73d744357ea73671ff095b3 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 11:38:38 +0100 Subject: [PATCH 06/23] Update check request examples --- code/API_definitions/device-data-volume.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 7ee7160..678600c 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -204,8 +204,7 @@ components: It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. allOf: - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" - - type: string - nullable: true + - nullable: true VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes. @@ -317,13 +316,16 @@ components: CheckRequest: description: Request device data volume category check with 3-legged access token value: - volumeToCheck: "<200MiB" + value: 500 + units: "MiB" CheckRequestWith2-leggedAccessToken: description: Request device data volume category check with 2-legged access token value: device: phoneNumber: "+123456789" - volumeToCheck: "<200MiB" + volumeToCheck: + value: 500 + units: "MiB" SuccessfulCheckResponse: description: Successfully check the device data volume category with known status time value: From fc40d3f83b1326e99c54fb5b684ea74438c8904b Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 11:40:42 +0100 Subject: [PATCH 07/23] Update device-data-volume.yaml to specify type for nullable --- code/API_definitions/device-data-volume.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 678600c..50a711a 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -204,7 +204,8 @@ components: It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. allOf: - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" - - nullable: true + - type: string + nullable: true VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes. From 9fd4534190e2f31637db245f1d20f740ee2135d1 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 11:41:52 +0100 Subject: [PATCH 08/23] Add volumeToCheck field to CheckRequest --- code/API_definitions/device-data-volume.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 50a711a..f53a14a 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -317,6 +317,7 @@ components: CheckRequest: description: Request device data volume category check with 3-legged access token value: + volumeToCheck: value: 500 units: "MiB" CheckRequestWith2-leggedAccessToken: From 43d76667838f6395edfe7125d17c8106f91e25e0 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 11:54:37 +0100 Subject: [PATCH 09/23] Fix YAML key from 'units' to 'unit' --- code/API_definitions/device-data-volume.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index f53a14a..c8933c9 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -319,7 +319,7 @@ components: value: volumeToCheck: value: 500 - units: "MiB" + unit: "MiB" CheckRequestWith2-leggedAccessToken: description: Request device data volume category check with 2-legged access token value: @@ -327,7 +327,7 @@ components: phoneNumber: "+123456789" volumeToCheck: value: 500 - units: "MiB" + unit: "MiB" SuccessfulCheckResponse: description: Successfully check the device data volume category with known status time value: From 5b9a7dbcff5f922eae2f15f7313751e3dbc6df50 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 11:57:33 +0100 Subject: [PATCH 10/23] Refine LastStatusTime schema in device-data-volume.yaml Updated LastStatusTime to specify type, format, and example. --- code/API_definitions/device-data-volume.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index c8933c9..c3ed1f4 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -202,10 +202,12 @@ components: description: | The last time that the device roaming status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. - allOf: - - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" - - type: string - nullable: true + type: string + format: date-time + maxLength: 64 + description: Timestamp. 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" + nullable: true VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes. From 8dfa297378c78bed5ce0b6d099400c8fb93ddb47 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 11:59:30 +0100 Subject: [PATCH 11/23] Remove duplicate description from timestamp field Removed redundant description for timestamp field. --- code/API_definitions/device-data-volume.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index c3ed1f4..495b635 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -205,7 +205,6 @@ components: type: string format: date-time maxLength: 64 - description: Timestamp. 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" nullable: true From 55e1807905b47f29cbcd784783553b07a9b549d2 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 12:11:20 +0100 Subject: [PATCH 12/23] Try once more to use common DateTime schema for LastStatusTime --- code/API_definitions/device-data-volume.yaml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 495b635..c0f3ae4 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -200,13 +200,17 @@ components: schemas: LastStatusTime: description: | - The last time that the device roaming status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. + The last time that the device date volume status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. - type: string - format: date-time - maxLength: 64 - example: "2018-04-05T17:31:00Z" - nullable: true + allOf: + - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" + - nullable: true + +# type: string +# format: date-time +# maxLength: 64 +# example: "2018-04-05T17:31:00Z" +# nullable: true VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes. From 22eaa4c46874c4f68b39e0ddd41dd97d5b97ee39 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 12:14:48 +0100 Subject: [PATCH 13/23] Fix comment indentation --- code/API_definitions/device-data-volume.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index c0f3ae4..66f3ea1 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -206,11 +206,11 @@ components: - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" - nullable: true -# type: string -# format: date-time -# maxLength: 64 -# example: "2018-04-05T17:31:00Z" -# nullable: true + # type: string + # format: date-time + # maxLength: 64 + # example: "2018-04-05T17:31:00Z" + # nullable: true VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes. From c004e2afbe3d4d7748228a5f7ebe4f27d38bb028 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 12:17:52 +0100 Subject: [PATCH 14/23] Remove comment Removed commented-out type definition for DateTime. --- code/API_definitions/device-data-volume.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 66f3ea1..68b2e98 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -206,12 +206,6 @@ components: - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" - nullable: true - # type: string - # format: date-time - # maxLength: 64 - # example: "2018-04-05T17:31:00Z" - # nullable: true - VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes. type: string From ad7e39583761cf4bdbb2f8e7725a20bc71e45f18 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 12:21:30 +0100 Subject: [PATCH 15/23] Update DateTime schema to specify type as string --- code/API_definitions/device-data-volume.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 68b2e98..5677f5d 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -204,7 +204,8 @@ components: It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. allOf: - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" - - nullable: true + - type: string + nullable: true VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes. From f14b7370a3fe833cd407bdc36656d7eadd487cc7 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 12:24:27 +0100 Subject: [PATCH 16/23] Refactor LastStatusTime schema definition --- code/API_definitions/device-data-volume.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 5677f5d..75c7c34 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -202,10 +202,9 @@ components: description: | The last time that the device date volume status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. + nullable: true allOf: - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" - - type: string - nullable: true VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes. From 6bd1bae67b6205999eefe72b8fc18f33c7463371 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 12:29:18 +0100 Subject: [PATCH 17/23] Give up on trying to add nullable property to common DateTime schema --- code/API_definitions/device-data-volume.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 75c7c34..d950eff 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -200,11 +200,13 @@ components: schemas: LastStatusTime: description: | - The last time that the device date volume status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. + The last time that the device data volume status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. + type: string + format: date-time + maxLength: 64 nullable: true - allOf: - - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" + example: "2018-04-05T17:31:00Z" VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes. From d14ad7f600d3ce62d53bbaf6d55525dcb789430b Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 12:56:16 +0100 Subject: [PATCH 18/23] Try once more to use common DateTime schema for LastStatusTime --- code/API_definitions/device-data-volume.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index d950eff..c3e9952 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -202,11 +202,9 @@ components: description: | The last time that the device data volume status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. - type: string - format: date-time - maxLength: 64 + allOf: + - $ref: "../common/CAMARA_common.yaml#/components/schemas/Device" nullable: true - example: "2018-04-05T17:31:00Z" VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes. From 12b86f8cdb14e9ddcabf4d33374db6d95009a4f5 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 13:00:50 +0100 Subject: [PATCH 19/23] Try once more to use common DateTime schema for LastStatusTime --- code/API_definitions/device-data-volume.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index c3e9952..3531ac3 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -202,8 +202,9 @@ components: description: | The last time that the device data volume status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. + type: string allOf: - - $ref: "../common/CAMARA_common.yaml#/components/schemas/Device" + - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" nullable: true VolumeUnitEnum: From dc0c3b3fb1cf79eb61f47affcf4e19b6e5140c4e Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 13:10:19 +0100 Subject: [PATCH 20/23] Update LastStatusTime type to include DateTime reference --- code/API_definitions/device-data-volume.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 3531ac3..5629a0f 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -202,8 +202,8 @@ components: description: | The last time that the device data volume status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. - type: string allOf: + - type: string - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" nullable: true From 8959bb04d1d138f3d0ef76cc6ac8cb7b8a22dfbe Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 13:19:39 +0100 Subject: [PATCH 21/23] Add unnecessary type definition to LastStatusTime schema to stop spectral complaining --- code/API_definitions/device-data-volume.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 5629a0f..1836f24 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -202,6 +202,7 @@ components: description: | The last time that the device data volume status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. + type: string allOf: - type: string - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" From bdd699876119e043571080fe6143b1db93f7ab40 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 13:22:28 +0100 Subject: [PATCH 22/23] One more go --- code/API_definitions/device-data-volume.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 1836f24..3531ac3 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -204,7 +204,6 @@ components: It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. type: string allOf: - - type: string - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" nullable: true From 5ab5cce1215aa57dc7d41d7cc68438752902edf3 Mon Sep 17 00:00:00 2001 From: Eric Murray Date: Mon, 15 Jun 2026 13:24:52 +0100 Subject: [PATCH 23/23] Back to copy / paste from common schema --- code/API_definitions/device-data-volume.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/API_definitions/device-data-volume.yaml b/code/API_definitions/device-data-volume.yaml index 3531ac3..d950eff 100644 --- a/code/API_definitions/device-data-volume.yaml +++ b/code/API_definitions/device-data-volume.yaml @@ -203,9 +203,10 @@ components: The last time that the device data volume status was confirmed to be correct by the API provider. It might not be possible to provide the current status because, for example, the device may not be connected to any mobile network. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. type: string - allOf: - - $ref: "../common/CAMARA_common.yaml#/components/schemas/DateTime" + format: date-time + maxLength: 64 nullable: true + example: "2018-04-05T17:31:00Z" VolumeUnitEnum: description: Enumeration of volume units, where "MiB" is 2^20 bytes and "GiB" is 2^30 bytes.