diff --git a/config.json b/config.json index 2cc188a2..8d17696b 100644 --- a/config.json +++ b/config.json @@ -3,7 +3,7 @@ "licenseName": "MIT", "moduleName": "NotehubJs", "npmRepository": "https://registry.npmjs.org", - "projectVersion": "6.0.0", + "projectVersion": "6.0.0-beta.41", "sourceFolder": "src", "usePromises": true } diff --git a/openapi.yaml b/openapi.yaml index 866d9882..a0bb9bab 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -143,6 +143,90 @@ paths: - personalAccessToken: [] tags: - billing_account + '/v1/billing-accounts/{billingAccountUID}': + get: + operationId: GetBillingAccount + description: Get Billing Account Information + parameters: + - $ref: '#/components/parameters/billingAccountUIDParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + type: object + properties: + name: + type: string + owner: + type: string + plan: + type: object + properties: + current_balance: + type: integer + format: int64 + end_date: + type: string + format: date-time + event_capacity: + type: integer + format: int64 + start_date: + type: string + format: date-time + type: + type: string + enum: + - Enterprise + - Essentials + suspended: + type: boolean + uid: + type: string + default: + $ref: '#/components/responses/ErrorResponse' + security: + - personalAccessToken: [] + tags: + - billing_account + '/v1/billing-accounts/{billingAccountUID}/balance-history': + get: + operationId: GetBillingAccountBalanceHistory + description: 'Get Billing Account Balance history, only enterprise supported' + parameters: + - $ref: '#/components/parameters/billingAccountUIDParam' + - $ref: '#/components/parameters/startDateParam' + - $ref: '#/components/parameters/endDateParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + properties: + period: + type: string + format: date-time + remaining_event_capacity: + type: integer + format: int64 + required: + - remaining_event_capacity + - period + type: object + default: + $ref: '#/components/responses/ErrorResponse' + security: + - personalAccessToken: [] + tags: + - billing_account '/v1/products/{productUID}/devices/{deviceUID}/environment_variables_with_pin': get: operationId: GetDeviceEnvironmentVariablesByPin @@ -375,6 +459,28 @@ paths: - personalAccessToken: [] tags: - alert + '/v1/projects/{projectOrProductUID}/aws-role-config': + get: + operationId: GetAWSRoleConfig + summary: Get AWS role configuration for role-based authentication + description: | + Returns the AWS Account ID and External ID needed to configure an IAM role + trust policy for role-based authentication on AWS routes. + parameters: + - $ref: '#/components/parameters/projectOrProductUIDParam' + responses: + '200': + description: AWS role configuration + content: + application/json: + schema: + $ref: '#/components/schemas/AWSRoleConfig' + default: + $ref: '#/components/responses/ErrorResponse' + security: + - personalAccessToken: [] + tags: + - project '/v1/projects/{projectOrProductUID}/clone': post: operationId: CloneProject @@ -829,6 +935,23 @@ paths: - personalAccessToken: [] tags: - device + '/v1/projects/{projectOrProductUID}/devices/{deviceUID}/notefiles/{notefileID}': + post: + operationId: CreateNotefile + description: Creates an empty Notefile on the device. + parameters: + - $ref: '#/components/parameters/projectOrProductUIDParam' + - $ref: '#/components/parameters/deviceUIDParam' + - $ref: '#/components/parameters/notefileIDParam' + responses: + '200': + description: An empty object means success + default: + $ref: '#/components/responses/ErrorResponse' + security: + - personalAccessToken: [] + tags: + - device '/v1/projects/{projectOrProductUID}/devices/{deviceUID}/notes/{notefileID}': get: operationId: GetNotefile @@ -1108,6 +1231,7 @@ paths: - $ref: '#/components/parameters/pageNumParam' - $ref: '#/components/parameters/startDateParam' - $ref: '#/components/parameters/endDateParam' + - $ref: '#/components/parameters/firstSyncParam' responses: '200': $ref: '#/components/responses/SessionResponse' @@ -2703,6 +2827,13 @@ paths: - webhook components: parameters: + billingAccountUIDParam: + example: 00000000-0000-0000-000000000001 + in: path + name: billingAccountUID + required: true + schema: + type: string cursorParam: description: | A cursor, which can be obtained from the `next_cursor` value from a previous call to this endpoint. The results set returned will include this event as its first result if the given identifier is actually the UID of an event. If this event UID is not found, the parameter is ignored and the results set is the same as if the parameter was not included. @@ -2925,6 +3056,14 @@ components: required: false schema: type: string + firstSyncParam: + description: 'When true, filters results to only show first sync sessions' + in: query + name: firstSync + required: false + schema: + type: boolean + default: false fleetUIDFilterQueryParam: description: Filter by Fleet UID explode: true @@ -3323,6 +3462,19 @@ components: schema: type: string schemas: + AWSRoleConfig: + description: Configuration needed to set up an IAM role trust policy for role-based authentication on AWS routes + type: object + properties: + aws_account_id: + description: The Blues AWS Account ID to trust in your IAM role's trust policy + type: string + external_id: + description: The External ID to use in your IAM role's trust policy condition + type: string + required: + - aws_account_id + - external_id Alert: type: object properties: @@ -3446,6 +3598,9 @@ components: type: string region: type: string + role_arn: + description: IAM Role ARN for role-based authentication via STS AssumeRole + type: string throttle_ms: type: integer timeout: @@ -4497,9 +4652,15 @@ components: filename: description: The name of the firmware file. type: string + info: + description: User-defined metadata + type: object md5: description: The MD5 hash of the firmware file. type: string + notes: + description: User-defined notes + type: string organization: description: The organization that owns the firmware. type: string @@ -4684,6 +4845,7 @@ components: - less_than_or_equal_to - equal_to - not_equal_to + - count description: type: string disabled: @@ -5252,7 +5414,7 @@ components: description: Total bytes included in the plan type: integer format: int64 - example: 18650 + example: 10000 bytes_used: description: Bytes used to date type: integer @@ -5682,6 +5844,18 @@ components: type: integer format: int64 example: 42 + total_fw_updates: + description: Number of firmware updates in this period (from _health.qo DFU events) + type: integer + format: int64 + example: 1 + nullable: true + total_reboots: + description: Number of device reboots in this period (from _health.qo boot events) + type: integer + format: int64 + example: 2 + nullable: true watchdog_events: description: 'Watchdog events are events generated by notehub when a watchdog timer is configured for a device to indicate is has not been online for a period of time. These events are billed but should not be used to indicate a device is active, or connected, at this time.' type: integer @@ -5707,6 +5881,12 @@ components: UsageRouteLogsData: type: object properties: + avg_latency_ms: + description: Average routing latency in milliseconds for route logs with recorded duration + type: number + format: double + example: 342.5 + nullable: true failed_routes: type: integer format: int64 @@ -5738,6 +5918,11 @@ components: device: type: string example: 'dev:123456789012345' + first_sync_sessions: + description: Number of first sync sessions in this period + type: integer + format: int64 + example: 2 fleet: type: string example: 'fleet:1042ddc5-3b2c-4cec-b1fb-d3040538094d' @@ -5749,6 +5934,22 @@ components: type: integer format: int64 example: 12 + sessions_by_transport: + description: 'Count of sessions grouped by transport type prefix (e.g. cell, wifi, ntn, lorawan)' + type: object + example: + cell: 8 + ntn: 1 + wifi: 3 + additionalProperties: + format: int64 + type: integer + tls_sessions: + description: Number of TLS sessions in this period + type: integer + format: int64 + example: 3 + nullable: true total_bytes: type: integer format: int64 @@ -5760,6 +5961,7 @@ components: required: - period - sessions + - first_sync_sessions - total_bytes - total_devices UsageTruncatedField: