Skip to content

Commit 4980643

Browse files
authored
bug: Fix broken Usage API causing SDK bug [BLUESDEV-494]
2 parents cde252a + 65cf858 commit 4980643

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+910
-959
lines changed

config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"packageName": "notehub_py",
33
"packageUrl": "https://github.com/blues/notehub-py",
44
"projectName": "notehub-py",
5-
"packageVersion": "2.1.0"
5+
"packageVersion": "2.2.0"
66
}

openapi.yaml

Lines changed: 116 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,7 +1125,7 @@ paths:
11251125
default:
11261126
$ref: '#/components/responses/ErrorResponse'
11271127
security:
1128-
- api_key: []
1128+
- personalAccessToken: []
11291129
tags:
11301130
- device
11311131
parameters:
@@ -2457,7 +2457,7 @@ paths:
24572457
- project
24582458
'/v1/projects/{projectOrProductUID}/usage/data':
24592459
get:
2460-
operationId: getProjectDataUsage
2460+
operationId: getDataUsage
24612461
description: Get data usage in bytes for a project with time range and period aggregation
24622462
parameters:
24632463
- $ref: '#/components/parameters/projectOrProductUIDParam'
@@ -2474,17 +2474,24 @@ paths:
24742474
- day
24752475
- week
24762476
- month
2477+
- name: aggregate
2478+
in: query
2479+
description: Aggregation level for results
2480+
required: false
2481+
schema:
2482+
type: string
2483+
default: device
2484+
enum:
2485+
- device
2486+
- fleet
2487+
- project
24772488
responses:
24782489
'200':
2479-
description: Successful operation
2480-
content:
2481-
application/json:
2482-
schema:
2483-
$ref: '#/components/schemas/UsageDataResponse'
2490+
$ref: '#/components/responses/UsageDataResponse'
24842491
default:
24852492
$ref: '#/components/responses/ErrorResponse'
24862493
security:
2487-
- api_key: []
2494+
- personalAccessToken: []
24882495
tags:
24892496
- usage
24902497
'/v1/projects/{projectOrProductUID}/usage/events':
@@ -2506,45 +2513,24 @@ paths:
25062513
- day
25072514
- week
25082515
- month
2509-
responses:
2510-
'200':
2511-
description: Successful operation
2512-
content:
2513-
application/json:
2514-
schema:
2515-
$ref: '#/components/schemas/UsageEventsResponse'
2516-
default:
2517-
$ref: '#/components/responses/ErrorResponse'
2518-
security:
2519-
- personalAccessToken: []
2520-
tags:
2521-
- usage
2522-
'/v1/projects/{projectOrProductUID}/usage/route-logs':
2523-
get:
2524-
operationId: getRouteLogsUsage
2525-
description: 'Get route logs usage for a project with time range and period aggregation, when endDate is 0 or unspecified the current time is implied'
2526-
parameters:
2527-
- $ref: '#/components/parameters/projectOrProductUIDParam'
2528-
- $ref: '#/components/parameters/startDateParam'
2529-
- $ref: '#/components/parameters/endDateParam'
2530-
- $ref: '#/components/parameters/deviceUIDParamQuery'
2531-
- name: period
2516+
- name: aggregate
25322517
in: query
2533-
description: Period type for aggregation
2534-
required: true
2518+
description: Aggregation level for results
2519+
required: false
25352520
schema:
25362521
type: string
2522+
default: device
25372523
enum:
2538-
- day
2539-
- week
2540-
- month
2524+
- device
2525+
- fleet
2526+
- project
25412527
responses:
25422528
'200':
25432529
description: Successful operation
25442530
content:
25452531
application/json:
25462532
schema:
2547-
$ref: '#/components/schemas/UsageRouteLogsResponse'
2533+
$ref: '#/components/schemas/UsageEventsResponse'
25482534
default:
25492535
$ref: '#/components/responses/ErrorResponse'
25502536
security:
@@ -2570,13 +2556,20 @@ paths:
25702556
- day
25712557
- week
25722558
- month
2559+
- name: aggregate
2560+
in: query
2561+
description: Aggregation level for results
2562+
required: false
2563+
schema:
2564+
type: string
2565+
default: device
2566+
enum:
2567+
- device
2568+
- fleet
2569+
- project
25732570
responses:
25742571
'200':
2575-
description: Successful operation
2576-
content:
2577-
application/json:
2578-
schema:
2579-
$ref: '#/components/schemas/UsageSessionsResponse'
2572+
$ref: '#/components/responses/UsageSessionsResponse'
25802573
default:
25812574
$ref: '#/components/responses/ErrorResponse'
25822575
security:
@@ -3989,14 +3982,14 @@ components:
39893982
fleet_uid:
39903983
type: string
39913984
inherited_var_count:
3992-
type: int
3985+
type: integer
39933986
type:
39943987
type: string
39953988
url:
39963989
type: string
39973990
format: uri
39983991
var_count:
3999-
type: int
3992+
type: integer
40003993
variables:
40013994
type: array
40023995
items:
@@ -4013,7 +4006,7 @@ components:
40134006
key:
40144007
type: string
40154008
precedence:
4016-
type: int
4009+
type: integer
40174010
used:
40184011
type: boolean
40194012
value:
@@ -4948,43 +4941,15 @@ components:
49484941
required:
49494942
- period
49504943
- total_bytes
4951-
UsageDataResponse:
4952-
type: array
4953-
items:
4954-
properties:
4955-
data:
4956-
type: array
4957-
items:
4958-
$ref: '#/components/schemas/UsageData'
4959-
device:
4960-
description: The device UID this usage data belongs to
4961-
type: string
4962-
example: 'dev:123456789012345'
4963-
iccid:
4964-
description: The ICCID of the cellular SIM card (only present when type is 'cellular')
4965-
type: string
4966-
example: '12345678901234567890'
4967-
imsi:
4968-
description: The IMSI of the satellite device (only present when type is 'satellite')
4969-
type: string
4970-
example: '123456789012345'
4971-
type:
4972-
description: The type of connectivity
4973-
type: string
4974-
enum:
4975-
- cellular
4976-
- satellite
4977-
required:
4978-
- device
4979-
- type
4980-
- data
4981-
type: object
4982-
properties: {}
49834944
UsageEventsData:
49844945
type: object
49854946
properties:
49864947
device:
49874948
type: string
4949+
example: 'dev:123456789012345'
4950+
fleet:
4951+
type: string
4952+
example: 'fleet:1042ddc5-3b2c-4cec-b1fb-d3040538094d'
49884953
period:
49894954
type: string
49904955
format: date-time
@@ -4999,7 +4964,6 @@ components:
49994964
- period
50004965
- total_events
50014966
- platform_events
5002-
- device
50034967
UsageEventsResponse:
50044968
type: object
50054969
properties:
@@ -5012,15 +4976,16 @@ components:
50124976
UsageRouteLogsData:
50134977
type: object
50144978
properties:
5015-
device:
5016-
type: string
50174979
failed_routes:
50184980
type: integer
50194981
example: 4
50204982
period:
50214983
type: string
50224984
format: date-time
50234985
example: '2025-07-23T00:00:00Z'
4986+
route:
4987+
description: The route serial number (only present when aggregate is 'route')
4988+
type: string
50244989
successful_routes:
50254990
type: integer
50264991
example: 38
@@ -5032,21 +4997,15 @@ components:
50324997
- successful_routes
50334998
- failed_routes
50344999
- total_routes
5035-
- device
5036-
UsageRouteLogsResponse:
5037-
type: object
5038-
properties:
5039-
data:
5040-
type: array
5041-
items:
5042-
$ref: '#/components/schemas/UsageRouteLogsData'
5043-
required:
5044-
- data
50455000
UsageSessionsData:
50465001
type: object
50475002
properties:
50485003
device:
50495004
type: string
5005+
example: 'dev:123456789012345'
5006+
fleet:
5007+
type: string
5008+
example: 'fleet:1042ddc5-3b2c-4cec-b1fb-d3040538094d'
50505009
period:
50515010
type: string
50525011
format: date-time
@@ -5061,16 +5020,6 @@ components:
50615020
- period
50625021
- sessions
50635022
- total_bytes
5064-
- device
5065-
UsageSessionsResponse:
5066-
type: object
5067-
properties:
5068-
data:
5069-
type: array
5070-
items:
5071-
$ref: '#/components/schemas/UsageSessionsData'
5072-
required:
5073-
- data
50745023
UserDbRoute:
50755024
type: object
50765025
properties:
@@ -6157,6 +6106,73 @@ components:
61576106
voltage: 4.174
61586107
when: 1667251044
61596108
work: 1667251046
6109+
UsageDataResponse:
6110+
description: Response body for Data Usage
6111+
content:
6112+
application/json:
6113+
schema:
6114+
type: object
6115+
properties:
6116+
data:
6117+
type: array
6118+
items:
6119+
properties:
6120+
data:
6121+
type: array
6122+
items:
6123+
$ref: '#/components/schemas/UsageData'
6124+
device:
6125+
description: The device UID this usage data belongs to (only present when aggregate is 'device')
6126+
type: string
6127+
example: 'dev:123456789012345'
6128+
fleet:
6129+
description: The fleet UID this usage data belongs to (only present when aggregate is 'fleet')
6130+
type: string
6131+
example: 'fleet:1042ddc5-3b2c-4cec-b1fb-d3040538094d'
6132+
iccid:
6133+
description: The ICCID of the cellular SIM card (only present when type is 'cellular')
6134+
type: string
6135+
example: '12345678901234567890'
6136+
imsi:
6137+
description: The IMSI of the satellite device (only present when type is 'satellite')
6138+
type: string
6139+
example: '123456789012345'
6140+
type:
6141+
description: The type of connectivity
6142+
type: string
6143+
enum:
6144+
- cellular
6145+
- satellite
6146+
required:
6147+
- type
6148+
- data
6149+
type: object
6150+
UsageRouteLogsResponse:
6151+
description: Response body for Route Log Usage
6152+
content:
6153+
application/json:
6154+
schema:
6155+
type: object
6156+
properties:
6157+
route_logs:
6158+
type: array
6159+
items:
6160+
$ref: '#/components/schemas/UsageRouteLogsData'
6161+
required:
6162+
- route_logs
6163+
UsageSessionsResponse:
6164+
description: Response body for Session Usage
6165+
content:
6166+
application/json:
6167+
schema:
6168+
type: object
6169+
properties:
6170+
sessions:
6171+
type: array
6172+
items:
6173+
$ref: '#/components/schemas/UsageSessionsData'
6174+
required:
6175+
- sessions
61606176
securitySchemes:
61616177
personalAccessToken:
61626178
description: |

0 commit comments

Comments
 (0)