diff --git a/ext/hivemq-edge-openapi-2024.5.yaml b/ext/hivemq-edge-openapi-2024.5.yaml index bca1426f78..421cfb6796 100644 --- a/ext/hivemq-edge-openapi-2024.5.yaml +++ b/ext/hivemq-edge-openapi-2024.5.yaml @@ -14,84 +14,84 @@ info: ## OpenAPI HiveMQ's REST API provides an OpenAPI 3.0 schema definition that can imported into popular API tooling (e.g. Postman) or can be used to generate client-code for multiple programming languages. title: HiveMQ Edge REST API - version: "2024.4" + version: "2024.5" x-logo: url: https://www.hivemq.com/img/svg/hivemq-bee.svg tags: - - description: Services to obtain and validate security tokens with the HiveMQ Edge - API. - name: Authentication Endpoint - - description: Explore and interact with the Bridges configured on your Gateway. - name: Bridges - - description: Interact with the system event sub-system. - name: Events - - description: Services relating to the use of the portal. - name: Frontend - - description: Services to interact with the gateway configuration. - name: Gateway Endpoint - - description: Gain insight and system metrics. - name: Metrics Endpoint - - description: Interact with protocol adapters. - name: Protocol Adapters - - description: Configure Unified Namespace. - name: UNS - - description: This resource bundles endpoints for the available Finite State Machines - (FSMs) for Behavior Policies for the HiveMQ Data Hub. Currently this is limited - to getting the available FSMs. - name: Data Hub - FSM - - description: This resource bundles endpoints for the available Functions for the - HiveMQ Data Hub. Currently this is limited to getting the available Functions. - name: Data Hub - Functions - - description: |- - Policies describe how you want the HiveMQ broker to validate the behavior of MQTT clients. - Each policy has four sections: - - - Matching: Specifies which clients the policy engine validates. - - Deserialization: Specifies deserializers for different message payloads. - - Behavior: Specifies the behavior that is considered valid for matched clients. - - onTransitions: Specifies custom actions that are executed when a client transitions to a different state within the specified behavior model that is valid for that client. - These endpoints can be used to create, update, delete, and list behavior policies. - - For more information on all capabilities the HiveMQ Data Hub offers, see the [HiveMQ documentation](https://docs.hivemq.com/hivemq/latest/data-hub/index.html). - name: Data Hub - Behavior Policies - - description: |- - Data Policies describe how you want the HiveMQ broker to apply schemas to incoming MQTT message payload data and act on the validation results. - Each policy has four sections: - - - Matching: Specifies which packets the policy engine validates. - - Validation: Specifies how the packets are validated. For example, based on a JSON Schema. - - OnSuccess: Defines which actions are executed when the outcome of a validation is successful. - - OnFailure: Defines which actions are executed when the validation fails. - - These endpoints can be used to create, update, delete, and list data policies. - - For more information on all capabilities the HiveMQ Data Hub offers, see the [HiveMQ documentation](https://docs.hivemq.com/hivemq/latest/data-hub/index.html). - name: Data Hub - Data Policies - - description: |- - A schema defines the expected structure and format of incoming MQTT message payload data. - - This endpoint can be used to create, get, and delete schemas. - - Schemas can be enforced with the use of a policy. - - Currently, the following schema definitions are supported: - - - [JSON Schema](https://json-schema.org/) - - [Protocol Buffers (Protobuf)](https://protobuf.dev/) - - For more information on how to define and use a schema in HiveMQ, see [Schemas](https://docs.hivemq.com/hivemq/latest/data-hub/schemas.html). - name: Data Hub - Schemas - - description: |- - A script represents custom logic that can be executed in response to MQTT messages. - - This endpoint can be used to create, get, and delete scripts. - - For more information on how to define and use a script in HiveMQ, see [Scripts](https://docs.hivemq.com/hivemq/latest/data-hub/scripts.html). - name: Data Hub - Scripts - - description: |+ - These endpoints can be used to retrieve states of clients for the Data Hub. +- description: Services to obtain and validate security tokens with the HiveMQ Edge + API. + name: Authentication Endpoint +- description: Explore and interact with the Bridges configured on your Gateway. + name: Bridges +- description: Interact with the system event sub-system. + name: Events +- description: Services relating to the use of the portal. + name: Frontend +- description: Services to interact with the gateway configuration. + name: Gateway Endpoint +- description: Gain insight and system metrics. + name: Metrics Endpoint +- description: Interact with protocol adapters. + name: Protocol Adapters +- description: Configure Unified Namespace. + name: UNS +- description: This resource bundles endpoints for the available Finite State Machines + (FSMs) for Behavior Policies for the HiveMQ Data Hub. Currently this is limited + to getting the available FSMs. + name: Data Hub - FSM +- description: This resource bundles endpoints for the available Functions for the + HiveMQ Data Hub. Currently this is limited to getting the available Functions. + name: Data Hub - Functions +- description: |- + Policies describe how you want the HiveMQ broker to validate the behavior of MQTT clients. + Each policy has four sections: - name: Data Hub - State + - Matching: Specifies which clients the policy engine validates. + - Deserialization: Specifies deserializers for different message payloads. + - Behavior: Specifies the behavior that is considered valid for matched clients. + - onTransitions: Specifies custom actions that are executed when a client transitions to a different state within the specified behavior model that is valid for that client. + These endpoints can be used to create, update, delete, and list behavior policies. + + For more information on all capabilities the HiveMQ Data Hub offers, see the [HiveMQ documentation](https://docs.hivemq.com/hivemq/latest/data-hub/index.html). + name: Data Hub - Behavior Policies +- description: |- + Data Policies describe how you want the HiveMQ broker to apply schemas to incoming MQTT message payload data and act on the validation results. + Each policy has four sections: + + - Matching: Specifies which packets the policy engine validates. + - Validation: Specifies how the packets are validated. For example, based on a JSON Schema. + - OnSuccess: Defines which actions are executed when the outcome of a validation is successful. + - OnFailure: Defines which actions are executed when the validation fails. + + These endpoints can be used to create, update, delete, and list data policies. + + For more information on all capabilities the HiveMQ Data Hub offers, see the [HiveMQ documentation](https://docs.hivemq.com/hivemq/latest/data-hub/index.html). + name: Data Hub - Data Policies +- description: |- + A schema defines the expected structure and format of incoming MQTT message payload data. + + This endpoint can be used to create, get, and delete schemas. + + Schemas can be enforced with the use of a policy. + + Currently, the following schema definitions are supported: + + - [JSON Schema](https://json-schema.org/) + - [Protocol Buffers (Protobuf)](https://protobuf.dev/) + + For more information on how to define and use a schema in HiveMQ, see [Schemas](https://docs.hivemq.com/hivemq/latest/data-hub/schemas.html). + name: Data Hub - Schemas +- description: |- + A script represents custom logic that can be executed in response to MQTT messages. + + This endpoint can be used to create, get, and delete scripts. + + For more information on how to define and use a script in HiveMQ, see [Scripts](https://docs.hivemq.com/hivemq/latest/data-hub/scripts.html). + name: Data Hub - Scripts +- description: |+ + These endpoints can be used to retrieve states of clients for the Data Hub. + + name: Data Hub - State paths: /: get: @@ -139,8 +139,8 @@ paths: summary: Authorize the presented user to obtain a secure token for use on the API. tags: - - Authentication - - Authentication Endpoint + - Authentication + - Authentication Endpoint /api/v1/auth/refresh-token: post: description: Authorize the presented user to obtain a secure token for use on @@ -173,8 +173,8 @@ paths: description: The requested credentials could not be authenticated. summary: Obtain a fresh JWT for the previously authenticated user. tags: - - Authentication - - Authentication Endpoint + - Authentication + - Authentication Endpoint /api/v1/auth/validate-token: post: description: Authorize the presented user to obtain a secure token for use on @@ -193,52 +193,52 @@ paths: summary: Authorize the presented user to obtain a secure token for use on the API. tags: - - Authentication - - Authentication Endpoint + - Authentication + - Authentication Endpoint /api/v1/data-hub/behavior-validation/policies: get: description: "Get all policies. \n\n This endpoint returns the content of the\ \ policies with the content-type `application/json`. \n\n " operationId: getAllBehaviorPolicies parameters: - - description: "Comma-separated list of fields to include in the response. Allowed\ + - description: "Comma-separated list of fields to include in the response. Allowed\ \ values are: id, createdAt, lastUpdatedAt, deserialization, matching, behavior,\ \ onTransitions" - example: "id,createdAt" - in: query - name: fields - schema: - type: string - - description: Comma-separated list of policy ids used for filtering. Multiple - filters can be applied together. - example: "policy1,policy2" - in: query - name: policyIds - schema: - type: string - - description: Comma-separated list of MQTT client identifiers that are used - for filtering. Client identifiers are matched by the retrieved policies. - Multiple filters can be applied together. - example: "client1,client2" - in: query - name: clientIds - schema: - type: string - - description: Specifies the page size for the returned results. Has to be between - 10 and 500. Default page size is 50. Limit is ignored if the 'topic' query - parameter is set. - example: 100 - in: query - name: limit - schema: - type: integer - format: int32 - - description: The cursor that has been returned by the previous result page. - Do not pass this parameter if you want to fetch the first page. - in: query - name: cursor - schema: - type: string + example: "id,createdAt" + in: query + name: fields + schema: + type: string + - description: Comma-separated list of policy ids used for filtering. Multiple + filters can be applied together. + example: "policy1,policy2" + in: query + name: policyIds + schema: + type: string + - description: Comma-separated list of MQTT client identifiers that are used + for filtering. Client identifiers are matched by the retrieved policies. + Multiple filters can be applied together. + example: "client1,client2" + in: query + name: clientIds + schema: + type: string + - description: Specifies the page size for the returned results. Has to be between + 10 and 500. Default page size is 50. Limit is ignored if the 'topic' query + parameter is set. + example: 100 + in: query + name: limit + schema: + type: integer + format: int32 + - description: The cursor that has been returned by the previous result page. + Do not pass this parameter if you want to fetch the first page. + in: query + name: cursor + schema: + type: string responses: "200": content: @@ -250,84 +250,84 @@ paths: summary: "Multiple results, last page" value: items: - - id: P18 - createdAt: 2023-07-28T07:27:24.531Z - lastUpdatedAt: 2023-07-28T07:27:24.531Z - matching: - clientIdRegex: .* - behavior: - id: Mqtt.events - arguments: {} - onTransitions: - - fromState: Any.* - toState: Any.* - Event.OnAny: - pipeline: - - id: log1 - functionId: System.log - arguments: - level: INFO - message: transition happened - - id: P19 - createdAt: 2023-07-28T07:27:24.532Z - lastUpdatedAt: 2023-07-28T07:27:24.532Z - matching: - clientIdRegex: .* - behavior: - id: Mqtt.events - arguments: {} - onTransitions: - - fromState: Any.* - toState: Any.* - Event.OnAny: - pipeline: - - id: log1 - functionId: System.log - arguments: - level: INFO - message: transition happened + - id: P18 + createdAt: 2023-07-28T07:27:24.531Z + lastUpdatedAt: 2023-07-28T07:27:24.531Z + matching: + clientIdRegex: .* + behavior: + id: Mqtt.events + arguments: {} + onTransitions: + - fromState: Any.* + toState: Any.* + Event.OnAny: + pipeline: + - id: log1 + functionId: System.log + arguments: + level: INFO + message: transition happened + - id: P19 + createdAt: 2023-07-28T07:27:24.532Z + lastUpdatedAt: 2023-07-28T07:27:24.532Z + matching: + clientIdRegex: .* + behavior: + id: Mqtt.events + arguments: {} + onTransitions: + - fromState: Any.* + toState: Any.* + Event.OnAny: + pipeline: + - id: log1 + functionId: System.log + arguments: + level: INFO + message: transition happened list-response-b: description: Example response with multiple policies. More pages left summary: "Multiple results, more pages left" value: items: - - id: P0 - createdAt: 2023-07-28T07:44:35.382Z - lastUpdatedAt: 2023-07-28T07:44:35.382Z - matching: - clientIdRegex: .* - behavior: - id: Mqtt.events - arguments: {} - onTransitions: - - fromState: Any.* - toState: Any.* - Event.OnAny: - pipeline: - - id: log1 - functionId: System.log - arguments: - level: INFO - message: transition happened - - id: P1 - createdAt: 2023-07-28T07:44:35.405Z - lastUpdatedAt: 2023-07-28T07:44:35.405Z - matching: - clientIdRegex: .* - behavior: - id: Mqtt.events - arguments: {} - onTransitions: - - fromState: Any.* - toState: Any.* - Event.OnAny: - pipeline: - - id: log1 - functionId: System.log - arguments: - level: INFO - message: transition happened + - id: P0 + createdAt: 2023-07-28T07:44:35.382Z + lastUpdatedAt: 2023-07-28T07:44:35.382Z + matching: + clientIdRegex: .* + behavior: + id: Mqtt.events + arguments: {} + onTransitions: + - fromState: Any.* + toState: Any.* + Event.OnAny: + pipeline: + - id: log1 + functionId: System.log + arguments: + level: INFO + message: transition happened + - id: P1 + createdAt: 2023-07-28T07:44:35.405Z + lastUpdatedAt: 2023-07-28T07:44:35.405Z + matching: + clientIdRegex: .* + behavior: + id: Mqtt.events + arguments: {} + onTransitions: + - fromState: Any.* + toState: Any.* + Event.OnAny: + pipeline: + - id: log1 + functionId: System.log + arguments: + level: INFO + message: transition happened _links: next: /api/v1/data-hub/behavior-validation/policies?cursor=a-Wva-QBoB5yAX_HJ0WRQ8ng==&limit=2 list-response-c: @@ -336,8 +336,8 @@ paths: summary: "Multiple results, requested 'id' field" value: items: - - id: P0 - - id: P1 + - id: P0 + - id: P1 _links: next: /api/v1/data-hub/behavior-validation/policies?cursor=a-Wva-QBoB5yAX_HZxWBM9mQ==&limit=2&fields=id list-response-d: @@ -345,24 +345,24 @@ paths: summary: Single Result value: items: - - id: policy1 - createdAt: 2023-07-28T07:34:14.150Z - lastUpdatedAt: 2023-07-28T07:34:14.150Z - matching: - clientIdRegex: .* - behavior: - id: Mqtt.events - arguments: {} - onTransitions: - - fromState: Any.* - toState: Any.* - Event.OnAny: - pipeline: - - id: log1 - functionId: System.log - arguments: - level: INFO - message: transition happened + - id: policy1 + createdAt: 2023-07-28T07:34:14.150Z + lastUpdatedAt: 2023-07-28T07:34:14.150Z + matching: + clientIdRegex: .* + behavior: + id: Mqtt.events + arguments: {} + onTransitions: + - fromState: Any.* + toState: Any.* + Event.OnAny: + pipeline: + - id: log1 + functionId: System.log + arguments: + level: INFO + message: transition happened schema: $ref: '#/components/schemas/BehaviorPolicyList' description: Success @@ -375,15 +375,15 @@ paths: summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Get all policies tags: - - Data Hub - Behavior Policies + - Data Hub - Behavior Policies post: description: |+ Create a behavior policy @@ -410,15 +410,15 @@ paths: id: Mqtt.events arguments: {} onTransitions: - - fromState: Any.* - toState: Any.* - Event.OnAny: - pipeline: - - id: log1 - functionId: System.log - arguments: - level: INFO - message: transition happened + - fromState: Any.* + toState: Any.* + Event.OnAny: + pipeline: + - id: log1 + functionId: System.log + arguments: + level: INFO + message: transition happened schema: $ref: '#/components/schemas/BehaviorPolicy' description: The policy that should be created. @@ -451,15 +451,15 @@ paths: id: Mqtt.events arguments: {} onTransitions: - - fromState: Any.* - toState: Any.* - Event.OnAny: - pipeline: - - id: log1 - functionId: System.log - arguments: - level: INFO - message: transition happened + - fromState: Any.* + toState: Any.* + Event.OnAny: + pipeline: + - id: log1 + functionId: System.log + arguments: + level: INFO + message: transition happened schema: $ref: '#/components/schemas/BehaviorPolicy' description: Success @@ -472,32 +472,32 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing policy-id-already-in-use: description: Example response when the policy uses an already existing id. summary: The given policy ID is already in use value: errors: - - title: Policy id already used - detail: The given policy id 'policy-id' is already in use. + - title: Policy id already used + detail: The given policy id 'policy-id' is already in use. policy-not-parsable: description: Example response when the submitted policy could not be parsed as JSON. summary: The submitted policy cannot be parsed. value: errors: - - title: Policy not parsable - detail: The submitted policy 'policy' can not be parsed. + - title: Policy not parsable + detail: The submitted policy 'policy' can not be parsed. policy-not-valid: description: "Example response when the policy is invalid, because\ \ a field is missing." summary: The submitted policy is not valid value: errors: - - title: Policy is not valid - detail: Required body entity parameter is missing + - title: Policy is not valid + detail: Required body entity parameter is missing schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -512,8 +512,8 @@ paths: by all cluster nodes value: errors: - - title: Incompatible policy - detail: "The policy with id 'policy' could not be added because\ + - title: Incompatible policy + detail: "The policy with id 'policy' could not be added because\ \ its functions [fn:my-transform.js:1, fn:my-transform.js:2]\ \ require at least HiveMQ version 4.23.0, but not all cluster\ \ nodes have been updated to this version yet. Please try\ @@ -523,35 +523,35 @@ paths: summary: Temporarily not available value: errors: - - title: The endpoint is temporarily not available - detail: "The endpoint is temporarily not available, please try\ + - title: The endpoint is temporarily not available + detail: "The endpoint is temporarily not available, please try\ \ again later" version-check-failed: description: Version check failed summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Temporarily not available summary: Create a new policy tags: - - Data Hub - Behavior Policies + - Data Hub - Behavior Policies /api/v1/data-hub/behavior-validation/policies/{policyId}: delete: description: "Deletes an existing policy. \n\n " operationId: deleteBehaviorPolicy parameters: - - description: The identifier of the policy to delete. - example: policy1 - in: path - name: policyId - required: true - schema: - type: string + - description: The identifier of the policy to delete. + example: policy1 + in: path + name: policyId + required: true + schema: + type: string responses: "204": description: "Success, no response body" @@ -564,8 +564,8 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -578,8 +578,8 @@ paths: summary: Not found value: errors: - - title: Resource not found - detail: Resource with id 'my-resource-id' not found + - title: Resource not found + detail: Resource with id 'my-resource-id' not found schema: $ref: '#/components/schemas/Errors' description: Resource not found @@ -592,35 +592,35 @@ paths: summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Delete a behavior policy tags: - - Data Hub - Behavior Policies + - Data Hub - Behavior Policies get: description: "Get a specific policy. \n\n This endpoint returns the content\ \ of the policy with the content-type `application/json`. \n\n " operationId: getBehaviorPolicy parameters: - - description: The identifier of the policy. - example: policy1 - in: path - name: policyId - required: true - schema: - type: string - - description: "Comma-separated list of fields to include in the response. Allowed\ + - description: The identifier of the policy. + example: policy1 + in: path + name: policyId + required: true + schema: + type: string + - description: "Comma-separated list of fields to include in the response. Allowed\ \ values are: id, createdAt, lastUpdatedAt, deserialization, matching, behavior,\ \ onTransitions" - example: "id,createdAt" - in: query - name: fields - schema: - type: string + example: "id,createdAt" + in: query + name: fields + schema: + type: string responses: "200": content: @@ -649,15 +649,15 @@ paths: id: Mqtt.events arguments: {} onTransitions: - - fromState: Any.* - toState: Any.* - Event.OnAny: - pipeline: - - id: log1 - functionId: System.log - arguments: - level: INFO - message: transition happened + - fromState: Any.* + toState: Any.* + Event.OnAny: + pipeline: + - id: log1 + functionId: System.log + arguments: + level: INFO + message: transition happened schema: $ref: '#/components/schemas/BehaviorPolicy' description: Success @@ -670,8 +670,8 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -684,26 +684,26 @@ paths: summary: Not found value: errors: - - title: Resource not found - detail: Resource with id 'my-resource-id' not found + - title: Resource not found + detail: Resource with id 'my-resource-id' not found schema: $ref: '#/components/schemas/Errors' description: Resource not found summary: Get a policy tags: - - Data Hub - Behavior Policies + - Data Hub - Behavior Policies put: description: "Update a behavior policy\n\nThe path parameter 'policyId' must\ \ match the 'id' of the policy in the request body.\n " operationId: updateBehaviorPolicy parameters: - - description: The identifier of the policy. - example: policy1 - in: path - name: policyId - required: true - schema: - type: string + - description: The identifier of the policy. + example: policy1 + in: path + name: policyId + required: true + schema: + type: string requestBody: content: application/json: @@ -725,15 +725,15 @@ paths: id: Mqtt.events arguments: {} onTransitions: - - fromState: Any.* - toState: Any.* - Event.OnAny: - pipeline: - - id: log1 - functionId: System.log - arguments: - level: INFO - message: transition happened + - fromState: Any.* + toState: Any.* + Event.OnAny: + pipeline: + - id: log1 + functionId: System.log + arguments: + level: INFO + message: transition happened schema: $ref: '#/components/schemas/BehaviorPolicy' description: The policy that should be updated. @@ -766,15 +766,15 @@ paths: id: Mqtt.events arguments: {} onTransitions: - - fromState: Any.* - toState: Any.* - Event.OnAny: - pipeline: - - id: log1 - functionId: System.log - arguments: - level: INFO - message: transition happened + - fromState: Any.* + toState: Any.* + Event.OnAny: + pipeline: + - id: log1 + functionId: System.log + arguments: + level: INFO + message: transition happened schema: $ref: '#/components/schemas/BehaviorPolicy' description: Success @@ -787,23 +787,23 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing policy-not-parsable: description: The submitted policy cannot be parsed. summary: The submitted policy can not be parsed value: errors: - - title: Policy not parsable - detail: The submitted policy 'policy' can not be parsed. + - title: Policy not parsable + detail: The submitted policy 'policy' can not be parsed. policy-not-valid: description: "Example response when the policy is invalid, because\ \ a field is missing." summary: The submitted policy is not valid value: errors: - - title: Policy is not valid - detail: Required body entity parameter is missing + - title: Policy is not valid + detail: Required body entity parameter is missing schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -816,8 +816,8 @@ paths: summary: Not found value: errors: - - title: Referenced policy not found - detail: The referenced policy with id 'policyId' was not found. + - title: Referenced policy not found + detail: The referenced policy with id 'policyId' was not found. schema: $ref: '#/components/schemas/Errors' description: Policy not found @@ -830,8 +830,8 @@ paths: summary: Etag not matching value: errors: - - title: Precondition Failed - detail: Policy does not match the given etag '123456789'. + - title: Precondition Failed + detail: Policy does not match the given etag '123456789'. schema: $ref: '#/components/schemas/Errors' description: Precondition failed @@ -846,8 +846,8 @@ paths: by all cluster nodes value: errors: - - title: Incompatible policy - detail: "The policy with id 'policy' could not be added because\ + - title: Incompatible policy + detail: "The policy with id 'policy' could not be added because\ \ its functions [fn:my-transform.js:1, fn:my-transform.js:2]\ \ require at least HiveMQ version 4.23.0, but not all cluster\ \ nodes have been updated to this version yet. Please try\ @@ -857,15 +857,15 @@ paths: summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Update an existing policy tags: - - Data Hub - Behavior Policies + - Data Hub - Behavior Policies /api/v1/data-hub/behavior-validation/states/{clientId}: get: description: |+ @@ -873,13 +873,13 @@ paths: operationId: getClientState parameters: - - description: The client identifier. - example: client1 - in: path - name: clientId - required: true - schema: - type: string + - description: The client identifier. + example: client1 + in: path + name: clientId + required: true + schema: + type: string responses: "200": content: @@ -890,18 +890,18 @@ paths: summary: Get the state of a client value: items: - - policyId: reallyCoolBehaviorPolicy - behaviorId: Publish.quota - stateType: INTERMEDIATE - stateName: Connected - firstSetAt: 2023-09-05T09:46:47.854Z - arguments: - minPublishes: 5 - maxPublishes: 10 - variables: - minPublishes: "5" - publishCount: "0" - maxPublishes: "10" + - policyId: reallyCoolBehaviorPolicy + behaviorId: Publish.quota + stateType: INTERMEDIATE + stateName: Connected + firstSetAt: 2023-09-05T09:46:47.854Z + arguments: + minPublishes: 5 + maxPublishes: 10 + variables: + minPublishes: "5" + publishCount: "0" + maxPublishes: "10" schema: $ref: '#/components/schemas/FsmStatesInformationListItem' description: Success @@ -914,8 +914,8 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -955,8 +955,8 @@ paths: summary: Not found value: errors: - - title: Resource not found - detail: Resource with id 'my-resource-id' not found + - title: Resource not found + detail: Resource with id 'my-resource-id' not found schema: $ref: '#/components/schemas/Errors' description: Resource not found @@ -969,66 +969,66 @@ paths: summary: Temporarily not available value: errors: - - title: The endpoint is temporarily not available - detail: "The endpoint is temporarily not available, please try\ + - title: The endpoint is temporarily not available + detail: "The endpoint is temporarily not available, please try\ \ again later" schema: $ref: '#/components/schemas/Errors' description: Temporarily not available summary: Get the state of a client tags: - - Data Hub - State + - Data Hub - State /api/v1/data-hub/data-validation/policies: get: description: "Get all data policies. \n\n This endpoint returns the content\ \ of the policies with the content-type `application/json`. \n\n " operationId: getAllDataPolicies parameters: - - description: "Comma-separated list of fields to include in the response. Allowed\ + - description: "Comma-separated list of fields to include in the response. Allowed\ \ values are: id, createdAt, lastUpdatedAt, matching, validation, onSuccess,\ \ onFailure" - example: "id,createdAt" - in: query - name: fields - schema: - type: string - - description: Comma-separated list of policy IDs used for filtering. Multiple - filters can be applied together. - example: "policy1,policy2" - in: query - name: policyIds - schema: - type: string - - description: Comma-separated list of schema IDs used for filtering. Multiple - filters can be applied together. - example: "schema1,schema2" - in: query - name: schemaIds - schema: - type: string - - description: MQTT topic string that the retrieved policies must match. Returned - policies are sorted in the same way as they are applied to matching publishes. - 'topic' filtering does not support pagination - example: topic/my-topic - in: query - name: topic - schema: - type: string - - description: Specifies the page size for the returned results. The value must - be between 10 and 500. The default page size is 50. The limit is ignored - if the 'topic' query parameter is set. - example: 100 - in: query - name: limit - schema: - type: integer - format: int32 - - description: The cursor that has been returned by the previous result page. - Do not pass this parameter if you want to fetch the first page. - in: query - name: cursor - schema: - type: string + example: "id,createdAt" + in: query + name: fields + schema: + type: string + - description: Comma-separated list of policy IDs used for filtering. Multiple + filters can be applied together. + example: "policy1,policy2" + in: query + name: policyIds + schema: + type: string + - description: Comma-separated list of schema IDs used for filtering. Multiple + filters can be applied together. + example: "schema1,schema2" + in: query + name: schemaIds + schema: + type: string + - description: MQTT topic string that the retrieved policies must match. Returned + policies are sorted in the same way as they are applied to matching publishes. + 'topic' filtering does not support pagination + example: topic/my-topic + in: query + name: topic + schema: + type: string + - description: Specifies the page size for the returned results. The value must + be between 10 and 500. The default page size is 50. The limit is ignored + if the 'topic' query parameter is set. + example: 100 + in: query + name: limit + schema: + type: integer + format: int32 + - description: The cursor that has been returned by the previous result page. + Do not pass this parameter if you want to fetch the first page. + in: query + name: cursor + schema: + type: string responses: "200": content: @@ -1040,63 +1040,63 @@ paths: summary: "Multiple results, last page" value: items: - - id: policy1 - createdAt: 2023-04-26T13:32:47.032Z - lastUpdatedAt: 2023-04-26T13:32:47.032Z - matching: - topicFilter: topic1 - validation: - validators: - - type: schema - arguments: - strategy: ALL_OF - schemas: - - schemaId: schema - version: "1" - onSuccess: - pipeline: - - id: logSuccessOperation - functionId: System.log - arguments: - level: DEBUG - message: "${clientId} sent a publish on topic '${topic}'\ + - id: policy1 + createdAt: 2023-04-26T13:32:47.032Z + lastUpdatedAt: 2023-04-26T13:32:47.032Z + matching: + topicFilter: topic1 + validation: + validators: + - type: schema + arguments: + strategy: ALL_OF + schemas: + - schemaId: schema + version: "1" + onSuccess: + pipeline: + - id: logSuccessOperation + functionId: System.log + arguments: + level: DEBUG + message: "${clientId} sent a publish on topic '${topic}'\ \ with result '${validationResult}'" - onFailure: - pipeline: - - id: logFailureOperation - functionId: System.log - arguments: - level: WARN - message: "${clientId} sent an invalid publish on topic\ + onFailure: + pipeline: + - id: logFailureOperation + functionId: System.log + arguments: + level: WARN + message: "${clientId} sent an invalid publish on topic\ \ '${topic}' with result '${validationResult}'" - - id: policy2 - createdAt: 2023-04-26T13:32:47.049Z - lastUpdatedAt: 2023-04-26T13:32:47.049Z - matching: - topicFilter: topic2 - validation: - validators: - - type: schema - arguments: - strategy: ALL_OF - schemas: - - schemaId: schema - version: "1" - onSuccess: - pipeline: - - id: logSuccessOperation - functionId: System.log - arguments: - level: DEBUG - message: "${clientId} sent a publish on topic '${topic}'\ + - id: policy2 + createdAt: 2023-04-26T13:32:47.049Z + lastUpdatedAt: 2023-04-26T13:32:47.049Z + matching: + topicFilter: topic2 + validation: + validators: + - type: schema + arguments: + strategy: ALL_OF + schemas: + - schemaId: schema + version: "1" + onSuccess: + pipeline: + - id: logSuccessOperation + functionId: System.log + arguments: + level: DEBUG + message: "${clientId} sent a publish on topic '${topic}'\ \ with result '${validationResult}'" - onFailure: - pipeline: - - id: logSuccessOperation - functionId: System.log - arguments: - level: WARN - message: "${clientId} sent an invalid publish on topic\ + onFailure: + pipeline: + - id: logSuccessOperation + functionId: System.log + arguments: + level: WARN + message: "${clientId} sent an invalid publish on topic\ \ '${topic}' with result '${validationResult}'" list-response-b: description: Example response with multiple policies. More pages @@ -1104,93 +1104,93 @@ paths: summary: "Multiple results, more pages left" value: items: - - id: policy1 - createdAt: 2023-04-26T13:32:47.032Z - lastUpdatedAt: 2023-04-26T13:32:47.032Z - matching: - topicFilter: topic1 - validation: - validators: - - type: schema - arguments: - strategy: ALL_OF - schemas: - - schemaId: schema - version: "1" - onSuccess: - pipeline: - - id: logSuccessOperation - functionId: System.log - arguments: - level: DEBUG - message: $clientId sent a publish on topic '$topic' with - result '$validationResult' - onFailure: - pipeline: - - id: logFailureOperation - functionId: System.log - arguments: - level: WARN - message: $clientId sent an invalid publish on topic '$topic' - with result '$validationResult' - - id: policy2 - createdAt: 2023-04-26T13:32:47.049Z - lastUpdatedAt: 2023-04-26T13:32:47.049Z - matching: - topicFilter: topic2 - validation: - validators: - - type: schema - arguments: - strategy: ALL_OF - schemas: - - schemaId: schema - version: "1" - onSuccess: - pipeline: - - id: logSuccessOperation - functionId: System.log - arguments: - level: DEBUG - message: $clientId sent a publish on topic '$topic' with - result '$validationResult' - onFailure: - pipeline: - - id: logSuccessOperation - functionId: System.log - arguments: - level: WARN - message: $clientId sent an invalid publish on topic '$topic' - with result '$validationResult' - - id: policy3 - createdAt: 2023-04-26T13:32:47.049Z - lastUpdatedAt: 2023-04-26T13:32:47.049Z - matching: - topicFilter: topic3 - validation: - validators: - - type: schema - arguments: - strategy: ALL_OF - schemas: - - schemaId: schema - version: "1" - onSuccess: - pipeline: - - id: logSuccessOperation - functionId: System.log - arguments: - level: DEBUG - message: $clientId sent a publish on topic '$topic' with - result '$validationResult' - onFailure: - pipeline: - - id: logSuccessOperation - functionId: System.log - arguments: - level: WARN - message: $clientId sent an invalid publish on topic '$topic' - with result '$validationResult' + - id: policy1 + createdAt: 2023-04-26T13:32:47.032Z + lastUpdatedAt: 2023-04-26T13:32:47.032Z + matching: + topicFilter: topic1 + validation: + validators: + - type: schema + arguments: + strategy: ALL_OF + schemas: + - schemaId: schema + version: "1" + onSuccess: + pipeline: + - id: logSuccessOperation + functionId: System.log + arguments: + level: DEBUG + message: $clientId sent a publish on topic '$topic' with + result '$validationResult' + onFailure: + pipeline: + - id: logFailureOperation + functionId: System.log + arguments: + level: WARN + message: $clientId sent an invalid publish on topic '$topic' + with result '$validationResult' + - id: policy2 + createdAt: 2023-04-26T13:32:47.049Z + lastUpdatedAt: 2023-04-26T13:32:47.049Z + matching: + topicFilter: topic2 + validation: + validators: + - type: schema + arguments: + strategy: ALL_OF + schemas: + - schemaId: schema + version: "1" + onSuccess: + pipeline: + - id: logSuccessOperation + functionId: System.log + arguments: + level: DEBUG + message: $clientId sent a publish on topic '$topic' with + result '$validationResult' + onFailure: + pipeline: + - id: logSuccessOperation + functionId: System.log + arguments: + level: WARN + message: $clientId sent an invalid publish on topic '$topic' + with result '$validationResult' + - id: policy3 + createdAt: 2023-04-26T13:32:47.049Z + lastUpdatedAt: 2023-04-26T13:32:47.049Z + matching: + topicFilter: topic3 + validation: + validators: + - type: schema + arguments: + strategy: ALL_OF + schemas: + - schemaId: schema + version: "1" + onSuccess: + pipeline: + - id: logSuccessOperation + functionId: System.log + arguments: + level: DEBUG + message: $clientId sent a publish on topic '$topic' with + result '$validationResult' + onFailure: + pipeline: + - id: logSuccessOperation + functionId: System.log + arguments: + level: WARN + message: $clientId sent an invalid publish on topic '$topic' + with result '$validationResult' _links: next: /api/v1/data-validation/policies?cursor=a-eqj-GE9B5DkV-nhwVBk-nTL807ty&limit=3 list-response-c: @@ -1199,9 +1199,9 @@ paths: summary: "Multiple results, requested 'id' field" value: items: - - id: policy1 - - id: policy2 - - id: policy3 + - id: policy1 + - id: policy2 + - id: policy3 _links: next: /api/v1/data-validation/policies?cursor=a-eqj-GE9B5DkV-nhwVBk-nTL807ty&limit=3&fields=id list-response-d: @@ -1209,35 +1209,35 @@ paths: summary: Single Result value: items: - - id: policy1 - createdAt: 2023-04-26T13:32:47.032Z - lastUpdatedAt: 2023-04-26T13:32:47.032Z - matching: - topicFilter: topic1 - validation: - validators: - - type: schema - arguments: - strategy: ALL_OF - schemas: - - schemaId: schema - version: "1" - onSuccess: - pipeline: - - id: logSuccessOperation - functionId: System.log - arguments: - level: DEBUG - message: $clientId sent a publish on topic '$topic' with - result '$validationResult' - onFailure: - pipeline: - - id: logFailureOperation - functionId: System.log - arguments: - level: WARN - message: $clientId sent an invalid publish on topic '$topic' - with result '$validationResult' + - id: policy1 + createdAt: 2023-04-26T13:32:47.032Z + lastUpdatedAt: 2023-04-26T13:32:47.032Z + matching: + topicFilter: topic1 + validation: + validators: + - type: schema + arguments: + strategy: ALL_OF + schemas: + - schemaId: schema + version: "1" + onSuccess: + pipeline: + - id: logSuccessOperation + functionId: System.log + arguments: + level: DEBUG + message: $clientId sent a publish on topic '$topic' with + result '$validationResult' + onFailure: + pipeline: + - id: logFailureOperation + functionId: System.log + arguments: + level: WARN + message: $clientId sent an invalid publish on topic '$topic' + with result '$validationResult' schema: $ref: '#/components/schemas/DataPolicyList' description: Success @@ -1250,15 +1250,15 @@ paths: summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Get all data policies tags: - - Data Hub - Data Policies + - Data Hub - Data Policies post: description: |+ Create a data policy @@ -1273,27 +1273,27 @@ paths: topicFilter: topic/+ validation: validators: - - type: schema - arguments: - strategy: ALL_OF - schemas: - - schemaId: schema - version: "1" + - type: schema + arguments: + strategy: ALL_OF + schemas: + - schemaId: schema + version: "1" onSuccess: pipeline: - - id: logOperationSuccess - functionId: System.log - arguments: - level: DEBUG - message: "${clientId} sent a publish on topic '${topic}' with\ + - id: logOperationSuccess + functionId: System.log + arguments: + level: DEBUG + message: "${clientId} sent a publish on topic '${topic}' with\ \ result '${validationResult}'" onFailure: pipeline: - - id: logOperationFailure - functionId: System.log - arguments: - level: WARN - message: "${clientId} sent an invalid publish on topic '${topic}'\ + - id: logOperationFailure + functionId: System.log + arguments: + level: WARN + message: "${clientId} sent an invalid publish on topic '${topic}'\ \ with result '${validationResult}'" schema: $ref: '#/components/schemas/DataPolicy' @@ -1315,27 +1315,27 @@ paths: topicFilter: topic/+ validation: validators: - - type: schema - arguments: - strategy: ALL_OF - schemas: - - schemaId: schema1 - version: "1" + - type: schema + arguments: + strategy: ALL_OF + schemas: + - schemaId: schema1 + version: "1" onSuccess: pipeline: - - id: logOperationSuccess - functionId: System.log - arguments: - level: DEBUG - message: "${clientId} sent a publish on topic '${topic}'\ + - id: logOperationSuccess + functionId: System.log + arguments: + level: DEBUG + message: "${clientId} sent a publish on topic '${topic}'\ \ with result '${validationResult}'" onFailure: pipeline: - - id: logOperationFailure - functionId: System.log - arguments: - level: WARN - message: "${clientId} sent an invalid publish on topic '${topic}'\ + - id: logOperationFailure + functionId: System.log + arguments: + level: WARN + message: "${clientId} sent an invalid publish on topic '${topic}'\ \ with result '${validationResult}'" schema: $ref: '#/components/schemas/DataPolicy' @@ -1349,39 +1349,39 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing policy-id-already-in-use: description: Example response when the policy uses an already existing id. summary: The given policy identifier is already in use value: errors: - - title: Policy id already used - detail: The given policy id 'policy-id' is already in use. + - title: Policy id already used + detail: The given policy id 'policy-id' is already in use. policy-not-parsable: description: Example response when the submitted policy could not be parsed as JSON. summary: The submitted policy can not be parsed value: errors: - - title: Policy not parsable - detail: The submitted policy 'policy' can not be parsed. + - title: Policy not parsable + detail: The submitted policy 'policy' can not be parsed. policy-not-valid: description: "Example response when the policy is invalid, because\ \ a field is missing." summary: The submitted policy is not valid value: errors: - - title: Policy is not valid - detail: Required body entity parameter is missing + - title: Policy is not valid + detail: Required body entity parameter is missing referenced-schema-does-not-exist: description: Example response when a referenced schema was not found. summary: A schema that is referenced in the policy does not exist value: errors: - - title: Referenced schema does not exist - detail: The referenced schema with id 'schema-id' does not exist. + - title: Referenced schema does not exist + detail: The referenced schema with id 'schema-id' does not exist. schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -1396,8 +1396,8 @@ paths: by all cluster nodes value: errors: - - title: Incompatible policy - detail: "The policy with id 'policy' could not be added because\ + - title: Incompatible policy + detail: "The policy with id 'policy' could not be added because\ \ its functions [fn:my-transform.js:1, fn:my-transform.js:2]\ \ require at least HiveMQ version 4.23.0, but not all cluster\ \ nodes have been updated to this version yet. Please try\ @@ -1407,35 +1407,35 @@ paths: summary: Temporarily not available value: errors: - - title: The endpoint is temporarily not available - detail: "The endpoint is temporarily not available, please try\ + - title: The endpoint is temporarily not available + detail: "The endpoint is temporarily not available, please try\ \ again later" version-check-failed: description: Version check failed summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Create a new data policy tags: - - Data Hub - Data Policies + - Data Hub - Data Policies /api/v1/data-hub/data-validation/policies/{policyId}: delete: description: "Deletes an existing data policy. \n\n " operationId: deleteDataPolicy parameters: - - description: The identifier of the data policy to delete. - example: policy1 - in: path - name: policyId - required: true - schema: - type: string + - description: The identifier of the data policy to delete. + example: policy1 + in: path + name: policyId + required: true + schema: + type: string responses: "204": description: "Success, no response body" @@ -1448,8 +1448,8 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -1462,8 +1462,8 @@ paths: summary: Not found value: errors: - - title: Resource not found - detail: Resource with id 'my-resource-id' not found + - title: Resource not found + detail: Resource with id 'my-resource-id' not found schema: $ref: '#/components/schemas/Errors' description: Resource not found @@ -1476,35 +1476,35 @@ paths: summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Delete a data policy tags: - - Data Hub - Data Policies + - Data Hub - Data Policies get: description: "Get a specific data policy. \n\n This endpoint returns the content\ \ of the policy with the content-type `application/json`. \n\n " operationId: getDataPolicy parameters: - - description: The identifier of the policy. - example: policy1 - in: path - name: policyId - required: true - schema: - type: string - - description: "Comma-separated list of fields to include in the response. Allowed\ + - description: The identifier of the policy. + example: policy1 + in: path + name: policyId + required: true + schema: + type: string + - description: "Comma-separated list of fields to include in the response. Allowed\ \ values are: id, createdAt, lastUpdatedAt, matching, validation, onSuccess,\ \ onFailure" - example: "id,createdAt" - in: query - name: fields - schema: - type: string + example: "id,createdAt" + in: query + name: fields + schema: + type: string responses: "200": content: @@ -1521,27 +1521,27 @@ paths: topicFilter: topic/+ validation: validators: - - type: schema - arguments: - strategy: ALL_OF - schemas: - - schemaId: schema1 - version: "1" + - type: schema + arguments: + strategy: ALL_OF + schemas: + - schemaId: schema1 + version: "1" onSuccess: pipeline: - - id: logOperationSuccess - functionId: System.log - arguments: - level: DEBUG - message: "${clientId} sent a publish on topic '${topic}'\ + - id: logOperationSuccess + functionId: System.log + arguments: + level: DEBUG + message: "${clientId} sent a publish on topic '${topic}'\ \ with result '${validationResult}'" onFailure: pipeline: - - id: logOperationFailure - functionId: System.log - arguments: - level: WARN - message: "${clientId} sent an invalid publish on topic '${topic}'\ + - id: logOperationFailure + functionId: System.log + arguments: + level: WARN + message: "${clientId} sent an invalid publish on topic '${topic}'\ \ with result '${validationResult}'" schema: $ref: '#/components/schemas/DataPolicy' @@ -1555,8 +1555,8 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -1569,27 +1569,27 @@ paths: summary: Not found value: errors: - - title: Resource not found - detail: Resource with id 'my-resource-id' not found + - title: Resource not found + detail: Resource with id 'my-resource-id' not found schema: $ref: '#/components/schemas/Errors' description: Resource not found summary: Get a data policy tags: - - Data Hub - Data Policies + - Data Hub - Data Policies put: description: "Update a data policy\n\nThe path parameter 'policyId' must match\ \ the 'id' of the policy in the request body.\n The matching part of policies\ \ cannot be changed with an update.\n " operationId: updateDataPolicy parameters: - - description: The identifier of the policy. - example: policy1 - in: path - name: policyId - required: true - schema: - type: string + - description: The identifier of the policy. + example: policy1 + in: path + name: policyId + required: true + schema: + type: string requestBody: content: application/json: @@ -1599,27 +1599,27 @@ paths: topicFilter: topic/+ validation: validators: - - type: schema - arguments: - strategy: ALL_OF - schemas: - - schemaId: schema - version: "1" + - type: schema + arguments: + strategy: ALL_OF + schemas: + - schemaId: schema + version: "1" onSuccess: pipeline: - - id: logOperationSuccess - functionId: System.log - arguments: - level: DEBUG - message: "${clientId} sent a publish on topic '${topic}' with\ + - id: logOperationSuccess + functionId: System.log + arguments: + level: DEBUG + message: "${clientId} sent a publish on topic '${topic}' with\ \ result '${validationResult}'" onFailure: pipeline: - - id: logOperationFailure - functionId: System.log - arguments: - level: WARN - message: "${clientId} sent an invalid publish on topic '${topic}'\ + - id: logOperationFailure + functionId: System.log + arguments: + level: WARN + message: "${clientId} sent an invalid publish on topic '${topic}'\ \ with result '${validationResult}'" schema: $ref: '#/components/schemas/DataPolicy' @@ -1641,27 +1641,27 @@ paths: topicFilter: topic/+ validation: validators: - - type: schema - arguments: - strategy: ALL_OF - schemas: - - schemaId: schema1 - version: "1" + - type: schema + arguments: + strategy: ALL_OF + schemas: + - schemaId: schema1 + version: "1" onSuccess: pipeline: - - id: logOperationSuccess - functionId: System.log - arguments: - level: DEBUG - message: "${clientId} sent a publish on topic '${topic}'\ + - id: logOperationSuccess + functionId: System.log + arguments: + level: DEBUG + message: "${clientId} sent a publish on topic '${topic}'\ \ with result '${validationResult}'" onFailure: pipeline: - - id: logOperationFailure - functionId: System.log - arguments: - level: WARN - message: "${clientId} sent an invalid publish on topic '${topic}'\ + - id: logOperationFailure + functionId: System.log + arguments: + level: WARN + message: "${clientId} sent an invalid publish on topic '${topic}'\ \ with result '${validationResult}'" schema: $ref: '#/components/schemas/DataPolicy' @@ -1675,40 +1675,40 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing policy-not-parsable: description: Example response when the submitted policy could not be parsed as JSON. summary: The submitted policy can not be parsed value: errors: - - title: Policy not parsable - detail: The submitted policy 'policy' can not be parsed. + - title: Policy not parsable + detail: The submitted policy 'policy' can not be parsed. policy-not-valid: description: "Example response when the policy is invalid, because\ \ a field is missing." summary: The submitted policy is not valid value: errors: - - title: Policy is not valid - detail: Required body entity parameter is missing + - title: Policy is not valid + detail: Required body entity parameter is missing policy-topic-filter-not-matching: description: Example response when the given topic filter does not match the present one. summary: The policy topic filter does not match value: errors: - - title: Topic filter does not match - detail: The policy with id 'policyId' has a topic filter 'my/topic/filter' - that does not match the topic filter of the current policy. + - title: Topic filter does not match + detail: The policy with id 'policyId' has a topic filter 'my/topic/filter' + that does not match the topic filter of the current policy. referenced-schema-does-not-exist: description: Example response when a referenced schema was not found. summary: A schema that is referenced in the policy does not exist value: errors: - - title: Referenced schema does not exist - detail: The referenced schema with id 'schema-id' does not exist. + - title: Referenced schema does not exist + detail: The referenced schema with id 'schema-id' does not exist. schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -1721,8 +1721,8 @@ paths: summary: Not found value: errors: - - title: Referenced policy not found - detail: The referenced policy with id 'policyId' was not found. + - title: Referenced policy not found + detail: The referenced policy with id 'policyId' was not found. schema: $ref: '#/components/schemas/Errors' description: Policy not found @@ -1735,8 +1735,8 @@ paths: summary: Etag not matching value: errors: - - title: Precondition Failed - detail: Policy does not match the given etag '123456789'. + - title: Precondition Failed + detail: Policy does not match the given etag '123456789'. schema: $ref: '#/components/schemas/Errors' description: Precondition failed @@ -1751,8 +1751,8 @@ paths: by all cluster nodes value: errors: - - title: Incompatible policy - detail: "The policy with id 'policy' could not be added because\ + - title: Incompatible policy + detail: "The policy with id 'policy' could not be added because\ \ its functions [fn:my-transform.js:1, fn:my-transform.js:2]\ \ require at least HiveMQ version 4.23.0, but not all cluster\ \ nodes have been updated to this version yet. Please try\ @@ -1762,15 +1762,15 @@ paths: summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Update an existing data policy tags: - - Data Hub - Data Policies + - Data Hub - Data Policies /api/v1/data-hub/fsm: get: description: This endpoints provides the means to get information on the available @@ -1788,73 +1788,73 @@ paths: value: type: object required: - - model + - model properties: model: title: Behavior Model default: Mqtt.events enum: - - Publish.quota - - Mqtt.events - - Publish.duplicate + - Publish.quota + - Mqtt.events + - Publish.duplicate allOf: - - if: - type: object - properties: - model: - const: Publish.quota - then: - type: object - properties: - arguments: - title: Publish.quota options - description: "When you configure a publish-quota model,\ + - if: + type: object + properties: + model: + const: Publish.quota + then: + type: object + properties: + arguments: + title: Publish.quota options + description: "When you configure a publish-quota model,\ \ at least one of the available arguments must be present.\ \ Data Hub uses the default value for the missing parameter.\\\ nThe default value for minimum is 0. The default value\ \ for maxPublishes is UNLIMITED." - type: object - required: - - minPublishes - properties: - minPublishes: - type: number - title: minPublishes - description: Defines the minimal number of published - messages that must be reached - maxPublishes: - type: number - title: maxPublishes - description: Defines the maximum number of published - messages that must be reached - - if: - type: object - properties: - model: - const: Mqtt.events - then: - type: object - properties: - arguments: - title: Mqtt.events - description: This FSM does not require any arguments. - type: object - required: [] - properties: {} - - if: - type: object - properties: - model: - const: Publish.duplicate - then: - type: object - properties: - arguments: - title: Publish.duplicate options - description: This FSM does not require any arguments. - type: object - required: [] - properties: {} + type: object + required: + - minPublishes + properties: + minPublishes: + type: number + title: minPublishes + description: Defines the minimal number of published + messages that must be reached + maxPublishes: + type: number + title: maxPublishes + description: Defines the maximum number of published + messages that must be reached + - if: + type: object + properties: + model: + const: Mqtt.events + then: + type: object + properties: + arguments: + title: Mqtt.events + description: This FSM does not require any arguments. + type: object + required: [] + properties: {} + - if: + type: object + properties: + model: + const: Publish.duplicate + then: + type: object + properties: + arguments: + title: Publish.duplicate options + description: This FSM does not require any arguments. + type: object + required: [] + properties: {} schema: $ref: '#/components/schemas/JsonNode' description: Success @@ -1867,14 +1867,14 @@ paths: summary: Not found value: errors: - - title: Resource not found - detail: Resource with id 'my-resource-id' not found + - title: Resource not found + detail: Resource with id 'my-resource-id' not found schema: $ref: '#/components/schemas/Errors' description: Resource not found summary: Get all FSMs as a JSON Schema tags: - - Data Hub - FSM + - Data Hub - FSM /api/v1/data-hub/functions: get: description: This endpoints provides the means to get information on the available @@ -1891,157 +1891,157 @@ paths: summary: Get Functions value: anyOf: - - title: Mqtt.UserProperties.add - description: Adds a user property to the MQTT message. - type: object - required: - - name - - value - metaData: - isTerminal: false - isDataOnly: false - hasArguments: true - properties: - name: - type: string - title: name - description: Specifies the name of the user property. Multiple - user properties with the same name are allowed. - value: - type: string - title: value - description: Specifies the value of the user property. - - title: Delivery.redirectTo - description: Redirects an MQTT PUBLISH message to a specified - topic - type: object - required: - - topic - metaData: - isTerminal: true - isDataOnly: true - hasArguments: true - properties: - topic: - type: string - title: topic - description: The destination MQTT topic according to MQTT - specification - applyPolicies: - type: string - title: applyPolicies - description: Defines whether policies are executed after - publishing to a different topic. - - title: Mqtt.drop - description: Drops the MQTT packet that is currently processed - type: object - required: [] - metaData: - isTerminal: false - isDataOnly: false - hasArguments: true - properties: - reasonString: - type: string - title: reasonString - description: Specifies the reason string that is responded - to MQTT5 clients. - - title: System.log - description: Logs a message on the given level - type: object - required: - - level - - message - metaData: - isTerminal: false - isDataOnly: false - hasArguments: true - properties: - level: - type: string - title: Log Level - description: Specifies the log level of the function in - the hivemq.log file - message: - type: string - title: Message - description: "Adds a user-defined string that prints to\ + - title: Mqtt.UserProperties.add + description: Adds a user property to the MQTT message. + type: object + required: + - name + - value + metaData: + isTerminal: false + isDataOnly: false + hasArguments: true + properties: + name: + type: string + title: name + description: Specifies the name of the user property. Multiple + user properties with the same name are allowed. + value: + type: string + title: value + description: Specifies the value of the user property. + - title: Delivery.redirectTo + description: Redirects an MQTT PUBLISH message to a specified + topic + type: object + required: + - topic + metaData: + isTerminal: true + isDataOnly: true + hasArguments: true + properties: + topic: + type: string + title: topic + description: The destination MQTT topic according to MQTT + specification + applyPolicies: + type: string + title: applyPolicies + description: Defines whether policies are executed after + publishing to a different topic. + - title: Mqtt.drop + description: Drops the MQTT packet that is currently processed + type: object + required: [] + metaData: + isTerminal: false + isDataOnly: false + hasArguments: true + properties: + reasonString: + type: string + title: reasonString + description: Specifies the reason string that is responded + to MQTT5 clients. + - title: System.log + description: Logs a message on the given level + type: object + required: + - level + - message + metaData: + isTerminal: false + isDataOnly: false + hasArguments: true + properties: + level: + type: string + title: Log Level + description: Specifies the log level of the function in + the hivemq.log file + message: + type: string + title: Message + description: "Adds a user-defined string that prints to\ \ the log file. For more information, see Example log\ \ message" - - title: Mqtt.disconnect - description: Disconnects the client - type: object - required: [] - metaData: - isTerminal: true - isDataOnly: false - hasArguments: false - properties: {} - - title: Serdes.deserialize - description: Deserializes a binary MQTT message payload into - a data object based on the configured JSON Schema or Protobuf - schema. - type: object - required: - - schemaId - - schemaVersion - metaData: - isTerminal: false - isDataOnly: false - hasArguments: true - properties: - schemaId: - type: string - title: schemaId - description: The identifier of the JSON Schema to be used - for deserialization. - schemaVersion: - type: string - title: schemaVersion - description: The version of the schema to be used for deserialization. - - title: Metrics.Counter.increment - description: "Increments a metric of type counter, which can\ + - title: Mqtt.disconnect + description: Disconnects the client + type: object + required: [] + metaData: + isTerminal: true + isDataOnly: false + hasArguments: false + properties: {} + - title: Serdes.deserialize + description: Deserializes a binary MQTT message payload into + a data object based on the configured JSON Schema or Protobuf + schema. + type: object + required: + - schemaId + - schemaVersion + metaData: + isTerminal: false + isDataOnly: false + hasArguments: true + properties: + schemaId: + type: string + title: schemaId + description: The identifier of the JSON Schema to be used + for deserialization. + schemaVersion: + type: string + title: schemaVersion + description: The version of the schema to be used for deserialization. + - title: Metrics.Counter.increment + description: "Increments a metric of type counter, which can\ \ be accessed with monitoring" - type: object - required: - - metricName - - incrementBy - metaData: - isTerminal: false - isDataOnly: false - hasArguments: true - properties: - metricName: - type: string - title: metricName - description: Specifies the name of the metric to be incremented. - incrementBy: - type: string - title: incrementBy - description: Specifies the amount by which the counter should - be incremented. Negative values are supported. - - title: Serdes.serialize - description: Serializes a data object into a binary MQTT message - payload based on the configured JSON Schema (PROTOBUF currently - not supported). - type: object - required: - - schemaId - - schemaVersion - metaData: - isTerminal: false - isDataOnly: true - hasArguments: true - properties: - schemaId: - type: string - title: schemaId - description: The identifier of the JSON Schema to be used - for serialization - schemaVersion: - type: string - title: schemaVersion - description: The version of the schema to be used for serialization. + type: object + required: + - metricName + - incrementBy + metaData: + isTerminal: false + isDataOnly: false + hasArguments: true + properties: + metricName: + type: string + title: metricName + description: Specifies the name of the metric to be incremented. + incrementBy: + type: string + title: incrementBy + description: Specifies the amount by which the counter should + be incremented. Negative values are supported. + - title: Serdes.serialize + description: Serializes a data object into a binary MQTT message + payload based on the configured JSON Schema (PROTOBUF currently + not supported). + type: object + required: + - schemaId + - schemaVersion + metaData: + isTerminal: false + isDataOnly: true + hasArguments: true + properties: + schemaId: + type: string + title: schemaId + description: The identifier of the JSON Schema to be used + for serialization + schemaVersion: + type: string + title: schemaVersion + description: The version of the schema to be used for serialization. schema: $ref: '#/components/schemas/JsonNode' description: Success @@ -2054,55 +2054,55 @@ paths: summary: Not found value: errors: - - title: Resource not found - detail: Resource with id 'my-resource-id' not found + - title: Resource not found + detail: Resource with id 'my-resource-id' not found schema: $ref: '#/components/schemas/Errors' description: Resource not found summary: Get all functions as a JSON Schema tags: - - Data Hub - Functions + - Data Hub - Functions /api/v1/data-hub/schemas: get: description: "Get all schemas. \n\n This endpoint returns the content of the\ \ schemas with the content-type `application/json`. \n\n " operationId: getAllSchemas parameters: - - description: "Comma-separated list of fields to include in the response. Allowed\ + - description: "Comma-separated list of fields to include in the response. Allowed\ \ values are: id, type, schemaDefinition, createdAt" - example: "id,createdAt" - in: query - name: fields - schema: - type: string - - description: Comma-separated list of schema types used for filtering. Multiple - filters can be applied together. - example: "JSON,PROTOBUF" - in: query - name: types - schema: - type: string - - description: Comma-separated list of schema ids used for filtering. Multiple - filters can be applied together. - example: "schema1,schema2" - in: query - name: schemaIds - schema: - type: string - - description: Specifies the page size for the returned results. Has to be between - 10 and 500. Default page size is 50. - example: 100 - in: query - name: limit - schema: - type: integer - format: int32 - - description: The cursor that has been returned by the previous result page. - Do not pass this parameter if you want to fetch the first page. - in: query - name: cursor - schema: - type: string + example: "id,createdAt" + in: query + name: fields + schema: + type: string + - description: Comma-separated list of schema types used for filtering. Multiple + filters can be applied together. + example: "JSON,PROTOBUF" + in: query + name: types + schema: + type: string + - description: Comma-separated list of schema ids used for filtering. Multiple + filters can be applied together. + example: "schema1,schema2" + in: query + name: schemaIds + schema: + type: string + - description: Specifies the page size for the returned results. Has to be between + 10 and 500. Default page size is 50. + example: 100 + in: query + name: limit + schema: + type: integer + format: int32 + - description: The cursor that has been returned by the previous result page. + Do not pass this parameter if you want to fetch the first page. + in: query + name: cursor + schema: + type: string responses: "200": content: @@ -2114,42 +2114,42 @@ paths: summary: "Multiple results, last page" value: items: - - id: schema1 - version: 1 - type: JSON - schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= - createdAt: 2023-03-01T13:28:35.164Z - - id: schema2 - version: 1 - type: JSON - schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= - createdAt: 2023-03-01T13:38:35.164Z - - id: schema3 - version: 1 - type: JSON - schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= - createdAt: 2023-03-01T13:48:35.164Z + - id: schema1 + version: 1 + type: JSON + schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= + createdAt: 2023-03-01T13:28:35.164Z + - id: schema2 + version: 1 + type: JSON + schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= + createdAt: 2023-03-01T13:38:35.164Z + - id: schema3 + version: 1 + type: JSON + schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= + createdAt: 2023-03-01T13:48:35.164Z list-response-b: description: Example response with multiple schemas. More pages left summary: "Multiple results, more pages left" value: items: - - id: schema1 - version: 1 - type: JSON - schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= - createdAt: 2023-03-01T13:28:35.164Z - - id: schema2 - version: 1 - type: JSON - schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= - createdAt: 2023-03-01T13:38:35.164Z - - id: schema3 - version: 1 - type: JSON - schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= - createdAt: 2023-03-01T13:48:35.164Z + - id: schema1 + version: 1 + type: JSON + schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= + createdAt: 2023-03-01T13:28:35.164Z + - id: schema2 + version: 1 + type: JSON + schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= + createdAt: 2023-03-01T13:38:35.164Z + - id: schema3 + version: 1 + type: JSON + schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= + createdAt: 2023-03-01T13:48:35.164Z _links: next: /api/v1/data-hub/schemas?cursor=a-eqj-GE9B5DkV-nhwVBk-nTL807ty&limit=3 list-response-c: @@ -2158,9 +2158,9 @@ paths: summary: "Multiple results, requested 'id' field" value: items: - - id: schema1 - - id: schema2 - - id: schema3 + - id: schema1 + - id: schema2 + - id: schema3 _links: next: /api/v1/data-hub/schemas?cursor=a-eqj-GE9B5DkV-nhwVBk-nTL807ty&limit=3&fields=id list-response-d: @@ -2168,32 +2168,32 @@ paths: summary: Single Result value: items: - - id: schema1 - version: 1 - type: JSON - schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= - createdAt: 2023-03-01T13:28:35.164Z + - id: schema1 + version: 1 + type: JSON + schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= + createdAt: 2023-03-01T13:28:35.164Z list-response-e: description: Example response with all versions of specific schema id. summary: "List versions of one schema, last page" value: items: - - id: schema1 - version: 1 - type: JSON - schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= - createdAt: 2023-03-01T13:28:35.164Z - - id: schema1 - version: 2 - type: JSON - schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= - createdAt: 2023-03-01T13:38:35.164Z - - id: schema1 - version: 3 - type: JSON - schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= - createdAt: 2023-03-01T13:48:35.164Z + - id: schema1 + version: 1 + type: JSON + schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= + createdAt: 2023-03-01T13:28:35.164Z + - id: schema1 + version: 2 + type: JSON + schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= + createdAt: 2023-03-01T13:38:35.164Z + - id: schema1 + version: 3 + type: JSON + schemaDefinition: ewogICIkaWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hZGRyZXNzLmpzb24iLAogICIkc2NoZW1hIjogImh0dHA6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQtMDcvc2NoZW1hIiwKICAidHlwZSI6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIjogewogICAgInN0cmVldF9hZGRyZXNzIjogeyAidHlwZSI6ICJzdHJpbmciIH0sCiAgICAiY2l0eSI6IHsgInR5cGUiOiAic3RyaW5nIiB9LAogICAgInN0YXRlIjogeyAidHlwZSI6ICJzdHJpbmciIH0KICB9LAogICJyZXF1aXJlZCI6IFsic3RyZWV0X2FkZHJlc3MiLCAiY2l0eSIsICJzdGF0ZSJdCn0= + createdAt: 2023-03-01T13:48:35.164Z schema: $ref: '#/components/schemas/SchemaList' description: Success @@ -2206,15 +2206,15 @@ paths: summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Get all schemas tags: - - Data Hub - Schemas + - Data Hub - Schemas post: description: |+ Creates a schema @@ -2257,32 +2257,32 @@ paths: summary: The given schema is already present as latest version value: errors: - - title: Schema already present - detail: The given schema is already present as the latest version - for the schema id 'schemaId'. + - title: Schema already present + detail: The given schema is already present as the latest version + for the schema id 'schemaId'. param-missing: description: Example response when a required parameter is missing. summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing schema-not-parsable: description: Example response when the submitted schema could not be parsed as JSON. summary: The submitted schema can not be parsed value: errors: - - title: Schema not parsable - detail: The submitted schema 'schema' can not be parsed. + - title: Schema not parsable + detail: The submitted schema 'schema' can not be parsed. schema-type-not-supported: description: Example response when the specified schema type is not supported. summary: The submitted schema type is not supported value: errors: - - title: Schema type not supported - detail: The submitted schema type 'schema-type' is not supported + - title: Schema type not supported + detail: The submitted schema type 'schema-type' is not supported schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -2295,36 +2295,36 @@ paths: summary: Temporarily not available value: errors: - - title: The endpoint is temporarily not available - detail: "The endpoint is temporarily not available, please try\ + - title: The endpoint is temporarily not available + detail: "The endpoint is temporarily not available, please try\ \ again later" version-check-failed: description: Version check failed summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Create a new schema tags: - - Data Hub - Schemas + - Data Hub - Schemas /api/v1/data-hub/schemas/{schemaId}: delete: description: "Deletes the selected schema and all associated versions of the\ \ schema. \n\n " operationId: deleteSchema parameters: - - description: The schema identifier of the schema versions to delete. - example: schema1 - in: path - name: schemaId - required: true - schema: - type: string + - description: The schema identifier of the schema versions to delete. + example: schema1 + in: path + name: schemaId + required: true + schema: + type: string responses: "204": description: "Success, no response body" @@ -2337,8 +2337,8 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -2351,8 +2351,8 @@ paths: summary: Not found value: errors: - - title: Resource not found - detail: Resource with id 'my-resource-id' not found + - title: Resource not found + detail: Resource with id 'my-resource-id' not found schema: $ref: '#/components/schemas/Errors' description: Resource not found @@ -2365,35 +2365,35 @@ paths: summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Delete all versions of the schema tags: - - Data Hub - Schemas + - Data Hub - Schemas get: description: "Get a specific schema. \n\n This endpoint returns the content\ \ of the latest version of the schema with the content-type `application/json`.\ \ \n\n " operationId: getSchema parameters: - - description: The identifier of the schema. - example: schema1 - in: path - name: schemaId - required: true - schema: - type: string - - description: "Comma-separated list of fields to include in the response. Allowed\ + - description: The identifier of the schema. + example: schema1 + in: path + name: schemaId + required: true + schema: + type: string + - description: "Comma-separated list of fields to include in the response. Allowed\ \ values are: id, type, schemaDefinition, createdAt" - example: "id,type" - in: query - name: fields - schema: - type: string + example: "id,type" + in: query + name: fields + schema: + type: string responses: "200": content: @@ -2420,8 +2420,8 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -2434,54 +2434,54 @@ paths: summary: Not found value: errors: - - title: Resource not found - detail: Resource with id 'my-resource-id' not found + - title: Resource not found + detail: Resource with id 'my-resource-id' not found schema: $ref: '#/components/schemas/Errors' description: Resource not found summary: Get a schema tags: - - Data Hub - Schemas + - Data Hub - Schemas /api/v1/data-hub/scripts: get: description: Get all scripts. operationId: getAllScripts parameters: - - description: "Comma-separated list of fields to include in the response. Allowed\ + - description: "Comma-separated list of fields to include in the response. Allowed\ \ values are: id, version, description, runtime, functionType, createdAt" - example: "id,createdAt,source" - in: query - name: fields - schema: - type: string - - description: Comma-separated list of function types used for filtering. Multiple - filters can be applied together. - example: TRANSFORMATION - in: query - name: functionTypes - schema: - type: string - - description: Comma-separated list of script ids used for filtering. Multiple - filters can be applied together. - example: "script1,script2" - in: query - name: scriptIds - schema: - type: string - - description: Specifies the page size for the returned results. Has to be between - 10 and 500. Default page size is 50. - example: 100 - in: query - name: limit - schema: - type: integer - format: int32 - - description: The cursor that has been returned by the previous result page. - Do not pass this parameter if you want to fetch the first page. - in: query - name: cursor - schema: - type: string + example: "id,createdAt,source" + in: query + name: fields + schema: + type: string + - description: Comma-separated list of function types used for filtering. Multiple + filters can be applied together. + example: TRANSFORMATION + in: query + name: functionTypes + schema: + type: string + - description: Comma-separated list of script ids used for filtering. Multiple + filters can be applied together. + example: "script1,script2" + in: query + name: scriptIds + schema: + type: string + - description: Specifies the page size for the returned results. Has to be between + 10 and 500. Default page size is 50. + example: 100 + in: query + name: limit + schema: + type: integer + format: int32 + - description: The cursor that has been returned by the previous result page. + Do not pass this parameter if you want to fetch the first page. + in: query + name: cursor + schema: + type: string responses: "200": content: @@ -2492,30 +2492,30 @@ paths: summary: Single Result value: items: - - id: my-transform.js - version: 1 - createdAt: 2023-11-21T13:08:09.898Z - description: This script prefixes topics with 'transformed/' - functionType: TRANSFORMATION - source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsKICAgcHVibGlzaC50b3BpYyA9ICJ0cmFuc2Zvcm1lZC8iICsgcHVibGlzaC50b3BpYzsKICAgcmV0dXJuIHB1Ymxpc2g7Cn0= + - id: my-transform.js + version: 1 + createdAt: 2023-11-21T13:08:09.898Z + description: This script prefixes topics with 'transformed/' + functionType: TRANSFORMATION + source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsKICAgcHVibGlzaC50b3BpYyA9ICJ0cmFuc2Zvcm1lZC8iICsgcHVibGlzaC50b3BpYzsKICAgcmV0dXJuIHB1Ymxpc2g7Cn0= list-response-b: description: Example response with multiple sripts. More pages left summary: "Multiple results, more pages left" value: items: - - id: my-transform.js - version: 1 - createdAt: 2023-11-21T13:08:09.898Z - description: This script prefixes topics with 'transformed/' - functionType: TRANSFORMATION - source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsKICAgcHVibGlzaC50b3BpYyA9ICJ0cmFuc2Zvcm1lZC8iICsgcHVibGlzaC50b3BpYzsKICAgcmV0dXJuIHB1Ymxpc2g7Cn0= - - id: my-transform-new.js - version: 1 - createdAt: 2023-11-21T13:17:53.085Z - description: "This script adds the user property ('foo', 'bar')\ + - id: my-transform.js + version: 1 + createdAt: 2023-11-21T13:08:09.898Z + description: This script prefixes topics with 'transformed/' + functionType: TRANSFORMATION + source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsKICAgcHVibGlzaC50b3BpYyA9ICJ0cmFuc2Zvcm1lZC8iICsgcHVibGlzaC50b3BpYzsKICAgcmV0dXJuIHB1Ymxpc2g7Cn0= + - id: my-transform-new.js + version: 1 + createdAt: 2023-11-21T13:17:53.085Z + description: "This script adds the user property ('foo', 'bar')\ \ to a publish" - functionType: TRANSFORMATION - source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsgcHVibGlzaC51c2VyUHJvcGVydGllcy5wdXNoKHtuYW1lOiAnZm9vJywgdmFsdWU6ICdiYXInfSk7IHJldHVybiBwdWJsaXNoOyB9 + functionType: TRANSFORMATION + source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsgcHVibGlzaC51c2VyUHJvcGVydGllcy5wdXNoKHtuYW1lOiAnZm9vJywgdmFsdWU6ICdiYXInfSk7IHJldHVybiBwdWJsaXNoOyB9 _links: next: /api/v1/data-hub/scripts?cursor=a-WfW-QB4L4Q==&limit=3 list-response-c: @@ -2524,9 +2524,9 @@ paths: summary: "Multiple results, requested 'id' field" value: items: - - id: script1 - - id: script2 - - id: script3 + - id: script1 + - id: script2 + - id: script3 _links: next: /api/v1/data-hub/scripts?cursor=a-eqj-GE9B5DkV-nhwVBk-nTL807ty&limit=3&fields=id list-response-e: @@ -2535,36 +2535,36 @@ paths: summary: "List versions of one script, last page" value: items: - - id: my-transform.js - version: 1 - createdAt: 2023-11-21T13:08:09.898Z - description: This script prefixes topics with 'transformed/' - functionType: TRANSFORMATION - source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsKICAgcHVibGlzaC50b3BpYyA9ICJ0cmFuc2Zvcm1lZC8iICsgcHVibGlzaC50b3BpYzsKICAgcmV0dXJuIHB1Ymxpc2g7Cn0= - - id: my-transform.js - version: 2 - createdAt: 2023-11-21T13:17:53.085Z - description: This script prefixes topics with 'transformed/' - functionType: TRANSFORMATION - source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsgcHVibGlzaC51c2VyUHJvcGVydGllcy5wdXNoKHtuYW1lOiAnZm9vJywgdmFsdWU6ICdiYXInfSk7IHJldHVybiBwdWJsaXNoOyB9 + - id: my-transform.js + version: 1 + createdAt: 2023-11-21T13:08:09.898Z + description: This script prefixes topics with 'transformed/' + functionType: TRANSFORMATION + source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsKICAgcHVibGlzaC50b3BpYyA9ICJ0cmFuc2Zvcm1lZC8iICsgcHVibGlzaC50b3BpYzsKICAgcmV0dXJuIHB1Ymxpc2g7Cn0= + - id: my-transform.js + version: 2 + createdAt: 2023-11-21T13:17:53.085Z + description: This script prefixes topics with 'transformed/' + functionType: TRANSFORMATION + source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsgcHVibGlzaC51c2VyUHJvcGVydGllcy5wdXNoKHtuYW1lOiAnZm9vJywgdmFsdWU6ICdiYXInfSk7IHJldHVybiBwdWJsaXNoOyB9 list-response-many: description: Example response with multiple scripts summary: Multiple results value: items: - - id: my-transform.js - version: 1 - createdAt: 2023-11-21T13:08:09.898Z - description: This script prefixes topics with 'transformed/' - functionType: TRANSFORMATION - source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsKICAgcHVibGlzaC50b3BpYyA9ICJ0cmFuc2Zvcm1lZC8iICsgcHVibGlzaC50b3BpYzsKICAgcmV0dXJuIHB1Ymxpc2g7Cn0= - - id: my-transform-new.js - version: 1 - createdAt: 2023-11-21T13:17:53.085Z - description: "This script adds the user property ('foo', 'bar')\ + - id: my-transform.js + version: 1 + createdAt: 2023-11-21T13:08:09.898Z + description: This script prefixes topics with 'transformed/' + functionType: TRANSFORMATION + source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsKICAgcHVibGlzaC50b3BpYyA9ICJ0cmFuc2Zvcm1lZC8iICsgcHVibGlzaC50b3BpYzsKICAgcmV0dXJuIHB1Ymxpc2g7Cn0= + - id: my-transform-new.js + version: 1 + createdAt: 2023-11-21T13:17:53.085Z + description: "This script adds the user property ('foo', 'bar')\ \ to a publish" - functionType: TRANSFORMATION - source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsgcHVibGlzaC51c2VyUHJvcGVydGllcy5wdXNoKHtuYW1lOiAnZm9vJywgdmFsdWU6ICdiYXInfSk7IHJldHVybiBwdWJsaXNoOyB9 + functionType: TRANSFORMATION + source: ZnVuY3Rpb24gdHJhbnNmb3JtKHB1Ymxpc2gsIGNvbnRleHQpIHsgcHVibGlzaC51c2VyUHJvcGVydGllcy5wdXNoKHtuYW1lOiAnZm9vJywgdmFsdWU6ICdiYXInfSk7IHJldHVybiBwdWJsaXNoOyB9 schema: $ref: '#/components/schemas/ScriptList' description: Success @@ -2577,15 +2577,15 @@ paths: summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Get all scripts tags: - - Data Hub - Scripts + - Data Hub - Scripts post: description: Creates a script operationId: createScript @@ -2628,16 +2628,16 @@ paths: summary: Unable to parse JSON body value: errors: - - title: Invalid input - detail: Unable to parse JSON body + - title: Invalid input + detail: Unable to parse JSON body script-already-present: description: Example response when the script is already present. summary: The given script is identical to the latest version value: errors: - - title: Script already present - detail: The given script is identical to the latest version - of the script with id 'scriptId'. + - title: Script already present + detail: The given script is identical to the latest version + of the script with id 'scriptId'. schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -2650,27 +2650,27 @@ paths: summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Create a new script tags: - - Data Hub - Scripts + - Data Hub - Scripts /api/v1/data-hub/scripts/{scriptId}: delete: description: Deletes the selected script. operationId: deleteScript parameters: - - description: The script identifier of the script to delete. - example: hello_world_function - in: path - name: scriptId - required: true - schema: - type: string + - description: The script identifier of the script to delete. + example: hello_world_function + in: path + name: scriptId + required: true + schema: + type: string responses: "204": description: "Success, no response body" @@ -2696,8 +2696,8 @@ paths: summary: Not found value: errors: - - title: Resource not found - detail: Resource with id 'my-resource-id' not found + - title: Resource not found + detail: Resource with id 'my-resource-id' not found schema: $ref: '#/components/schemas/Errors' description: Resource not found @@ -2710,33 +2710,33 @@ paths: summary: Version check failed value: errors: - - title: Endpoint not active yet - detail: "Not all cluster nodes support this endpoint yet, please\ + - title: Endpoint not active yet + detail: "Not all cluster nodes support this endpoint yet, please\ \ try again later" schema: $ref: '#/components/schemas/Errors' description: Not all cluster nodes at minimum version summary: Delete a script tags: - - Data Hub - Scripts + - Data Hub - Scripts get: description: Get a specific script. operationId: getScript parameters: - - description: The identifier of the script. - example: hello_world_function - in: path - name: scriptId - required: true - schema: - type: string - - description: "Comma-separated list of fields to include in the response. Allowed\ + - description: The identifier of the script. + example: hello_world_function + in: path + name: scriptId + required: true + schema: + type: string + - description: "Comma-separated list of fields to include in the response. Allowed\ \ values are: id, version, description, runtime, functionType, createdAt" - example: "id,createdAt,source" - in: query - name: fields - schema: - type: string + example: "id,createdAt,source" + in: query + name: fields + schema: + type: string responses: "200": content: @@ -2764,8 +2764,8 @@ paths: summary: Required URL parameter missing value: errors: - - title: Required parameter missing - detail: Required URL parameter 'parameterName' is missing + - title: Required parameter missing + detail: Required URL parameter 'parameterName' is missing schema: $ref: '#/components/schemas/Errors' description: Bad request @@ -2778,14 +2778,14 @@ paths: summary: Not found value: errors: - - title: Resource not found - detail: Resource with id 'my-resource-id' not found + - title: Resource not found + detail: Resource with id 'my-resource-id' not found schema: $ref: '#/components/schemas/Errors' description: Resource not found summary: Get a script tags: - - Data Hub - Scripts + - Data Hub - Scripts /api/v1/frontend/capabilities: get: description: Obtain gateway capabilities. @@ -2813,7 +2813,7 @@ paths: description: Success summary: Obtain Capabilities of the HiveMQ Edge Installation tags: - - Frontend + - Frontend /api/v1/frontend/configuration: get: description: Obtain configuration. @@ -2870,67 +2870,67 @@ paths: \ ipsum dolor sit amet." ctas: items: - - displayText: Connect My First Device - url: ./protocol-adapters?from=dashboard-cta - description: "Lorem ipsum dolor sit amet, consetetur sadipscing\ + - displayText: Connect My First Device + url: ./protocol-adapters?from=dashboard-cta + description: "Lorem ipsum dolor sit amet, consetetur sadipscing\ \ elitr, sed diam nonumy eirmod tempor invidunt ut labore\ \ et dolore magna aliquyam erat, sed diam voluptua. At vero\ \ eos et accusam et justo duo dolores et ea rebum. Stet\ \ clita kasd gubergren," - external: false - - displayText: Connect To My MQTT Broker - url: ./bridges?from=dashboard-cta - description: "Lorem ipsum dolor sit amet, consetetur sadipscing\ + external: false + - displayText: Connect To My MQTT Broker + url: ./bridges?from=dashboard-cta + description: "Lorem ipsum dolor sit amet, consetetur sadipscing\ \ elitr, sed diam nonumy eirmod tempor invidunt ut labore\ \ et dolore magna aliquyam erat, sed diam voluptua. At vero\ \ eos et accusam et justo duo dolores et ea rebum. Stet\ \ clita kasd gubergren," - external: false - - displayText: Learn More - url: resources?from=dashboard-cta - description: "Lorem ipsum dolor sit amet, consetetur sadipscing\ + external: false + - displayText: Learn More + url: resources?from=dashboard-cta + description: "Lorem ipsum dolor sit amet, consetetur sadipscing\ \ elitr, sed diam nonumy eirmod tempor invidunt ut labore\ \ et dolore magna aliquyam erat, sed diam voluptua. At vero\ \ eos et accusam et justo duo dolores et ea rebum. Stet\ \ clita kasd gubergren," - external: false + external: false resources: items: - - displayText: Power Of Smart Manufacturing - url: https://www.hivemq.com/articles/power-of-iot-data-management-in-smart-manufacturing/ - description: "" - target: "" - imageUrl: "" - external: true - - displayText: Power Of Smart Manufacturing - url: https://www.hivemq.com/articles/power-of-iot-data-management-in-smart-manufacturing/ - description: "" - target: "" - imageUrl: "" - external: true + - displayText: Power Of Smart Manufacturing + url: https://www.hivemq.com/articles/power-of-iot-data-management-in-smart-manufacturing/ + description: "" + target: "" + imageUrl: "" + external: true + - displayText: Power Of Smart Manufacturing + url: https://www.hivemq.com/articles/power-of-iot-data-management-in-smart-manufacturing/ + description: "" + target: "" + imageUrl: "" + external: true modules: items: [] extensions: items: - - id: extension-1 - version: 1.0.0 - name: My First Extension - description: Some extension description here which could span - multiple lines - author: HiveMQ - priority: 0 - - id: hivemq-allow-all-extension - version: 1.0.0 - name: Allow All Extension - author: HiveMQ - priority: 0 - installed: true + - id: extension-1 + version: 1.0.0 + name: My First Extension + description: Some extension description here which could span + multiple lines + author: HiveMQ + priority: 0 + - id: hivemq-allow-all-extension + version: 1.0.0 + name: Allow All Extension + author: HiveMQ + priority: 0 + installed: true schema: $ref: '#/components/schemas/GatewayConfiguration' description: Success summary: Obtain frontend configuration tags: - - Frontend + - Frontend /api/v1/frontend/notifications: get: description: Obtain gateway notifications. @@ -2945,18 +2945,18 @@ paths: summary: Example notifications value: items: - - level: WARNING - title: Default Credentials Need Changing! - description: Your gateway access is configured to use the default - username/password combination. This is a security risk. Please - ensure you modify your access credentials in your configuration.xml - file. + - level: WARNING + title: Default Credentials Need Changing! + description: Your gateway access is configured to use the default + username/password combination. This is a security risk. Please + ensure you modify your access credentials in your configuration.xml + file. schema: $ref: '#/components/schemas/NotificationList' description: Success summary: Obtain Notifications tags: - - Frontend + - Frontend /api/v1/gateway/configuration: get: description: Obtain gateway configuration. @@ -2983,7 +2983,7 @@ paths: description: Error - function not supported summary: Obtain HiveMQ Edge Configuration tags: - - Gateway Endpoint + - Gateway Endpoint /api/v1/gateway/listeners: get: description: Obtain listener. @@ -2998,18 +2998,18 @@ paths: summary: Listener configuration value: items: - - name: tcp-listener-1883 - hostName: localhost - port: 1883 - - name: udp-listener-2442 - hostName: localhost - port: 2442 + - name: tcp-listener-1883 + hostName: localhost + port: 1883 + - name: udp-listener-2442 + hostName: localhost + port: 2442 schema: $ref: '#/components/schemas/ListenerList' description: Success summary: 'Obtain the listeners configured ' tags: - - Gateway Endpoint + - Gateway Endpoint /api/v1/health/liveness: get: description: Endpoint to determine whether the gateway is considered UP. @@ -3058,50 +3058,50 @@ paths: summary: Bridge List result value: items: - - id: cloud - host: REDACTED.cloud - port: 8883 - clientId: cloud - keepAlive: 60 - sessionExpiry: 3600 - cleanStart: false - username: username - password: '*****' - loopPreventionEnabled: true - loopPreventionHopCount: 1 - remoteSubscriptions: [] - localSubscriptions: - - filters: - - '#' - destination: "prefix/{#}/bridge/${bridge.name}" - excludes: [] - customUserProperties: - - key: test1 - value: test2 - preserveRetain: true - maxQoS: 0 - tlsConfiguration: - enabled: true - keystorePassword: "" - privateKeyPassword: "" - truststorePassword: "" - protocols: [] - cipherSuites: [] - keystoreType: JKS - truststoreType: JKS - verifyHostname: true - handshakeTimeout: 10 - bridgeRuntimeInformation: - connectionStatus: - status: CONNECTED - id: cloud - type: bridge + - id: cloud + host: REDACTED.cloud + port: 8883 + clientId: cloud + keepAlive: 60 + sessionExpiry: 3600 + cleanStart: false + username: username + password: '*****' + loopPreventionEnabled: true + loopPreventionHopCount: 1 + remoteSubscriptions: [] + localSubscriptions: + - filters: + - '#' + destination: "prefix/{#}/bridge/${bridge.name}" + excludes: [] + customUserProperties: + - key: test1 + value: test2 + preserveRetain: true + maxQoS: 0 + tlsConfiguration: + enabled: true + keystorePassword: "" + privateKeyPassword: "" + truststorePassword: "" + protocols: [] + cipherSuites: [] + keystoreType: JKS + truststoreType: JKS + verifyHostname: true + handshakeTimeout: 10 + bridgeRuntimeInformation: + connectionStatus: + status: CONNECTED + id: cloud + type: bridge schema: $ref: '#/components/schemas/BridgeList' description: Success summary: List all bridges in the system tags: - - Bridges + - Bridges post: description: Add bridge configured in the system. operationId: addBridge @@ -3117,7 +3117,7 @@ paths: description: Success summary: Add a new Bridge tags: - - Bridges + - Bridges /api/v1/management/bridges/status: get: description: Obtain the details. @@ -3132,42 +3132,42 @@ paths: summary: Example connection status value: items: - - status: CONNECTED - id: cloud - type: bridge + - status: CONNECTED + id: cloud + type: bridge schema: $ref: '#/components/schemas/StatusList' description: The Connection Details Verification Result. summary: Get the status of all the bridges in the system. tags: - - Bridges + - Bridges /api/v1/management/bridges/{bridgeId}: delete: description: Remove bridge configured in the system. operationId: removeBridge parameters: - - description: The id of the bridge to delete. - in: path - name: bridgeId - required: true - schema: - type: string + - description: The id of the bridge to delete. + in: path + name: bridgeId + required: true + schema: + type: string responses: "200": description: Success summary: Remove a Bridge tags: - - Bridges + - Bridges get: description: Get a bridge by ID. operationId: getBridgeByName parameters: - - description: The id of the bridge to query. - in: path - name: bridgeId - required: true - schema: - type: string + - description: The id of the bridge to query. + in: path + name: bridgeId + required: true + schema: + type: string responses: "200": content: @@ -3190,15 +3190,15 @@ paths: loopPreventionHopCount: 1 remoteSubscriptions: [] localSubscriptions: - - filters: - - '#' - destination: "prefix/{#}/bridge/${bridge.name}" - excludes: [] - customUserProperties: - - key: test1 - value: test2 - preserveRetain: true - maxQoS: 0 + - filters: + - '#' + destination: "prefix/{#}/bridge/${bridge.name}" + excludes: [] + customUserProperties: + - key: test1 + value: test2 + preserveRetain: true + maxQoS: 0 tlsConfiguration: enabled: true keystorePassword: "" @@ -3220,17 +3220,17 @@ paths: description: Success summary: Get a bridge by ID tags: - - Bridges + - Bridges put: description: Update bridge configured in the system. operationId: updateBridge parameters: - - description: The bridge to update. - in: path - name: bridgeId - required: true - schema: - type: string + - description: The bridge to update. + in: path + name: bridgeId + required: true + schema: + type: string requestBody: content: application/json: @@ -3241,18 +3241,18 @@ paths: description: Success summary: Update a Bridge tags: - - Bridges + - Bridges /api/v1/management/bridges/{bridgeId}/connection-status: get: description: Get the up to date status of a bridge. operationId: get-bridge-status parameters: - - description: The name of the bridge to query. - in: path - name: bridgeId - required: true - schema: - type: string + - description: The name of the bridge to query. + in: path + name: bridgeId + required: true + schema: + type: string responses: "200": content: @@ -3270,18 +3270,18 @@ paths: description: Success summary: Get the up to date status of a bridge tags: - - Bridges + - Bridges /api/v1/management/bridges/{bridgeId}/status: put: description: Transition the connection status of a bridge. operationId: transition-bridge-status parameters: - - description: The id of the bridge whose runtime-status will change. - in: path - name: bridgeId - required: true - schema: - type: string + - description: The id of the bridge whose runtime-status will change. + in: path + name: bridgeId + required: true + schema: + type: string requestBody: content: application/json: @@ -3305,25 +3305,25 @@ paths: description: Success summary: Transition the runtime status of a bridge tags: - - Bridges + - Bridges /api/v1/management/events: get: description: Get all bridges configured in the system. operationId: getEvents parameters: - - description: Obtain all events since the specified epoch. - in: query - name: limit - schema: - type: integer - format: int32 - default: 100 - - description: Obtain all events since the specified epoch. - in: query - name: since - schema: - type: integer - format: int64 + - description: Obtain all events since the specified epoch. + in: query + name: limit + schema: + type: integer + format: int32 + default: 100 + - description: Obtain all events since the specified epoch. + in: query + name: since + schema: + type: integer + format: int64 responses: "200": content: @@ -3338,7 +3338,7 @@ paths: description: Success summary: List most recent events in the system tags: - - Events + - Events /api/v1/management/protocol-adapters/adapters: get: description: Obtain a list of configured adapters. @@ -3352,57 +3352,57 @@ paths: description: An example adapter list. value: items: - - id: test-simulation-server - type: simulation - config: + - id: test-simulation-server + type: simulation + config: + id: test-simulation-server + port: 5021 + host: 127.0.0.1 + pollingIntervalMillis: 1000 + subscriptions: + - filter: my-simulation-server/my-simulation-path-100 + destination: test + qos: 0 + adapterRuntimeInformation: + lastStartedAttemptTime: 2023-06-28T10:57:18.707+01 + numberOfDaemonProcesses: 1 + connectionStatus: + status: CONNECTED id: test-simulation-server - port: 5021 - host: 127.0.0.1 - pollingIntervalMillis: 1000 - subscriptions: - - filter: my-simulation-server/my-simulation-path-100 - destination: test - qos: 0 - adapterRuntimeInformation: - lastStartedAttemptTime: 2023-06-28T10:57:18.707+01 - numberOfDaemonProcesses: 1 - connectionStatus: - status: CONNECTED - id: test-simulation-server - type: adapter + type: adapter schema: $ref: '#/components/schemas/AdaptersList' description: Success summary: Obtain a list of configured adapters tags: - - Protocol Adapters + - Protocol Adapters /api/v1/management/protocol-adapters/adapters/{adapterId}: delete: description: Delete adapter configured in the system. operationId: deleteAdapter parameters: - - description: The adapter Id. - in: path - name: adapterId - required: true - schema: - type: string + - description: The adapter Id. + in: path + name: adapterId + required: true + schema: + type: string responses: "200": description: Success summary: Delete an adapter tags: - - Protocol Adapters + - Protocol Adapters get: description: Obtain the details for a configured adapter for the specified type". operationId: getAdapter parameters: - - description: The adapter Id. - in: path - name: adapterId - required: true - schema: - type: string + - description: The adapter Id. + in: path + name: adapterId + required: true + schema: + type: string responses: "200": content: @@ -3419,9 +3419,9 @@ paths: host: 127.0.0.1 pollingIntervalMillis: 1000 subscriptions: - - filter: my-simulation-server/my-simulation-path-100 - destination: test - qos: 0 + - filter: my-simulation-server/my-simulation-path-100 + destination: test + qos: 0 adapterRuntimeInformation: lastStartedAttemptTime: 2023-06-28T10:57:18.707+01 numberOfDaemonProcesses: 1 @@ -3434,17 +3434,17 @@ paths: description: Success summary: Obtain the details for a configured adapter for the specified type tags: - - Protocol Adapters + - Protocol Adapters put: description: Update adapter configured in the system. operationId: updateAdapter parameters: - - description: The adapter Id. - in: path - name: adapterId - required: true - schema: - type: string + - description: The adapter Id. + in: path + name: adapterId + required: true + schema: + type: string requestBody: content: application/json: @@ -3455,30 +3455,30 @@ paths: description: Success summary: Update an adapter tags: - - Protocol Adapters + - Protocol Adapters /api/v1/management/protocol-adapters/adapters/{adapterId}/discover: get: description: Obtain a list of available values accessible via this protocol adapter. operationId: discoverDataPoints parameters: - - description: The adapter Id. - in: path - name: adapterId - required: true - schema: - type: string - - description: The root to browse. - in: query - name: root - schema: - type: string - - description: The recursive depth to include. Must be larger than 0. - in: query - name: depth - schema: - type: integer - format: int32 + - description: The adapter Id. + in: path + name: adapterId + required: true + schema: + type: string + - description: The root to browse. + in: query + name: root + schema: + type: string + - description: The recursive depth to include. Must be larger than 0. + in: query + name: depth + schema: + type: integer + format: int32 responses: "200": content: @@ -3488,24 +3488,24 @@ paths: description: An example discovery request. value: items: - - id: holding-registers - name: Holding Registers - description: Holding Registers + - id: holding-registers + name: Holding Registers + description: Holding Registers + nodeType: FOLDER + selectable: false + children: + - id: grouping-1 + name: Addresses 1-16 + description: "" nodeType: FOLDER selectable: false children: - - id: grouping-1 - name: Addresses 1-16 - description: "" - nodeType: FOLDER - selectable: false - children: - - id: address-location-1 - name: "1" - description: "" - nodeType: VALUE - selectable: true - children: [] + - id: address-location-1 + name: "1" + description: "" + nodeType: VALUE + selectable: true + children: [] schema: $ref: '#/components/schemas/ValuesTree' description: Success @@ -3513,18 +3513,18 @@ paths: description: Protocol adapter does not support discovery summary: Discover a list of available data points tags: - - Protocol Adapters + - Protocol Adapters /api/v1/management/protocol-adapters/adapters/{adapterId}/status: get: description: Get the up to date status an adapter. operationId: get-adapter-status parameters: - - description: The name of the adapter to query. - in: path - name: adapterId - required: true - schema: - type: string + - description: The name of the adapter to query. + in: path + name: adapterId + required: true + schema: + type: string responses: "200": content: @@ -3542,17 +3542,17 @@ paths: description: Success summary: Get the up to date status of an adapter tags: - - Protocol Adapters + - Protocol Adapters put: description: Transition the runtime status of an adapter. operationId: transition-adapter-status parameters: - - description: The id of the adapter whose runtime status will change. - in: path - name: adapterId - required: true - schema: - type: string + - description: The id of the adapter whose runtime status will change. + in: path + name: adapterId + required: true + schema: + type: string requestBody: content: application/json: @@ -3576,18 +3576,18 @@ paths: description: Success summary: Transition the runtime status of an adapter tags: - - Protocol Adapters + - Protocol Adapters /api/v1/management/protocol-adapters/adapters/{adapterType}: post: description: Add adapter to the system. operationId: addAdapter parameters: - - description: The adapter type. - in: path - name: adapterType - required: true - schema: - type: string + - description: The adapter type. + in: path + name: adapterType + required: true + schema: + type: string requestBody: content: application/json: @@ -3600,7 +3600,7 @@ paths: description: Success summary: Add a new Adapter tags: - - Protocol Adapters + - Protocol Adapters /api/v1/management/protocol-adapters/status: get: description: Obtain the details. @@ -3615,15 +3615,15 @@ paths: summary: Example connection status value: items: - - status: CONNECTED - id: cloud - type: bridge + - status: CONNECTED + id: cloud + type: bridge schema: $ref: '#/components/schemas/StatusList' description: The Connection Details Verification Result. summary: Get the status of all the adapters in the system. tags: - - Protocol Adapters + - Protocol Adapters /api/v1/management/protocol-adapters/types: get: description: Obtain a list of available protocol adapter types. @@ -3637,18 +3637,18 @@ paths: description: Success summary: Obtain a list of available protocol adapter types tags: - - Protocol Adapters + - Protocol Adapters /api/v1/management/protocol-adapters/types/{adapterType}: get: description: Obtain a list of configured adapters for the specified type. operationId: getAdaptersForType parameters: - - description: The adapter type. - in: path - name: adapterType - required: true - schema: - type: string + - description: The adapter type. + in: path + name: adapterType + required: true + schema: + type: string responses: "200": content: @@ -3658,30 +3658,30 @@ paths: description: An example filtered adapter list. value: items: - - id: test-simulation-server - type: simulation - config: + - id: test-simulation-server + type: simulation + config: + id: test-simulation-server + port: 5021 + host: 127.0.0.1 + pollingIntervalMillis: 1000 + subscriptions: + - filter: my-simulation-server/my-simulation-path-100 + destination: test + qos: 0 + adapterRuntimeInformation: + lastStartedAttemptTime: 2023-06-28T10:57:18.707+01 + numberOfDaemonProcesses: 1 + connectionStatus: + status: CONNECTED id: test-simulation-server - port: 5021 - host: 127.0.0.1 - pollingIntervalMillis: 1000 - subscriptions: - - filter: my-simulation-server/my-simulation-path-100 - destination: test - qos: 0 - adapterRuntimeInformation: - lastStartedAttemptTime: 2023-06-28T10:57:18.707+01 - numberOfDaemonProcesses: 1 - connectionStatus: - status: CONNECTED - id: test-simulation-server - type: adapter + type: adapter schema: $ref: '#/components/schemas/AdaptersList' description: Success summary: Obtain a list of configured adapters for the specified type tags: - - Protocol Adapters + - Protocol Adapters /api/v1/management/uns/isa95: get: description: Obtain isa95 config. @@ -3707,7 +3707,7 @@ paths: description: Success summary: Obtain isa95 config tags: - - UNS + - UNS post: description: Set isa95 config. operationId: set-isa95 @@ -3723,7 +3723,7 @@ paths: description: Success summary: Set isa95 config tags: - - UNS + - UNS /api/v1/metrics: get: description: Obtain the latest sample for the metric requested. @@ -3738,56 +3738,56 @@ paths: summary: List Metrics value: items: - - name: com.hivemq.edge.bridge.simons-cloud.local.publish.count - - name: simulation - - name: com.hivemq.edge.messages.dropped.count - - name: com.hivemq.edge.mqtt.connection.not-writable.current - - name: com.hivemq.edge.bridge.simons-cloud.forward.publish.count - - name: com.hivemq.edge.bridge.simons-cloud.local.publish.received.count - - name: com.hivemq.edge.messages.outgoing.publish.count - - name: com.hivemq.edge.sessions.overall.current - - name: com.hivemq.edge.bridge.simons-cloud.forward.publish.failed.count - - name: com.hivemq.edge.networking.bytes.read.total - - name: com.hivemq.edge.messages.outgoing.total.count - - name: com.hivemq.messages.governance.count - - name: com.hivemq.edge.bridge.simons-cloud.local.publish.failed.count - - name: com.hivemq.edge.networking.connections.current - - name: com.hivemq.edge.persistence.retained-messages.in-memory.total-size - - name: com.hivemq.edge.bridge.simons-cloud.forward.publish.loop-hops-exceeded.count - - name: com.hivemq.edge.messages.incoming.connect.count - - name: com.hivemq.edge.bridge.simons-cloud.local.publish.no-subscriber-present.count - - name: com.hivemq.edge.messages.incoming.publish.count - - name: com.hivemq.edge.messages.incoming.total.count - - name: com.hivemq.edge.messages.will.count.current - - name: com.hivemq.edge.messages.will.published.count.total - - name: com.hivemq.edge.persistence.client-session.subscriptions.in-memory.total-size - - name: com.hivemq.edge.bridge.simons-cloud.remote.publish.loop-hops-exceeded.count - - name: com.hivemq.edge.networking.bytes.write.total - - name: com.hivemq.edge.bridge.simons-cloud.forward.publish.excluded.count - - name: com.hivemq.edge.networking.connections-closed.total.count - - name: com.hivemq.edge.bridge.simons-cloud.remote.publish.received.count - - name: com.hivemq.edge.subscriptions.overall.current - - name: com.hivemq.edge.persistence.queued-messages.in-memory.total-size - - name: com.hivemq.edge.persistence.client-sessions.in-memory.total-size - - name: com.hivemq.edge.messages.retained.current + - name: com.hivemq.edge.bridge.simons-cloud.local.publish.count + - name: simulation + - name: com.hivemq.edge.messages.dropped.count + - name: com.hivemq.edge.mqtt.connection.not-writable.current + - name: com.hivemq.edge.bridge.simons-cloud.forward.publish.count + - name: com.hivemq.edge.bridge.simons-cloud.local.publish.received.count + - name: com.hivemq.edge.messages.outgoing.publish.count + - name: com.hivemq.edge.sessions.overall.current + - name: com.hivemq.edge.bridge.simons-cloud.forward.publish.failed.count + - name: com.hivemq.edge.networking.bytes.read.total + - name: com.hivemq.edge.messages.outgoing.total.count + - name: com.hivemq.messages.governance.count + - name: com.hivemq.edge.bridge.simons-cloud.local.publish.failed.count + - name: com.hivemq.edge.networking.connections.current + - name: com.hivemq.edge.persistence.retained-messages.in-memory.total-size + - name: com.hivemq.edge.bridge.simons-cloud.forward.publish.loop-hops-exceeded.count + - name: com.hivemq.edge.messages.incoming.connect.count + - name: com.hivemq.edge.bridge.simons-cloud.local.publish.no-subscriber-present.count + - name: com.hivemq.edge.messages.incoming.publish.count + - name: com.hivemq.edge.messages.incoming.total.count + - name: com.hivemq.edge.messages.will.count.current + - name: com.hivemq.edge.messages.will.published.count.total + - name: com.hivemq.edge.persistence.client-session.subscriptions.in-memory.total-size + - name: com.hivemq.edge.bridge.simons-cloud.remote.publish.loop-hops-exceeded.count + - name: com.hivemq.edge.networking.bytes.write.total + - name: com.hivemq.edge.bridge.simons-cloud.forward.publish.excluded.count + - name: com.hivemq.edge.networking.connections-closed.total.count + - name: com.hivemq.edge.bridge.simons-cloud.remote.publish.received.count + - name: com.hivemq.edge.subscriptions.overall.current + - name: com.hivemq.edge.persistence.queued-messages.in-memory.total-size + - name: com.hivemq.edge.persistence.client-sessions.in-memory.total-size + - name: com.hivemq.edge.messages.retained.current schema: $ref: '#/components/schemas/MetricList' description: Success summary: Obtain a list of available metrics tags: - - Metrics - - Metrics Endpoint + - Metrics + - Metrics Endpoint /api/v1/metrics/{metricName}/latest: get: description: Obtain the latest sample for the metric requested. operationId: getSample parameters: - - description: The metric to search for. - in: path - name: metricName - required: true - schema: - type: string + - description: The metric to search for. + in: path + name: metricName + required: true + schema: + type: string responses: "200": content: @@ -3804,8 +3804,8 @@ paths: description: Success summary: Obtain the latest sample for the metric requested tags: - - Metrics - - Metrics Endpoint + - Metrics + - Metrics Endpoint components: schemas: Adapter: @@ -3831,7 +3831,7 @@ components: type: string description: The adapter type associated with this instance required: - - id + - id AdaptersList: type: object properties: @@ -3889,9 +3889,9 @@ components: items: $ref: '#/components/schemas/BehaviorPolicyOnTransition' required: - - behavior - - id - - matching + - behavior + - id + - matching BehaviorPolicyBehavior: type: object description: "The behavior referenced by the policy, that is validated by the\ @@ -3904,7 +3904,7 @@ components: type: string description: The unique identifier of a pre-defined behavior. required: - - id + - id BehaviorPolicyDeserialization: type: object description: The deserializers used by the policy for particular message and/or @@ -3921,7 +3921,7 @@ components: schema: $ref: '#/components/schemas/SchemaReference' required: - - schema + - schema BehaviorPolicyList: type: object description: A listing of behavior policies. @@ -3941,7 +3941,7 @@ components: type: string description: The regex pattern to match the client id against. required: - - clientIdRegex + - clientIdRegex BehaviorPolicyOnEvent: type: object description: "One or more operations that are triggered on the event. When this\ @@ -3952,7 +3952,7 @@ components: items: $ref: '#/components/schemas/PolicyOperation' required: - - pipeline + - pipeline BehaviorPolicyOnTransition: type: object description: The actions that are executed for the specified transition. @@ -3978,8 +3978,8 @@ components: description: The exact state to which the transition happened. Alternatively a state filter can be used. required: - - fromState - - toState + - fromState + - toState Bridge: type: object properties: @@ -4074,12 +4074,12 @@ components: maxLength: 65535 nullable: true required: - - cleanStart - - host - - id - - keepAlive - - port - - sessionExpiry + - cleanStart + - host + - id + - keepAlive + - port + - sessionExpiry BridgeCustomUserProperty: type: object description: The customUserProperties for this subscription @@ -4093,8 +4093,8 @@ components: format: string description: The value the from the property required: - - key - - value + - key + - value BridgeList: type: object properties: @@ -4130,18 +4130,18 @@ components: default: 0 description: The maxQoS for this subscription. enum: - - 0 - - 1 - - 2 + - 0 + - 1 + - 2 maximum: 2 minimum: 0 preserveRetain: type: boolean description: The preserveRetain for this subscription required: - - destination - - filters - - maxQoS + - destination + - filters + - maxQoS Capability: type: object description: List of result items that are returned by this endpoint @@ -4205,8 +4205,8 @@ components: validation: $ref: '#/components/schemas/DataPolicyValidation' required: - - id - - matching + - id + - matching DataPolicyAction: type: object description: "One or more operations the outcome of the validation triggers.\ @@ -4238,7 +4238,7 @@ components: type: string description: The topic filter for which the policy is matched. required: - - topicFilter + - topicFilter DataPolicyValidation: type: object description: "The section of the policy that defines how incoming MQTT messages\ @@ -4261,10 +4261,10 @@ components: type: string description: The type of the validator. enum: - - SCHEMA + - SCHEMA required: - - arguments - - type + - arguments + - type EnvironmentProperties: type: object description: A map of properties relating to the installation @@ -4314,10 +4314,10 @@ components: type: string description: The severity that this log is considered to be enum: - - INFO - - WARN - - ERROR - - CRITICAL + - INFO + - WARN + - ERROR + - CRITICAL source: $ref: '#/components/schemas/TypeIdentifier' timestamp: @@ -4325,11 +4325,11 @@ components: format: int64 description: Time the event was generated in epoch format required: - - created - - identifier - - message - - severity - - timestamp + - created + - identifier + - message + - severity + - timestamp EventList: type: object properties: @@ -4404,7 +4404,7 @@ components: page. nullable: true required: - - firstUse + - firstUse FsmStateInformationItem: type: object description: List of result items that are returned by this endpoint @@ -4538,7 +4538,7 @@ components: type: string description: A mandatory URL associated with the Link required: - - url + - url LinkList: type: object description: A list of resources to render @@ -4578,12 +4578,12 @@ components: type: string description: The underlying transport that this listener uses enum: - - TCP - - UDP - - DCCP - - SCTP - - RSVP - - QUIC + - TCP + - UDP + - DCCP + - SCTP + - RSVP + - QUIC nullable: true ListenerList: type: object @@ -4628,9 +4628,9 @@ components: default: 0 description: The maxQoS for this subscription. enum: - - 0 - - 1 - - 2 + - 0 + - 1 + - 2 maximum: 2 minimum: 0 preserveRetain: @@ -4642,9 +4642,9 @@ components: description: The limit of this bridge for QoS-1 and QoS-2 messages. nullable: true required: - - destination - - filters - - maxQoS + - destination + - filters + - maxQoS Metric: type: object description: List of result items that are returned by this endpoint @@ -4719,9 +4719,9 @@ components: type: string description: The notification level enum: - - NOTICE - - WARNING - - ERROR + - NOTICE + - WARNING + - ERROR link: $ref: '#/components/schemas/Link' title: @@ -4752,9 +4752,9 @@ components: nodeType: type: string enum: - - FOLDER - - OBJECT - - VALUE + - FOLDER + - OBJECT + - VALUE selectable: type: boolean PaginationCursor: @@ -4775,12 +4775,12 @@ components: type: string description: The content type of the payload that the event contains enum: - - JSON - - PLAIN_TEXT - - XML - - CSV + - JSON + - PLAIN_TEXT + - XML + - CSV required: - - contentType + - contentType PolicyOperation: type: object description: The pipeline to execute when this action is triggered. The operations @@ -4797,9 +4797,9 @@ components: type: string description: The unique id of the operation in the pipeline. required: - - arguments - - functionId - - id + - arguments + - functionId + - id ProtocolAdapter: type: object description: List of result items that are returned by this endpoint @@ -4814,8 +4814,8 @@ components: type: string description: The capabilities of this adapter enum: - - READ - - DISCOVER + - READ + - DISCOVER uniqueItems: true category: $ref: '#/components/schemas/ProtocolAdapterCategory' @@ -4881,8 +4881,8 @@ components: minLength: 1 pattern: "^[A-Za-z0-9-_](?:[A-Za-z0-9_ -]*[A-Za-z0-9_-])$" required: - - displayName - - name + - displayName + - name ProtocolAdaptersList: type: object properties: @@ -4919,9 +4919,9 @@ components: description: The version of the schema. readOnly: true required: - - id - - schemaDefinition - - type + - id + - schemaDefinition + - type SchemaList: type: object description: A listing of schemas. @@ -4945,8 +4945,8 @@ components: description: The version of the schema. The value "latest" may be used to always refer to the latest schema. required: - - schemaId - - version + - schemaId + - version Script: type: object properties: @@ -4961,7 +4961,7 @@ components: type: string description: The type of the function. enum: - - TRANSFORMATION + - TRANSFORMATION id: type: string description: The unique identifier of the script. @@ -4974,9 +4974,9 @@ components: description: The version of the script. readOnly: true required: - - functionType - - id - - source + - functionType + - id + - source ScriptList: type: object description: A listing of scripts. @@ -4996,11 +4996,11 @@ components: type: string description: A mandatory connection status field. enum: - - CONNECTED - - DISCONNECTED - - STATELESS - - UNKNOWN - - ERROR + - CONNECTED + - DISCONNECTED + - STATELESS + - UNKNOWN + - ERROR id: type: string description: The identifier of the object @@ -5015,8 +5015,8 @@ components: type: string description: A object status field. enum: - - STARTED - - STOPPED + - STARTED + - STOPPED startedAt: type: string format: date-time @@ -5039,9 +5039,9 @@ components: type: string description: The command to perform on the target connection. enum: - - START - - STOP - - RESTART + - START + - STOP + - RESTART StatusTransitionResult: type: object properties: @@ -5059,8 +5059,8 @@ components: type: string description: The status to perform on the target connection. enum: - - PENDING - - COMPLETE + - PENDING + - COMPLETE type: type: string description: The type of the object in transition @@ -5129,13 +5129,13 @@ components: type: string description: The type of the associated object/entity enum: - - BRIDGE - - ADAPTER - - ADAPTER_TYPE - - EVENT - - USER + - BRIDGE + - ADAPTER + - ADAPTER_TYPE + - EVENT + - USER required: - - type + - type UsernamePasswordCredentials: type: object properties: