diff --git a/.github/workflows/generate.yaml b/.github/workflows/generate.yaml index b1066d8..1dd82fa 100644 --- a/.github/workflows/generate.yaml +++ b/.github/workflows/generate.yaml @@ -1,5 +1,8 @@ name: generate +env: + GO_VERSION: "1.23" + on: pull_request: push: @@ -23,6 +26,15 @@ jobs: - name: Install apigentools run: pip install apigentools==1.1.0 # NB: If changes are needed, remeber to update the docker image accordingly at config/config.yaml + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version: ${{ env.GO_VERSION }} + + - name: Merge openAPI specs + run: | + cd openapi-merger && go run main.go && cd .. + - name: Validate specfile run: apigentools validate diff --git a/config/config.yaml b/config/config.yaml index 1a2b1cd..92d3d08 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -22,14 +22,14 @@ languages: - template-patches/go-sum.patch source: type: openapi-git - git_committish: "v7.0.0" # git committish to checkout before extracting the templates + git_committish: "v7.9.0" # git committish to checkout before extracting the templates templates_dir: go # directory with templates for this language system: true downstream_templates: downstream-templates/go/README.md: README.md github_org_name: arduino github_repo_name: iot-client-go - library_version: '1.3.5' + library_version: '2.1.0' spec_versions: - v2 version_path_template: '' @@ -47,12 +47,12 @@ languages: - template-patches/html2-sample-js.patch source: type: openapi-git - git_committish: "v7.0.0" # git committish to checkout before extracting the templates + git_committish: "v7.9.0" # git committish to checkout before extracting the templates templates_dir: htmlDocs2 # directory with templates for this language system: true github_org_name: arduino github_repo_name: iot-client-docs - library_version: '1.3.5' + library_version: '2.1.0' spec_versions: - v2 version_path_template: '' @@ -76,14 +76,14 @@ languages: - template-patches/javascript-api-client.patch source: type: openapi-git - git_committish: "v7.0.0" # git committish to checkout before extracting the templates + git_committish: "v7.9.0" # git committish to checkout before extracting the templates templates_dir: Javascript # directory with templates for this language system: true downstream_templates: downstream-templates/javascript/README.md: README.md github_org_name: arduino github_repo_name: iot-client-js - library_version: '1.3.5' + library_version: '2.1.0' spec_versions: - v2 version_path_template: '' @@ -103,7 +103,7 @@ languages: templates: source: type: openapi-git - git_committish: "v7.7.0" # git committish to checkout before extracting the templates + git_committish: "v7.9.0" # git committish to checkout before extracting the templates templates_dir: python # directory with templates for this language system: true downstream_templates: @@ -112,7 +112,7 @@ languages: downstream-templates/python/utils.py: iot_api_client/utils.py github_org_name: arduino github_repo_name: iot-client-py - library_version: '1.3.5' + library_version: '2.1.0' spec_versions: - v2 version_path_template: '' diff --git a/config/languages/go_v2.json b/config/languages/go_v2.json index 3637a3c..c15b259 100644 --- a/config/languages/go_v2.json +++ b/config/languages/go_v2.json @@ -3,6 +3,6 @@ "gitRepoId": "iot-client-go", "isGoSubmodule": true, "packageName": "v2", - "packageVersion": "2.0.6", + "packageVersion": "2.1.0", "withGoCodegenComment": true } \ No newline at end of file diff --git a/config/languages/html2_v2.json b/config/languages/html2_v2.json index 06b2232..11b4dbb 100644 --- a/config/languages/html2_v2.json +++ b/config/languages/html2_v2.json @@ -1,5 +1,5 @@ { "packageName": "iot", - "packageVersion": "2.0.6", + "packageVersion": "2.1.0", "usePromises": true } \ No newline at end of file diff --git a/config/languages/javascript_v2.json b/config/languages/javascript_v2.json index 3b7850b..49db3d7 100644 --- a/config/languages/javascript_v2.json +++ b/config/languages/javascript_v2.json @@ -1,8 +1,8 @@ { "projectName": "@arduino/arduino-iot-client", "moduleName": "ArduinoIotClient", - "projectVersion": "2.0.6", - "packageVersion": "2.0.6", + "projectVersion": "2.1.0", + "packageVersion": "2.1.0", "usePromises": true, "licenseName":"GPLv3", "generateSourceCodeOnly": true diff --git a/config/languages/python_v2.json b/config/languages/python_v2.json index b9ca964..3ac675f 100644 --- a/config/languages/python_v2.json +++ b/config/languages/python_v2.json @@ -1,6 +1,6 @@ { "packageName": "iot_api_client", "projectName": "arduino-iot-client", - "packageVersion": "2.0.6", + "packageVersion": "2.1.0", "generateSourceCodeOnly": false } diff --git a/openapi-merger/go.mod b/openapi-merger/go.mod new file mode 100644 index 0000000..f9561e5 --- /dev/null +++ b/openapi-merger/go.mod @@ -0,0 +1,18 @@ +module github.com/arduino/clients-iot-api/openapi-merger + +go 1.23.2 + +require ( + github.com/getkin/kin-openapi v0.128.0 + gopkg.in/yaml.v3 v3.0.1 +) + +require ( + github.com/go-openapi/jsonpointer v0.21.0 // indirect + github.com/go-openapi/swag v0.23.0 // indirect + github.com/invopop/yaml v0.3.1 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect + github.com/perimeterx/marshmallow v1.1.5 // indirect +) diff --git a/openapi-merger/go.sum b/openapi-merger/go.sum new file mode 100644 index 0000000..8f8145b --- /dev/null +++ b/openapi-merger/go.sum @@ -0,0 +1,37 @@ +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/getkin/kin-openapi v0.128.0 h1:jqq3D9vC9pPq1dGcOCv7yOp1DaEe7c/T1vzcLbITSp4= +github.com/getkin/kin-openapi v0.128.0/go.mod h1:OZrfXzUfGrNbsKj+xmFBx6E5c6yH3At/tAKSc2UszXM= +github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= +github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= +github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= +github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= +github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= +github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/invopop/yaml v0.3.1 h1:f0+ZpmhfBSS4MhG+4HYseMdJhoeeopbSKbq5Rpeelso= +github.com/invopop/yaml v0.3.1/go.mod h1:PMOp3nn4/12yEZUFfmOuNHJsZToEEOwoWsT+D81KkeA= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw= +github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s= +github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= +github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/openapi-merger/main.go b/openapi-merger/main.go new file mode 100644 index 0000000..682091c --- /dev/null +++ b/openapi-merger/main.go @@ -0,0 +1,140 @@ +package main + +import ( + "encoding/json" + "fmt" + "log" + "os" + "slices" + + "github.com/getkin/kin-openapi/openapi3" + "gopkg.in/yaml.v3" + + _ "embed" +) + +const ( + BasePath = "../spec/v2/" + ServiceOpenapiFolder = BasePath + "service-openapi/" + IotAPIOpenApi = ServiceOpenapiFolder + "iotapi-openapi.yaml" + GroupsViewsOpenApi = ServiceOpenapiFolder + "groups-views-openapi.yaml" + GroupsFoldersOpenApi = ServiceOpenapiFolder + "groups-folders-openapi.yaml" + + MergedOpenApi = BasePath + "swagger.yaml" +) + +//go:embed path-blacklist.json +var pathBlacklist string + +type blacklist struct{ + Blacklist []string `json:"blacklist"` +} + +func main() { + + // Load blacklist + var bl blacklist + _ = json.Unmarshal([]byte(pathBlacklist), &bl) + + log.Println("Merging OpenAPI specifications...") + log.Println("Blacklisted paths: ", bl.Blacklist) + + // Load the main OpenAPI specification + loader := openapi3.NewLoader() + docIOT, err := loader.LoadFromFile(IotAPIOpenApi) + if err != nil { + log.Fatalf("Failed to load %s: %v", IotAPIOpenApi, err) + } + + mergedPaths := []openapi3.NewPathsOption{} + for _, path := range docIOT.Paths.InMatchingOrder() { + if slices.Contains(bl.Blacklist, path) { + continue + } + pathItem := docIOT.Paths.Find(path) + mergedPaths = append(mergedPaths, openapi3.WithPath(fmt.Sprintf("/iot%s", path), pathItem)) + } + + if docIOT.Components.Schemas == nil { + docIOT.Components.Schemas = make(map[string]*openapi3.SchemaRef) + } + if docIOT.Components.Responses == nil { + docIOT.Components.Responses = make(map[string]*openapi3.ResponseRef) + } + if docIOT.Components.Parameters == nil { + docIOT.Components.Parameters = make(map[string]*openapi3.ParameterRef) + } + if docIOT.Components.RequestBodies == nil { + docIOT.Components.RequestBodies = make(map[string]*openapi3.RequestBodyRef) + } + if docIOT.Components.Headers == nil { + docIOT.Components.Headers = make(map[string]*openapi3.HeaderRef) + } + if docIOT.Components.SecuritySchemes == nil { + docIOT.Components.SecuritySchemes = make(map[string]*openapi3.SecuritySchemeRef) + } + + apisToMerge := []string{GroupsViewsOpenApi, GroupsFoldersOpenApi} + for _, api := range apisToMerge { + // Load the second OpenAPI specification + docVIEWS, err := loader.LoadFromFile(api) + if err != nil { + log.Fatalf("Failed to load %s: %v", api, err) + } + + // Merge the paths + for _, path := range docVIEWS.Paths.InMatchingOrder() { + if slices.Contains(bl.Blacklist, path) { + log.Println("Blacklisted path: ", path) + continue + } + pathItem := docVIEWS.Paths.Find(path) + mergedPaths = append(mergedPaths, openapi3.WithPath(path, pathItem)) + } + + // Merge the components + for name, schema := range docVIEWS.Components.Schemas { + docIOT.Components.Schemas[name] = schema + } + + for name, response := range docVIEWS.Components.Responses { + docIOT.Components.Responses[name] = response + } + + for name, parameter := range docVIEWS.Components.Parameters { + docIOT.Components.Parameters[name] = parameter + } + + for name, requestBody := range docVIEWS.Components.RequestBodies { + docIOT.Components.RequestBodies[name] = requestBody + } + + for name, header := range docVIEWS.Components.Headers { + docIOT.Components.Headers[name] = header + } + + for name, securityScheme := range docVIEWS.Components.SecuritySchemes { + docIOT.Components.SecuritySchemes[name] = securityScheme + } + } + + // Add merged + docIOT.Paths = openapi3.NewPaths(mergedPaths...) + + ym, err := docIOT.MarshalYAML() + if err != nil { + log.Fatalf("Failed to marshal merged document to YAML: %v", err) + } + yamlData, err := yaml.Marshal(ym) + if err != nil { + log.Fatalf("Failed to marshal merged document to YAML: %v", err) + } + + err = os.WriteFile(MergedOpenApi, yamlData, 0644) + if err != nil { + log.Fatalf("Failed to write %s: %v", MergedOpenApi, err) + } + + log.Println("Merged OpenAPI specification saved to " + MergedOpenApi) + +} diff --git a/openapi-merger/path-blacklist.json b/openapi-merger/path-blacklist.json new file mode 100644 index 0000000..8025e85 --- /dev/null +++ b/openapi-merger/path-blacklist.json @@ -0,0 +1,3 @@ +{ + "blacklist": ["/groups/v1/sketches"] +} diff --git a/spec/v2/header.yaml b/spec/v2/header.yaml index f7efc54..c166af2 100644 --- a/spec/v2/header.yaml +++ b/spec/v2/header.yaml @@ -1,2 +1,2 @@ servers: - - url: https://api2.arduino.cc/iot \ No newline at end of file + - url: https://api2.arduino.cc \ No newline at end of file diff --git a/spec/v2/service-openapi/groups-folders-openapi.yaml b/spec/v2/service-openapi/groups-folders-openapi.yaml new file mode 100644 index 0000000..dc8ef11 --- /dev/null +++ b/spec/v2/service-openapi/groups-folders-openapi.yaml @@ -0,0 +1,707 @@ +openapi: "3.0.0" +info: + version: 1.0.0 + title: Folders API + description: Folders API provides support to folders in Arduino Cloud + contact: + name: Arduino Support + email: support@arduino.cc + license: + name: Arduino License + url: https://support.arduino.cc/hc/en-us/articles/4415094490770-Licensing-for-products-based-on-Arduino +externalDocs: + description: Find out more about Arduino + url: https://www.arduino.cc +tags: + - name: folders + description: Folders-related paths +paths: + /groups/v1/folders: + post: + operationId: CreateFolder + summary: Creates a new folder + description: Creates a new folder under the specified path, if provided + parameters: + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + tags: + - folders + requestBody: + description: Create folder request body + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFolderRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/Folder' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + security: + - jwt_bearer_authentication: [] + get: + operationId: ListFolders + summary: List folders + description: Lists the available folders + parameters: + - name: parent_id + in: query + description: Used to retrieve the folder containing the resource whose ID is provided + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: child_id + in: query + description: Used to retrieve the folder containing the resource whose ID is provided + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: root + in: query + description: Specifies to return only root folders + schema: + type: boolean + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + tags: + - folders + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Folder' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + security: + - jwt_bearer_authentication: [] + + /groups/v1/folders/{folder_id}: + get: + operationId: GetFolder + summary: Get a folder by its ID + description: Retrieves a folder's metadata by its ID + tags: + - folders + parameters: + - name: folder_id + in: path + description: The ID of the folder + required: true + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: required,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Folder' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + security: + - jwt_bearer_authentication: [] + patch: + operationId: UpdateFolder + summary: Update a folder + description: Updates a folder's metadata + tags: + - folders + parameters: + - name: folder_id + in: path + description: The ID of the folder + required: true + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: required,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + requestBody: + description: Update folder request body + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFolderRequest' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Folder' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + security: + - jwt_bearer_authentication: [] + delete: + operationId: DeleteFolder + summary: Delete a folder + description: Deletes a folder by its ID + tags: + - folders + parameters: + - name: folder_id + in: path + description: The ID of the folder to delete + required: true + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: required,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: hard + in: query + description: If true, the folder is deleted permanently + schema: + type: boolean + default: false + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + responses: + '204': + description: Deleted + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + security: + - jwt_bearer_authentication: [] + + /groups/v1/folders/{folder_id}/content/{resource_kind}/{resource_id}: + post: + operationId: MoveResourceToFolder + summary: Move a resource under a folder + description: Add the specified resource to a target folder. If the resource is already under a folder, it will be moved to the new target folder. + parameters: + - name: folder_id + required: true + in: path + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: required,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: resource_kind + required: true + in: path + description: Kind of the resource to be associated + schema: + $ref: '#/components/schemas/ResourceKind' + x-oapi-codegen-extra-tags: + validate: required + example: "device" + - name: resource_id + required: true + in: path + description: Id of the resource to be associated + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: required,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + tags: + - folders + responses: + '204': + description: Resource added + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + security: + - jwt_bearer_authentication: [] + delete: + operationId: RemoveResourceFromFolder + summary: Remove a resource from a folder + description: Remove a resource from a folder + parameters: + - name: folder_id + required: true + in: path + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: required,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: resource_kind + required: true + in: path + description: Kind of the resource to be associated + schema: + $ref: '#/components/schemas/ResourceKind' + example: "devices" + - name: resource_id + required: true + in: path + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: required,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + tags: + - folders + responses: + '204': + description: Resource removed + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + security: + - jwt_bearer_authentication: [] + +components: + schemas: + ValidationError: + type: object + required: + - message + - reason + properties: + message: + type: string + reason: + type: string + APIError: + type: object + required: + - message + properties: + message: + type: string + Folder: + type: object + required: + - id + - name + - user_id + - created_at + - created_by + - updated_at + - updated_by + properties: + id: + description: "Folder ID" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + name: + description: "Name of the folder" + type: string + maxLength: 128 + user_id: + description: "User owning the folder" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + organization_id: + description: "Organization owning the folder" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + parent: + $ref: '#/components/schemas/PathNode' + path: + description: "Path that leads to the folder" + type: array + items: + $ref: '#/components/schemas/PathNode' + created_by: + description: "User that created the folder" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + created_at: + description: "Folder creation datetime" + type: string + format: date-time + example: "2000-01-01T00:00:00Z" + updated_by: + description: "User that last updated the folder" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + updated_at: + description: "Folder last update datetime" + type: string + format: date-time + example: "2000-01-01T00:00:00Z" + deleted_by: + description: "User that deleted the folder" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + deleted_at: + description: "Folder deletion datetime" + type: string + format: date-time + example: "2000-01-01T00:00:00Z" + PathNode: + description: "Represents a folder in a path" + type: object + required: + - folder_id + - folder_name + properties: + folder_id: + description: "ID of the folder that makes up this path node" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + folder_name: + description: "Name of the folder that makes up this path node" + type: string + maxLength: 128 + CreateFolderRequest: + type: object + required: + - name + properties: + name: + description: "Name of the folder" + type: string + maxLength: 64 + x-oapi-codegen-extra-tags: + validate: required,max=64 + parent_id: + description: "Parent folder of the folder being created, if any" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + UpdateFolderRequest: + type: object + properties: + name: + description: "New name of the folder" + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,required,max=64 + soft_deleted: + description: "Whether to soft delete (true) the folder or restore it (false)" + type: boolean + ResourceKind: + type: string + enum: [ "folder", "folders", "device", "devices", "thing", "things", "dashboard", "dashboards", "trigger", "triggers", "sketch", "sketches" ] + securitySchemes: + jwt_bearer_authentication: + description: Bearer authentication + type: http + scheme: bearer diff --git a/spec/v2/service-openapi/groups-views-openapi.yaml b/spec/v2/service-openapi/groups-views-openapi.yaml new file mode 100644 index 0000000..92c1f94 --- /dev/null +++ b/spec/v2/service-openapi/groups-views-openapi.yaml @@ -0,0 +1,1487 @@ +openapi: "3.0.0" +info: + version: 1.0.0 + title: Views API + description: Folders API allows to define dynamic views for quick access to Arduino Cloud resources + contact: + name: Arduino Support + email: support@arduino.cc + license: + name: Arduino License + url: https://support.arduino.cc/hc/en-us/articles/4415094490770-Licensing-for-products-based-on-Arduino +externalDocs: + description: Find out more about Arduino + url: https://www.arduino.cc +tags: + - name: views + description: Views-related paths +paths: + /groups/v1/all: + get: + operationId: ListAllResources + summary: Get all the available resources + description: Returns all the resources matching the provided filters + tags: + - views + parameters: + - name: parent_id + in: query + description: Allows to retrieve resources contained in a parent folder + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: name_like + in: query + description: Allows to filter resources by name + schema: + type: string + minLength: 3 + maxLength: 64 + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + - name: X-Organization + in: header + schema: + type: string + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IoTResource' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/search: + get: + operationId: SearchResources + summary: Get all the available resources matching the search criteria + description: Returns all the resources matching the provided search criteria + tags: + - views + parameters: + - name: parent_id + in: query + description: Allows to retrieve resources contained in a parent folder + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: name_like + in: query + description: Allows to filter resources by name + schema: + type: string + minLength: 3 + maxLength: 64 + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: kind + in: query + description: One or more resource kinds to be kept in the results + style: form + explode: false + schema: + type: array + items: + $ref: '#/components/schemas/ResourceKind' + examples: + OneKind: + summary: Example of a single kind + value: [DEVICE] # ?kind=DEVICE + MultipleKinds: + summary: Example of multiple kinds + value: [DEVICE,THING] # ?kind=DEVICE,THING + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/IoTResource' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/trash: + get: + operationId: ListTrashedResources + summary: Get all the deleted resources + description: Returns all the resources that have been deleted + tags: + - views + parameters: + - name: parent_id + in: query + description: Allows to retrieve resources contained in a parent folder + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: name_like + in: query + description: Allows to filter resources by name + schema: + type: string + minLength: 3 + maxLength: 64 + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + - name: X-Organization + in: header + schema: + type: string + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/DeletedResource' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/devices: + get: + operationId: ListDevices + summary: Get all devices + description: Returns all devices to which user has access to + tags: + - views + parameters: + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Device' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/things: + get: + operationId: ListThings + summary: Get all things + description: Returns all things to which user has access to + tags: + - views + parameters: + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Thing' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/dashboards: + get: + operationId: ListDashboards + summary: Get all dashboards + description: Returns all dashboards to which user has access to + tags: + - views + parameters: + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Dashboard' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/sketches: + get: + operationId: ListSketches + summary: Get all sketches + description: Returns all sketches to which user has access to + tags: + - views + parameters: + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Sketch' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/triggers: + get: + operationId: ListTriggers + summary: Get all triggers + description: Returns all triggers to which user has access to + tags: + - views + parameters: + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TriggerDefinition' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/search/devices: + get: + operationId: SearchDevices + summary: Search among all devices + description: Returns all devices matching the provided search criteria + tags: + - views + parameters: + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: parent_id + in: query + description: Allows to retrieve resources contained in a parent folder + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: name_like + in: query + description: Allows to filter resources by name + schema: + type: string + minLength: 3 + maxLength: 64 + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Device' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/search/things: + get: + operationId: SearchThings + summary: Search among all things + description: Returns all things matching the provided search criteria + tags: + - views + parameters: + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: parent_id + in: query + description: Allows to retrieve resources contained in a parent folder + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: name_like + in: query + description: Allows to filter resources by name + schema: + type: string + minLength: 3 + maxLength: 64 + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Thing' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/search/dashboards: + get: + operationId: SearchDashboards + summary: Search among all dashboards + description: Returns all dashboards matching the provided search criteria + tags: + - views + parameters: + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: parent_id + in: query + description: Allows to retrieve resources contained in a parent folder + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: name_like + in: query + description: Allows to filter resources by name + schema: + type: string + minLength: 3 + maxLength: 64 + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Dashboard' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/search/triggers: + get: + operationId: SearchTriggers + summary: Search among all triggers + description: Returns all triggers matching the provided search criteria + tags: + - views + parameters: + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: parent_id + in: query + description: Allows to retrieve resources contained in a parent folder + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: name_like + in: query + description: Allows to filter resources by name + schema: + type: string + minLength: 3 + maxLength: 64 + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TriggerDefinition' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + + /groups/v1/search/sketches: + get: + operationId: SearchSketches + summary: Search among all sketches + description: Returns all sketches matching the provided search criteria + tags: + - views + parameters: + - name: X-Organization + in: header + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: parent_id + in: query + description: Allows to retrieve resources contained in a parent folder + schema: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + - name: name_like + in: query + description: Allows to filter resources by name + schema: + type: string + minLength: 3 + maxLength: 64 + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Sketch' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + '401': + description: Authentication failed + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '403': + description: Access denied + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '404': + description: Not found + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + '500': + description: Internal server error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + default: + description: Default error + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + security: + - jwt_bearer_authentication: [ ] + +components: + schemas: + ValidationError: + type: object + required: + - message + - reason + properties: + message: + type: string + reason: + type: string + GenericError: + type: object + required: + - message + properties: + message: + type: string + IoTResource: + description: An IoT resource + type: object + required: + - id + - kind + - name + - owner + - created_at + - created_by + - updated_at + - updated_by + properties: + id: + description: "Resource ID" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + kind: + description: "Type of the resource" + type: string + enum: [ "FOLDER", "DEVICE", "THING", "DASHBOARD", "TRIGGER", "SKETCH" ] + name: + description: "Name of the resource" + type: string + maxLength: 128 + owner: + $ref: '#/components/schemas/User' + organization_id: + description: "Organization owning the resource" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + shared_by: + $ref: '#/components/schemas/User' + shared_with: + type: array + items: + $ref: '#/components/schemas/User' + sketch_thing_id: + description: "ID of the thing that a sketch is associated with" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + sketch_path: + description: "Sketch path" + type: string + created_by: + description: "User that created the resource" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + created_at: + description: "Resource creation datetime" + type: string + format: date-time + example: "2000-01-01T00:00:00Z" + updated_by: + description: "User that last updated the resource" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + updated_at: + description: "Resource last update datetime" + type: string + format: date-time + example: "2000-01-01T00:00:00Z" + parent: + $ref: '#/components/schemas/PathNode' + path: + type: array + items: + $ref: '#/components/schemas/PathNode' + DeletedResource: + allOf: + - $ref: '#/components/schemas/IoTResource' + - type: object + required: + - deleted_by + - deleted_at + properties: + deleted_by: + description: "User that deleted the resource" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + deleted_at: + description: "Resource deletion datetime" + type: string + format: date-time + example: "2000-01-01T00:00:00Z" + BaseResource: + type: object + required: + - id + - name + - href + - created_at + - user_id + properties: + id: + description: "Folder ID" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + name: + description: "Name of the resource" + type: string + maxLength: 128 + user_id: + description: "User owning the resource" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + organization_id: + description: "Organization owning the resource" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + href: + description: "Device HREF URL" + type: string + parent: + $ref: '#/components/schemas/PathNode' + path: + type: array + items: + $ref: '#/components/schemas/PathNode' + created_at: + description: "Folder creation datetime" + type: string + format: date-time + example: "2000-01-01T00:00:00Z" + updated_at: + description: "Folder last update datetime" + type: string + format: date-time + example: "2000-01-01T00:00:00Z" + deleted_at: + description: "Folder deletion datetime" + type: string + format: date-time + example: "2000-01-01T00:00:00Z" + Device: + allOf: + - $ref: '#/components/schemas/BaseResource' + - type: object + required: + - fqbn + - type + - connection_type + - device_status + properties: + fqbn: + description: "Fully Qualified Board Name" + type: string + device_status: + description: "Device status" + type: string + enum: ["ONLINE", "OFFLINE", "UNKNOWN"] + type: + description: "Device type" + type: string + enum: ["mkrwifi1010", "mkr1000", "nano_33_iot", "mkrgsm1400", "mkrwan1310", "mkrwan1300", "mkrnb1500", "lora-device", "login_and_secretkey_wifi", "envie_m7", "nanorp2040connect", "nicla_vision", "opta", "giga", "portenta_c33", "unor4wifi", "nano_nora"] + connectivity_module: + description: "Connectivity module" + type: string + connection_type: + description: "Type of connection" + type: string + enum: ["wifi", "eth", "wifiandsecret", "gsm", "nb", "lora", "catm1", "cellular"] + label: + description: "Device label" + type: string + serial: + description: "Device serial" + type: string + wifi_fw_version: + description: "WiFi firmware version" + type: string + thing_id: + description: "Thing ID" + type: string + format: uuid + minLength: 36 + maxLength: 36 + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + Thing: + allOf: + - $ref: '#/components/schemas/BaseResource' + - type: object + required: + - href + - type + - timezone + properties: + timezone: + description: "Thing time zone" + type: string + device_id: + description: "Identifier of the device connected to the given thing" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: uuid + example: "B3FB5026-7337-4AB3-B203-2E6792C7C65E" + sketch_id: + description: "Identifier of the sketch associated to the given thing" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "A3FB5026-7337-4AB3-B203-2E6792C7C65C" + tags: + type: object + additionalProperties: + type: string + Dashboard: + allOf: + - $ref: '#/components/schemas/BaseResource' + - type: object + properties: + shared_by: + $ref: '#/components/schemas/User' + shared_with: + type: array + description: "IDs of the users with whom the dashboard is shared" + items: + $ref: '#/components/schemas/User' + cover_image: + type: string + description: "Identifier of the cover image to be used for the dashboard" + Sketch: + allOf: + - $ref: '#/components/schemas/BaseResource' + - type: object + required: + - sketch_path + - type + - is_public + properties: + sketch_path: + description: "Sketch path" + type: string + size: + description: "Size" + type: number + board_name: + description: "Board name" + type: string + board_type: + description: "Board type" + type: string + board_fqbn: + description: "Board type" + type: string + thing_id: + description: "Identifier of the sketch associated to the given thing" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "A3FB5026-7337-4AB3-B203-2E6792C7C65C" + types: + type: array + description: "List of types" + items: + type: string + is_public: + description: "Is public" + type: boolean + IDevice: + type: object + required: + - id + - name + properties: + id: + description: "Id" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + name: + description: "Name" + type: string + LinkedDevice: + type: object + properties: + Device: + $ref: '#/components/schemas/IDevice' + DeviceStatusSourceDefinition: + type: object + required: + - criteria + properties: + criteria: + description: "Critaria" + type: string + device_ids: + type: array + items: + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + linked_devices: + type: array + items: + $ref: '#/components/schemas/LinkedDevice' + grace_period_online: + description: "Grace period online" + type: integer + grace_period_offline: + description: "Grace period offline" + type: integer + Recipient: + type: object + required: + - id + properties: + id: + type: string + format: uuid + minLength: 36 + maxLength: 36 + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + Delivery: + type: object + required: + - to + properties: + to: + type: array + items: + $ref: '#/components/schemas/Recipient' + Email: + type: object + required: + - delivery + properties: + delivery: + $ref: '#/components/schemas/Delivery' + PushNotification: + type: object + required: + - delivery + properties: + delivery: + $ref: '#/components/schemas/Delivery' + Action: + type: object + required: + - kind + - name + - trigger_id + properties: + kind: + description: "Kind of the action" + type: string + enum: ["NOTIFY-EMAIL", "NOTIFY-PUSH"] + name: + description: "Name of the action" + type: string + trigger_id: + type: string + format: uuid + minLength: 36 + maxLength: 36 + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + email: + $ref: '#/components/schemas/Email' + push_notification: + $ref: '#/components/schemas/PushNotification' + TriggerDefinition: + allOf: + - $ref: '#/components/schemas/BaseResource' + - type: object + required: + - active + - description + properties: + active: + description: "Is active" + type: boolean + description: + type: string + actions: + type: array + items: + $ref: '#/components/schemas/Action' + property_id: + type: string + format: uuid + example: "B3FB5026-7337-4AB3-B203-2E6792C7C65E" + device_status_source: + $ref: '#/components/schemas/DeviceStatusSourceDefinition' + User: + description: "Represent a user" + type: object + required: + - user_id + - username + properties: + user_id: + description: "ID of the user" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + username: + description: "Username of the user" + type: string + maxLength: 128 + PathNode: + description: "Represents a folder in a path" + type: object + required: + - folder_id + - folder_name + properties: + folder_id: + description: "ID of the folder that makes up this path node" + type: string + format: uuid + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + example: "D3FB5026-7337-4AB3-B203-2E6792C7C65B" + folder_name: + description: "Name of the folder that makes up this path node" + type: string + maxLength: 128 + ResourceKind: + x-go-name: ResourceKindFilter + type: string + enum: [ "folder", "folders", "device", "devices", "thing", "things", "dashboard", "dashboards", "trigger", "triggers", "sketch", "sketches" ] + securitySchemes: + jwt_bearer_authentication: + description: Bearer authentication + type: http + scheme: bearer diff --git a/spec/v2/service-openapi/iotapi-openapi.yaml b/spec/v2/service-openapi/iotapi-openapi.yaml new file mode 100644 index 0000000..4c47cc6 --- /dev/null +++ b/spec/v2/service-openapi/iotapi-openapi.yaml @@ -0,0 +1,8747 @@ +components: + responses: + Accepted: + description: Accepted + BadRequest: + description: Bad Request + Conflict: + description: Conflict + NotFound: + description: Not Found + NotImplemented: + description: Not Implemented + OK: + description: OK + schemas: + ArduinoAction: + description: ArduinoAction media type (default view) + properties: + created_by: + description: Id of the user who created the action + format: uuid + type: string + description: + description: The description of the action + type: string + email: + $ref: '#/components/schemas/email_action' + id: + description: The id of the action + format: uuid + type: string + kind: + description: The kind of the action + enum: + - NOTIFY-EMAIL + - NOTIFY-PUSH + example: NOTIFY-EMAIL + type: string + name: + description: The name of the action + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + push_notification: + $ref: '#/components/schemas/push_action' + trigger_id: + description: Id of the trigger the action is associated to + format: uuid + type: string + title: 'Mediatype identifier: application/vnd.arduino.action+json; view=default' + type: object + ArduinoAction_template: + description: ArduinoAction_template media type (default view) + properties: + description: + description: The description of the action + type: string + email: + $ref: '#/components/schemas/email_action' + kind: + description: The kind of the action + enum: + - NOTIFY-EMAIL + - NOTIFY-PUSH + example: NOTIFY-EMAIL + type: string + name: + description: The name of the action + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + push_notification: + $ref: '#/components/schemas/push_action' + title: 'Mediatype identifier: application/vnd.arduino.action_template+json; + view=default' + type: object + ArduinoActionCollection: + description: ArduinoActionCollection is the media type for an array of ArduinoAction + (default view) + items: + $ref: '#/components/schemas/ArduinoAction' + title: 'Mediatype identifier: application/vnd.arduino.action+json; type=collection; + view=default' + type: array + ArduinoCompressedv2: + description: compressed contains the info from which to generate the certificate + (default view) + properties: + authority_key_identifier: + description: The Authority Key Identifier of the certificate + type: string + not_after: + description: The ending date of the certificate + format: date-time + type: string + not_before: + description: The starting date of the certificate + format: date-time + type: string + serial: + description: The serial number of the certificate + type: string + signature: + description: The signature of the certificate + type: string + signature_asn1_x: + description: The ASN1 X component of certificate signature + type: string + signature_asn1_y: + description: The ASN1 Y component of certificate signature + type: string + required: + - serial + - not_before + - not_after + - signature + - signature_asn1_x + - signature_asn1_y + title: 'Mediatype identifier: application/vnd.arduino.compressedv2; view=default' + type: object + ArduinoCredentialsv1: + description: ArduinoCredentialsv1 media type (default view) + properties: + friendly_name: + description: Friendly name + type: string + required: + description: Tell if the parameter is required or not + type: boolean + secret_name: + description: The secret parameter name + type: string + sensitive: + description: Tell if the field is sensitive + type: boolean + required: + - secret_name + - required + - friendly_name + - sensitive + title: 'Mediatype identifier: application/vnd.arduino.credentialsv1+json; view=default' + type: object + ArduinoCredentialsv1Collection: + description: ArduinoCredentialsv1Collection is the media type for an array of + ArduinoCredentialsv1 (default view) + items: + $ref: '#/components/schemas/ArduinoCredentialsv1' + title: 'Mediatype identifier: application/vnd.arduino.credentialsv1+json; type=collection; + view=default' + type: array + ArduinoDashboardowner: + description: ArduinoDashboardowner media type (default view) + properties: + user_id: + description: The userID of the user who created the dashboard + format: uuid + type: string + username: + description: The username of the user who created the dashboard + type: string + required: + - user_id + title: 'Mediatype identifier: application/vnd.arduino.dashboardowner+json; view=default' + type: object + ArduinoDashboardshare: + description: ArduinoDashboardshare media type (default view) + properties: + user_id: + description: The userID of the user you want to share the dashboard with + format: uuid + type: string + username: + description: The username of the user you want to share the dashboard with + type: string + required: + - user_id + title: 'Mediatype identifier: application/vnd.arduino.dashboardshare+json; view=default' + type: object + ArduinoDashboardshareCollection: + description: ArduinoDashboardshareCollection is the media type for an array + of ArduinoDashboardshare (default view) + items: + $ref: '#/components/schemas/ArduinoDashboardshare' + title: 'Mediatype identifier: application/vnd.arduino.dashboardshare+json; type=collection; + view=default' + type: array + ArduinoDashboardv2: + description: Dashboard is a collection of widgets (default view) + properties: + cover_image: + description: The cover image of the dashboard + maxLength: 1024 + type: string + created_by: + $ref: '#/components/schemas/ArduinoDashboardowner' + id: + description: The friendly name of the dashboard + format: uuid + type: string + name: + description: The friendly name of the dashboard + type: string + organization_id: + description: Id of the organization the dashboard belongs to + format: uuid + type: string + shared_by: + $ref: '#/components/schemas/ArduinoDashboardshare' + shared_with: + $ref: '#/components/schemas/ArduinoDashboardshareCollection' + updated_at: + description: Last update date + format: date-time + type: string + widgets: + $ref: '#/components/schemas/ArduinoWidgetv2Collection' + required: + - id + - name + - updated_at + title: 'Mediatype identifier: application/vnd.arduino.dashboardv2+json; view=default' + type: object + ArduinoDashboardv2Collection: + description: ArduinoDashboardv2Collection is the media type for an array of + ArduinoDashboardv2 (default view) + items: + $ref: '#/components/schemas/ArduinoDashboardv2' + title: 'Mediatype identifier: application/vnd.arduino.dashboardv2+json; type=collection; + view=default' + type: array + ArduinoDashboardv2template: + description: ArduinoDashboardv2template media type (default view) + properties: + cover_image: + description: The cover image of the dashboard + type: string + id: + description: The friendly ID of the dashboard + type: string + name: + description: The friendly name of the dashboard + type: string + widgets: + $ref: '#/components/schemas/ArduinoWidgetv2templateCollection' + required: + - name + title: 'Mediatype identifier: application/vnd.arduino.dashboardv2template+json; + view=default' + type: object + ArduinoDevicev2: + description: ArduinoDevicev2 media type (default view) + properties: + connection_type: + description: The type of the connections selected by the user when multiple + connections are available + enum: + - wifi + - eth + - wifiandsecret + - gsm + - nb + - lora + - catm1 + - cellular + type: string + created_at: + description: Creation date of the device + format: date-time + type: string + device_status: + description: The connection status of the device + enum: + - ONLINE + - OFFLINE + - UNKNOWN + type: string + events: + $ref: '#/components/schemas/ArduinoDevicev2SimplePropertiesCollection' + fqbn: + description: The fully qualified board name + type: string + href: + description: The api reference of this device + type: string + id: + description: The arn of the device + format: uuid + type: string + label: + description: The label of the device + type: string + last_activity_at: + description: Last activity date + format: date-time + type: string + latest_wifi_fw_version: + description: The latest version of the NINA/WIFI101 firmware available for + this device + type: string + metadata: + additionalProperties: true + description: The metadata of the device + type: object + name: + description: The friendly name of the device + type: string + no_sketch: + description: True if the device type can not have an associated sketch + type: boolean + organization_id: + description: Id of the organization the device belongs to + format: uuid + type: string + ota_available: + description: True if the device type is ready to receive OTA updated + type: boolean + ota_compatible: + description: True if the device type is OTA compatible + type: boolean + required_wifi_fw_version: + description: The required version of the NINA/WIFI101 firmware needed by + IoT Cloud + type: string + serial: + description: The serial uuid of the device + type: string + tags: + additionalProperties: true + description: Tags belonging to the device + type: object + thing: + $ref: '#/components/schemas/ArduinoThing' + type: + description: The type of the device + type: string + user_id: + description: The id of the user + format: uuid + type: string + webhooks: + $ref: '#/components/schemas/ArduinoDevicev2WebhookCollection' + wifi_fw_version: + description: The version of the NINA/WIFI101 firmware running on the device + type: string + required: + - id + - name + - type + - label + - user_id + - href + - serial + title: 'Mediatype identifier: application/vnd.arduino.devicev2+json; view=default' + type: object + ArduinoDevicev2Cert: + description: DeviceCertV2 describes a certificate associated to the device (default + view) + properties: + ca: + description: The Certification Authority used to sign the certificate + type: string + compressed: + $ref: '#/components/schemas/ArduinoCompressedv2' + der: + description: The certificate in DER format + type: string + device_id: + description: The unique identifier of the device + format: uuid + type: string + enabled: + default: true + description: Whether the certificate is enabled + type: boolean + href: + description: The api reference of this cert + type: string + id: + description: The unique identifier of the key + format: uuid + type: string + pem: + description: The certificate in pem format + example: "-----BEGIN CERTIFICATE-----\n\t\t\tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO\n\t\t\t3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX\n\t\t\t7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS\n\t\t\tj+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd\n\t\t\tOrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ\n\t\t\t5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl\n\t\t\tFQIDAQAB\n\t\t\t-----END + CERTIFICATE-----" + maxLength: 512 + type: string + required: + - id + - device_id + - enabled + - pem + - der + - compressed + - href + title: 'Mediatype identifier: application/vnd.arduino.devicev2.cert+json; view=default' + type: object + ArduinoDevicev2CertCollection: + description: ArduinoDevicev2CertCollection is the media type for an array of + ArduinoDevicev2Cert (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + title: 'Mediatype identifier: application/vnd.arduino.devicev2.cert+json; type=collection; + view=default' + type: array + ArduinoDevicev2Collection: + description: ArduinoDevicev2Collection is the media type for an array of ArduinoDevicev2 + (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2' + title: 'Mediatype identifier: application/vnd.arduino.devicev2+json; type=collection; + view=default' + type: array + ArduinoDevicev2EventProperties: + description: ArduinoDevicev2EventProperties media type (default view) + properties: + events: + $ref: '#/components/schemas/ArduinoDevicev2SimplePropertiesCollection' + id: + description: The device of the property + format: uuid + type: string + required: + - id + - events + title: 'Mediatype identifier: application/vnd.arduino.devicev2.event.properties+json; + view=default' + type: object + ArduinoDevicev2Otaupload: + description: ArduinoDevicev2Otaupload media type (default view) + properties: + file_sha: + description: SHA256 of the uploaded file + type: string + ota_id: + description: OTA request id (only available from OTA version 2 and above) + type: string + ota_version: + description: OTA version + format: int64 + type: integer + status: + description: OTA request status (only available from OTA version 2 and above) + type: string + required: + - ota_version + title: 'Mediatype identifier: application/vnd.arduino.devicev2.otaupload+json; + view=default' + type: object + ArduinoDevicev2Pass: + description: DeviceCertV2 describes a password associated to a device (default + view) + properties: + set: + description: Whether the password is set or not + type: boolean + suggested_password: + description: A random suggested password + type: string + required: + - set + title: 'Mediatype identifier: application/vnd.arduino.devicev2.pass+json; view=default' + type: object + ArduinoDevicev2SimpleProperties: + description: ArduinoDevicev2SimpleProperties media type (default view) + properties: + name: + description: The name of the property + type: string + updated_at: + description: Update date of the property + format: date-time + type: string + value: + description: Value of the property + required: + - name + - value + - updated_at + title: 'Mediatype identifier: application/vnd.arduino.devicev2.simple.properties+json; + view=default' + type: object + ArduinoDevicev2SimplePropertiesCollection: + description: ArduinoDevicev2SimplePropertiesCollection is the media type for + an array of ArduinoDevicev2SimpleProperties (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2SimpleProperties' + title: 'Mediatype identifier: application/vnd.arduino.devicev2.simple.properties+json; + type=collection; view=default' + type: array + ArduinoDevicev2StatusEvent: + description: ArduinoDevicev2StatusEvent media type (default view) + properties: + updated_at: + description: Update timestamp of the status event + format: date-time + type: string + value: + description: The status event of the device + enum: + - CONNECTED + - DISCONNECTED + type: string + required: + - value + - updated_at + title: 'Mediatype identifier: application/vnd.arduino.devicev2.status.event+json; + view=default' + type: object + ArduinoDevicev2StatusEventCollection: + description: ArduinoDevicev2StatusEventCollection is the media type for an array + of ArduinoDevicev2StatusEvent (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2StatusEvent' + title: 'Mediatype identifier: application/vnd.arduino.devicev2.status.event+json; + type=collection; view=default' + type: array + ArduinoDevicev2StatusEvents: + description: ArduinoDevicev2StatusEvents media type (default view) + properties: + events: + $ref: '#/components/schemas/ArduinoDevicev2StatusEventCollection' + id: + description: The id of the device + format: uuid + type: string + required: + - id + - events + title: 'Mediatype identifier: application/vnd.arduino.devicev2.status.events+json; + view=default' + type: object + ArduinoDevicev2Webhook: + description: DeviceWebhookV2 describes a webhook associated to the device (default + view) + properties: + active: + default: true + description: Whether the webhook is active + type: boolean + id: + description: The uuid of the webhook + format: uuid + type: string + uri: + description: The uri of the webhook + format: uri + type: string + required: + - id + - uri + title: 'Mediatype identifier: application/vnd.arduino.devicev2.webhook+json; + view=default' + type: object + ArduinoDevicev2WebhookCollection: + description: ArduinoDevicev2WebhookCollection is the media type for an array + of ArduinoDevicev2Webhook (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2Webhook' + title: 'Mediatype identifier: application/vnd.arduino.devicev2.webhook+json; + type=collection; view=default' + type: array + ArduinoDevicev2properties: + description: ArduinoDevicev2properties media type (default view) + properties: + data_retention_days: + description: How many days the data will be kept + format: double + type: number + deviceId: + description: The device of the property + format: uuid + type: string + properties: + $ref: '#/components/schemas/ArduinoPropertyCollection' + user_id: + description: The user id of the owner + format: uuid + type: string + required: + - deviceId + - user_id + - data_retention_days + - properties + title: 'Mediatype identifier: application/vnd.arduino.devicev2properties+json; + view=default' + type: object + ArduinoDevicev2propertyvalue: + description: ArduinoDevicev2propertyvalue media type (default view) + properties: + created_at: + format: date-time + type: string + value: + properties: + payload: + type: string + seqno: + format: int64 + type: integer + statistics: + properties: + adr: + format: double + type: number + channel: + format: double + type: number + duplicate: + format: double + type: number + freq: + format: double + type: number + modBW: + format: double + type: number + rssi: + format: double + type: number + seqno: + format: double + type: number + sf: + format: double + type: number + snr: + format: double + type: number + time: + format: double + type: number + type: object + type: object + title: 'Mediatype identifier: application/vnd.arduino.devicev2propertyvalue+json; + view=default' + type: object + ArduinoDevicev2propertyvalueCollection: + description: ArduinoDevicev2propertyvalueCollection is the media type for an + array of ArduinoDevicev2propertyvalue (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2propertyvalue' + title: 'Mediatype identifier: application/vnd.arduino.devicev2propertyvalue+json; + type=collection; view=default' + type: array + ArduinoDevicev2propertyvalues: + description: ArduinoDevicev2propertyvalues media type (default view) + properties: + id: + type: string + last_evaluated_key: + properties: + created_at: + format: date-time + type: string + id: + type: string + name: + type: string + type: object + name: + type: string + values: + $ref: '#/components/schemas/ArduinoDevicev2propertyvalueCollection' + required: + - id + - last_evaluated_key + - name + - values + title: 'Mediatype identifier: application/vnd.arduino.devicev2propertyvalues+json; + view=default' + type: object + ArduinoDevicev2templatedevice: + description: ArduinoDevicev2templatedevice media type (default view) + properties: + fqbn: + description: The device fqbn + type: string + name: + description: The device type name + type: string + title: 'Mediatype identifier: application/vnd.arduino.devicev2templatedevice+json; + view=default' + type: object + ArduinoLinked_device: + description: ArduinoLinked_device media type (default view) + properties: + device: + $ref: '#/components/schemas/ArduinoDevicev2' + status: + description: The status of the linked device + enum: + - OK + - DELETED + example: OK + type: string + required: + - status + - device + title: 'Mediatype identifier: application/vnd.arduino.linked_device+json; view=default' + type: object + ArduinoLinked_device_template: + description: ArduinoLinked_device_template media type (default view) + properties: + thing_id: + description: The thing the device is associated to + type: string + required: + - thing_id + title: 'Mediatype identifier: application/vnd.arduino.linked_device_template+json; + view=default' + type: object + ArduinoLinked_property: + description: ArduinoLinked_property media type (default view) + properties: + property: + $ref: '#/components/schemas/ArduinoProperty' + status: + description: The status of the linked property + enum: + - OK + - WRONG_TYPE + - DELETED + example: OK + type: string + required: + - status + - property + title: 'Mediatype identifier: application/vnd.arduino.linked_property+json; + view=default' + type: object + ArduinoLinked_property_template: + description: ArduinoLinked_property_template media type (default view) + properties: + property_id: + description: The property the trigger is associated to + type: string + thing_id: + description: The thing the trigger is associated to + type: string + required: + - thing_id + - property_id + title: 'Mediatype identifier: application/vnd.arduino.linked_property_template+json; + view=default' + type: object + ArduinoLinkedvariable: + description: ArduinoLinkedvariable media type (default view) + properties: + id: + description: The id of the linked variable + format: uuid + type: string + last_value: + description: Last value of the linked property + last_value_updated_at: + description: Update date of the last value + format: date-time + type: string + name: + description: The name of the variable + type: string + permission: + description: The permission of the linked variable + type: string + thing_id: + description: The id of the related thing + format: uuid + type: string + thing_name: + description: The name of the related thing + type: string + thing_timezone: + $ref: '#/components/schemas/ArduinoTimezone' + type: + description: The type of the variable + type: string + variable_name: + description: The name of the variable in the code + type: string + required: + - id + - name + - variable_name + - thing_id + - thing_name + - type + - permission + title: 'Mediatype identifier: application/vnd.arduino.linkedvariable+json; view=default' + type: object + ArduinoLinkedvariableCollection: + description: ArduinoLinkedvariableCollection is the media type for an array + of ArduinoLinkedvariable (default view) + items: + $ref: '#/components/schemas/ArduinoLinkedvariable' + title: 'Mediatype identifier: application/vnd.arduino.linkedvariable+json; type=collection; + view=default' + type: array + ArduinoLoradevicev1: + description: ArduinoLoradevicev1 media type (default view) + properties: + app_eui: + description: The eui of the app + type: string + app_key: + description: The key of the device + type: string + device_id: + description: The id of the device + format: uuid + type: string + eui: + description: The eui of the lora device + example: "71619230301" + type: string + required: + - eui + - device_id + - app_eui + - app_key + title: 'Mediatype identifier: application/vnd.arduino.loradevicev1+json; view=default' + type: object + ArduinoLorafreqplansv1: + description: ArduinoLorafreqplansv1 media type (default view) + properties: + frequency_plans: + description: The list of frequency plans + items: + $ref: '#/components/schemas/ArduinoLorafreqplanv1' + type: array + title: 'Mediatype identifier: application/vnd.arduino.lorafreqplansv1+json; + view=default' + type: object + ArduinoLorafreqplanv1: + description: ArduinoLorafreqplanv1 media type (default view) + properties: + advanced: + description: Frequency plan only for advanced users + type: boolean + id: + description: The ID of the frequency paln + type: string + name: + description: The name of the frequency plan + type: string + required: + - name + - id + - advanced + title: 'Mediatype identifier: application/vnd.arduino.lorafreqplanv1+json; view=default' + type: object + ArduinoProperty: + description: ArduinoProperty media type (default view) + properties: + created_at: + description: Creation date of the property + format: date-time + type: string + deleted_at: + description: Delete date of the property + format: date-time + type: string + href: + description: The api reference of this property + type: string + id: + description: The id of the property + format: uuid + type: string + last_value: + description: Last value of this property + linked_to_trigger: + description: Indicates if the property is involved in the activation of + at least a trigger + type: boolean + max_value: + description: Maximum value of this property + format: double + type: number + min_value: + description: Minimum value of this property + format: double + type: number + name: + description: The friendly name of the property + type: string + permission: + description: The permission of the property + type: string + persist: + description: If true, data will persist into a timeseries database + type: boolean + sync_id: + description: The id of the sync pool + format: uuid + type: string + tag: + description: The integer id of the property + format: int64 + type: integer + thing_id: + description: The id of the thing + format: uuid + type: string + thing_name: + description: The name of the associated thing + type: string + type: + description: The type of the property + type: string + update_parameter: + description: The update frequency in seconds, or the amount of the property + has to change in order to trigger an update + format: double + type: number + update_strategy: + description: The update strategy for the property value + type: string + updated_at: + description: Update date of the property + format: date-time + type: string + value_updated_at: + description: Last update timestamp of this property + format: date-time + type: string + variable_name: + description: The sketch variable name of the property + type: string + required: + - id + - thing_id + - name + - type + - permission + - update_strategy + - href + title: 'Mediatype identifier: application/vnd.arduino.property+json; view=default' + type: object + ArduinoPropertyCollection: + description: ArduinoPropertyCollection is the media type for an array of ArduinoProperty + (default view) + items: + $ref: '#/components/schemas/ArduinoProperty' + title: 'Mediatype identifier: application/vnd.arduino.property+json; type=collection; + view=default' + type: array + ArduinoPropertytype: + description: ArduinoPropertytype media type (default view) + properties: + assistants: + description: The voice assistants available for this type + items: + type: string + type: array + declaration: + description: The c++ type we are using for this variable type + type: string + deprecated: + description: Tell if this type is deprecated + type: boolean + example: + description: Example of use + type: string + name: + description: The friendly name of the property type + type: string + rw: + description: Tell if the type allow a R/W permission + type: boolean + supersededBy: + description: The type of property to use if it's deprecated + type: string + tags: + description: The tags related to the type + items: + type: string + type: array + type: + description: The api reference of this type + type: string + units: + description: The measure units available for this type + items: + type: string + type: array + required: + - name + - deprecated + - rw + - type + - declaration + title: 'Mediatype identifier: application/vnd.arduino.propertytype+json; view=default' + type: object + ArduinoPropertytypeCollection: + description: ArduinoPropertytypeCollection is the media type for an array of + ArduinoPropertytype (default view) + items: + $ref: '#/components/schemas/ArduinoPropertytype' + title: 'Mediatype identifier: application/vnd.arduino.propertytype+json; type=collection; + view=default' + type: array + ArduinoSeriesBatch: + description: ArduinoSeriesBatch media type (default view) + properties: + resp_version: + description: Response version + format: int64 + type: integer + responses: + description: Responses of the request + items: + $ref: '#/components/schemas/ArduinoSeriesResponse' + type: array + required: + - responses + - resp_version + title: 'Mediatype identifier: application/vnd.arduino.series.batch+json; view=default' + type: object + ArduinoSeriesBatchSampled: + description: ArduinoSeriesBatchSampled media type (default view) + properties: + resp_version: + description: Response version + format: int64 + type: integer + responses: + description: Responses of the request + items: + $ref: '#/components/schemas/ArduinoSeriesSampledResponse' + type: array + required: + - responses + - resp_version + title: 'Mediatype identifier: application/vnd.arduino.series.batch.sampled+json; + view=default' + type: object + ArduinoSeriesRawBatch: + description: ArduinoSeriesRawBatch media type (default view) + properties: + resp_version: + description: Response version + format: int64 + type: integer + responses: + description: Responses of the request + items: + $ref: '#/components/schemas/ArduinoSeriesRawResponse' + type: array + required: + - responses + - resp_version + title: 'Mediatype identifier: application/vnd.arduino.series.raw.batch+json; + view=default' + type: object + ArduinoSeriesRawBatchLastvalue: + description: ArduinoSeriesRawBatchLastvalue media type (default view) + properties: + responses: + description: Responses of the request + items: + $ref: '#/components/schemas/ArduinoSeriesRawLastValueResponse' + type: array + status: + description: Status of the response + type: string + required: + - status + - responses + title: 'Mediatype identifier: application/vnd.arduino.series.raw.batch.lastvalue+json; + view=default' + type: object + ArduinoSeriesRawLastValueResponse: + description: ArduinoSeriesRawLastValueResponse media type (default view) + properties: + count_values: + description: Total number of values in the array 'values' + format: int64 + type: integer + property_id: + description: Property id + format: uuid + type: string + thing_id: + description: Thing id + format: uuid + type: string + times: + description: Timestamp in RFC3339 + items: + format: date-time + type: string + type: array + values: + description: Values can be in Float, String, Bool, Object + items: {} + type: array + required: + - thing_id + - property_id + - count_values + - values + - times + title: 'Mediatype identifier: application/vnd.arduino.series.raw.last.value.response+json; + view=default' + type: object + ArduinoSeriesRawResponse: + description: ArduinoSeriesRawResponse media type (default view) + properties: + count_values: + description: Total number of values in the array 'values' + format: int64 + type: integer + from_date: + description: From date + format: date-time + type: string + message: + default: "" + description: If the response is different than 'ok' + type: string + property_id: + description: Property id + format: uuid + type: string + property_name: + description: Property name + type: string + property_type: + description: Property type + type: string + query: + description: Query of for the data + type: string + resp_version: + description: Response version + format: int64 + type: integer + series: + $ref: '#/components/schemas/BatchQueryRawResponseSeriesMediaV1' + series_limit: + description: Max of values + format: int64 + type: integer + sort: + description: Sorting + enum: + - ASC + - DESC + type: string + status: + description: Status of the response + type: string + thing_id: + description: Thing id + format: uuid + type: string + times: + description: Timestamp in RFC3339 + items: + format: date-time + type: string + type: array + to_date: + description: To date + format: date-time + type: string + values: + description: Values can be in Float, String, Bool, Object + items: {} + type: array + required: + - status + - resp_version + - series + - query + - from_date + - to_date + - sort + - times + - values + - count_values + title: 'Mediatype identifier: application/vnd.arduino.series.raw.response+json; + view=default' + type: object + ArduinoSeriesResponse: + description: ArduinoSeriesResponse media type (default view) + properties: + aggregation: + description: |- + Aggregation statistic function. + For numeric values, AVG statistic is used by default. PCT_X compute the Xth approximate percentile (e.g. PCT_95 is the 95th approximate percentile). + For boolean, BOOL_OR statistic is used as default. + enum: + - AVG + - MIN + - MAX + - SUM + - COUNT + - PCT_99 + - PCT_95 + - PCT_90 + - PCT_75 + - PCT_50 + - PCT_15 + - PCT_5 + - BOOL_OR + - BOOL_AND + example: AVG + type: string + count_values: + description: Total number of values in the array 'values' + format: int64 + type: integer + from_date: + description: From date + format: date-time + type: string + interval: + description: Resolution in seconds + format: int64 + type: integer + message: + default: "" + description: If the response is different than 'ok' + type: string + property_id: + description: Property id + format: uuid + type: string + property_name: + description: Property name + type: string + property_type: + description: Property type + type: string + query: + description: Query of for the data + type: string + resp_version: + description: Response version + format: int64 + type: integer + series_limit: + description: Maximum number of values returned after data aggregation, if + any + format: int64 + type: integer + status: + description: Status of the response + type: string + thing_id: + description: Thing id + format: uuid + type: string + times: + description: Timestamp in RFC3339 + items: + format: date-time + type: string + type: array + to_date: + description: To date + format: date-time + type: string + values: + description: Values in Float + items: + format: double + type: number + type: array + required: + - status + - resp_version + - query + - from_date + - to_date + - interval + - times + - values + - count_values + title: 'Mediatype identifier: application/vnd.arduino.series.response+json; + view=default' + type: object + ArduinoSeriesSampledResponse: + description: ArduinoSeriesSampledResponse media type (default view) + properties: + count_values: + description: Total number of values in the array 'values' + format: int64 + type: integer + from_date: + description: From date + format: date-time + type: string + interval: + description: Resolution in seconds + format: int64 + type: integer + message: + default: "" + description: If the response is different than 'ok' + type: string + property_id: + description: Property id + format: uuid + type: string + property_name: + description: Property name + type: string + property_type: + description: Property type + type: string + query: + description: Query of for the data + type: string + resp_version: + description: Response version + format: int64 + type: integer + series_limit: + description: Maximum number of values returned after data aggregation, if + any + format: int64 + type: integer + status: + description: Status of the response + type: string + thing_id: + description: Thing id + format: uuid + type: string + times: + description: Timestamp in RFC3339 + items: + format: date-time + type: string + type: array + to_date: + description: To date + format: date-time + type: string + values: + description: Values in Float + items: {} + type: array + required: + - status + - resp_version + - query + - from_date + - to_date + - interval + - times + - values + - count_values + title: 'Mediatype identifier: application/vnd.arduino.series.sampled.response+json; + view=default' + type: object + ArduinoTags: + description: ArduinoTags media type (default view) + properties: + tags: + items: + $ref: '#/components/schemas/tag' + type: array + required: + - tags + title: 'Mediatype identifier: application/vnd.arduino.tags+json; view=default' + type: object + ArduinoTemplate: + description: ArduinoTemplate media type (default view) + properties: + dashboards: + items: + format: uuid + type: string + type: array + things: + $ref: '#/components/schemas/ArduinoThingresultCollection' + triggers: + items: + format: uuid + type: string + type: array + required: + - things + title: 'Mediatype identifier: application/vnd.arduino.template+json; view=default' + type: object + ArduinoTemplateproperty: + description: ArduinoTemplateproperty media type (default view) + properties: + id: + description: The friendly id of the property + type: string + name: + description: The friendly name of the property + type: string + permission: + description: The permission of the property + type: string + type: + description: The type of the property + type: string + update_parameter: + description: The update frequency in seconds, or the amount of the property + has to change in order to trigger an update + format: double + type: number + update_strategy: + description: The update strategy for the property value + type: string + variable_name: + description: The sketch variable name of the property + type: string + required: + - name + - type + - permission + - update_strategy + title: 'Mediatype identifier: application/vnd.arduino.templateproperty+json; + view=default' + type: object + ArduinoTemplatepropertyCollection: + description: ArduinoTemplatepropertyCollection is the media type for an array + of ArduinoTemplateproperty (default view) + items: + $ref: '#/components/schemas/ArduinoTemplateproperty' + title: 'Mediatype identifier: application/vnd.arduino.templateproperty+json; + type=collection; view=default' + type: array + ArduinoTemplatevariable: + description: ArduinoTemplatevariable media type (default view) + properties: + name: + description: The name of the variable + type: string + permission: + description: The permission of the linked variable + type: string + thing_id: + description: The name of the related thing + type: string + thing_timezone: + $ref: '#/components/schemas/ArduinoTimezone' + type: + description: The type of the variable + type: string + variable_id: + description: The name of the variable in the code + type: string + required: + - name + - variable_id + - thing_id + - type + - permission + title: 'Mediatype identifier: application/vnd.arduino.templatevariable+json; + view=default' + type: object + ArduinoTemplatevariableCollection: + description: ArduinoTemplatevariableCollection is the media type for an array + of ArduinoTemplatevariable (default view) + items: + $ref: '#/components/schemas/ArduinoTemplatevariable' + title: 'Mediatype identifier: application/vnd.arduino.templatevariable+json; + type=collection; view=default' + type: array + ArduinoThing: + description: ArduinoThing media type (default view) + properties: + assistant: + description: The kind of voice assistant the thing is connected to, it can + be ALEXA | GOOGLE | NONE + enum: + - ALEXA + - GOOGLE + - NONE + type: string + created_at: + description: Creation date of the thing + format: date-time + type: string + deleted_at: + description: Delete date of the thing + format: date-time + type: string + device_fqbn: + description: The fqbn of the attached device, if any + type: string + device_id: + description: The id of the device + format: uuid + type: string + device_name: + description: The name of the attached device, if any + type: string + device_type: + description: The type of the attached device, if any + type: string + href: + description: The api reference of this thing + type: string + id: + description: The id of the thing + format: uuid + type: string + name: + description: The friendly name of the thing + type: string + organization_id: + description: Id of the organization the thing belongs to + format: uuid + type: string + properties: + $ref: '#/components/schemas/ArduinoPropertyCollection' + properties_count: + description: The number of properties of the thing + format: int64 + type: integer + sketch_id: + description: The id of the attached sketch + format: uuid + type: string + tags: + additionalProperties: true + description: Tags of the thing + type: object + timezone: + description: Time zone of the thing + type: string + updated_at: + description: Update date of the thing + format: date-time + type: string + user_id: + description: The user id of the owner + format: uuid + type: string + webhook_active: + description: Webhook uri + type: boolean + webhook_uri: + description: Webhook uri + type: string + required: + - id + - user_id + - name + - href + - timezone + title: 'Mediatype identifier: application/vnd.arduino.thing+json; view=default' + type: object + ArduinoThingCollection: + description: ArduinoThingCollection is the media type for an array of ArduinoThing + (default view) + items: + $ref: '#/components/schemas/ArduinoThing' + title: 'Mediatype identifier: application/vnd.arduino.thing+json; type=collection; + view=default' + type: array + ArduinoThingresult: + description: ArduinoThingresult media type (default view) + properties: + device_id: + description: UUID of the attached device + format: uuid + type: string + id: + description: UUID of the created Thing + format: uuid + type: string + sketch_id: + description: UUID of the created Sketch + format: uuid + type: string + required: + - id + - sketch_id + title: 'Mediatype identifier: application/vnd.arduino.thingresult+json; view=default' + type: object + ArduinoThingresultCollection: + description: ArduinoThingresultCollection is the media type for an array of + ArduinoThingresult (default view) + items: + $ref: '#/components/schemas/ArduinoThingresult' + title: 'Mediatype identifier: application/vnd.arduino.thingresult+json; type=collection; + view=default' + type: array + ArduinoThingtemplate: + description: ArduinoThingtemplate media type (default view) + properties: + device_metadata: + $ref: '#/components/schemas/ArduinoDevicev2templatedevice' + id: + description: The friendly id of the thing + type: string + name: + description: The friendly name of the thing + type: string + organization_id: + description: Id of the organization the thing belongs to + format: uuid + type: string + sketch_template: + description: The ID of the template's sketch + type: string + tags: + description: Tags of the thing + items: + $ref: '#/components/schemas/tag' + type: array + timezone: + description: Time zone of the thing + type: string + variables: + $ref: '#/components/schemas/ArduinoTemplatepropertyCollection' + webhook_uri: + description: Webhook uri + type: string + required: + - name + - timezone + title: 'Mediatype identifier: application/vnd.arduino.thingtemplate+json; view=default' + type: object + ArduinoTimeseriesmedia: + description: ArduinoTimeseriesmedia media type (default view) + properties: + data: + items: + $ref: '#/components/schemas/TimeseriesDataPoint' + type: array + required: + - data + title: 'Mediatype identifier: application/vnd.arduino.timeseriesmedia+json; + view=default' + type: object + ArduinoTimezone: + description: ArduinoTimezone media type (default view) + properties: + name: + description: Name of the time zone. + type: string + offset: + description: Current UTC DST offset in seconds. + format: int64 + type: integer + until: + description: Date until the offset is valid. + format: date-time + type: string + required: + - name + - offset + - until + title: 'Mediatype identifier: application/vnd.arduino.timezone+json; view=default' + type: object + ArduinoTrigger: + description: ArduinoTrigger media type (default view) + properties: + actions: + description: A list of actions associated with the trigger + items: + $ref: '#/components/schemas/ArduinoAction' + type: array + active: + description: Is true if the trigger is enabled + type: boolean + created_by: + description: Id of the user who last updated the trigger + format: uuid + type: string + description: + description: The description of the trigger + type: string + device_status_source: + $ref: '#/components/schemas/device_status_source' + id: + description: The id of the trigger + format: uuid + type: string + name: + description: The name of the trigger + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + property_id: + description: Id of the property the trigger is associated to (mutually exclusive + with 'device_status_source') + format: uuid + type: string + required: + - name + title: 'Mediatype identifier: application/vnd.arduino.trigger+json; view=default' + type: object + ArduinoTrigger_template: + description: ArduinoTrigger_template media type (default view) + properties: + actions: + description: A list of actions associated with the trigger + items: + $ref: '#/components/schemas/ArduinoAction_template' + type: array + active: + description: Is true if the trigger is enabled + type: boolean + criteria: + description: The criteria of the trigger, could be INCLUDE or EXCLUDE + type: string + description: + description: The description of the trigger + type: string + grace_period_offline: + description: The amount of seconds the trigger will wait before considering + a matching device as offline + format: int64 + type: integer + grace_period_online: + description: The amount of seconds the trigger will wait before considering + a matching device as online + format: int64 + type: integer + id: + description: The id of the trigger + type: string + linked_devices: + description: A list of devices the trigger is associated to + items: + $ref: '#/components/schemas/ArduinoLinked_device_template' + type: array + linked_property: + $ref: '#/components/schemas/ArduinoLinked_property_template' + name: + description: The name of the trigger + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + required: + - id + - name + title: 'Mediatype identifier: application/vnd.arduino.trigger_template+json; + view=default' + type: object + ArduinoTrigger_with_linked_entities: + description: ArduinoTrigger_with_linked_entities media type (default view) + properties: + actions: + description: A list of actions associated with the trigger + items: + $ref: '#/components/schemas/ArduinoAction' + type: array + active: + description: Is true if the trigger is enabled + type: boolean + created_by: + description: Id of the user who last updated the trigger + format: uuid + type: string + description: + description: The description of the trigger + type: string + device_status_source: + $ref: '#/components/schemas/Device_status_source_with_linked_devices' + id: + description: The id of the trigger + format: uuid + type: string + linked_property: + $ref: '#/components/schemas/ArduinoLinked_property' + name: + description: The name of the trigger + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + required: + - id + - name + title: 'Mediatype identifier: application/vnd.arduino.trigger_with_linked_entities+json; + view=default' + type: object + ArduinoTriggerCollection: + description: ArduinoTriggerCollection is the media type for an array of ArduinoTrigger + (default view) + items: + $ref: '#/components/schemas/ArduinoTrigger' + title: 'Mediatype identifier: application/vnd.arduino.trigger+json; type=collection; + view=default' + type: array + ArduinoVariableslinks: + description: ArduinoVariableslinks media type (default view) + properties: + variables: + description: The ids of the linked variables + items: + format: uuid + type: string + type: array + required: + - variables + title: 'Mediatype identifier: application/vnd.arduino.variableslinks+json; view=default' + type: object + ArduinoWidgetv2: + description: ArduinoWidgetv2 media type (default view) + properties: + has_permission_incompatibility: + description: True if the linked variables permissions are incompatible with + the widget + type: boolean + has_type_incompatibility: + description: True if the linked variables types are incompatible with the + widget + type: boolean + has_unlinked_variable: + description: If it's true the widget is linked to a soft-deleted variable + type: boolean + height: + description: Widget current height for desktop + format: int64 + type: integer + height_mobile: + description: Widget current height for mobile + format: int64 + type: integer + id: + description: The UUID of the widget, set by client + format: uuid + type: string + name: + description: The name of the widget + type: string + options: + additionalProperties: true + description: Widget options + type: object + type: + description: The type of the widget + type: string + variables: + $ref: '#/components/schemas/ArduinoLinkedvariableCollection' + width: + description: Widget current width for desktop + format: int64 + type: integer + width_mobile: + description: Widget current width for mobile + format: int64 + type: integer + x: + description: Widget x position for desktop + format: int64 + type: integer + x_mobile: + description: Widget x position for mobile + format: int64 + type: integer + "y": + description: Widget y position for desktop + format: int64 + type: integer + y_mobile: + description: Widget y position for mobile + format: int64 + type: integer + required: + - id + - type + - width + - height + - x + - "y" + - options + title: 'Mediatype identifier: application/vnd.arduino.widgetv2+json; view=default' + type: object + ArduinoWidgetv2Collection: + description: ArduinoWidgetv2Collection is the media type for an array of ArduinoWidgetv2 + (default view) + items: + $ref: '#/components/schemas/ArduinoWidgetv2' + title: 'Mediatype identifier: application/vnd.arduino.widgetv2+json; type=collection; + view=default' + type: array + ArduinoWidgetv2template: + description: ArduinoWidgetv2template media type (default view) + properties: + height: + description: Widget current height for desktop + format: int64 + type: integer + height_mobile: + description: Widget current height for mobile + format: int64 + type: integer + name: + description: The name of the widget + type: string + options: + additionalProperties: true + description: Widget options + type: object + type: + description: The type of the widget + type: string + variables: + $ref: '#/components/schemas/ArduinoTemplatevariableCollection' + width: + description: Widget current width for desktop + format: int64 + type: integer + width_mobile: + description: Widget current width for mobile + format: int64 + type: integer + x: + description: Widget x position for desktop + format: int64 + type: integer + x_mobile: + description: Widget x position for mobile + format: int64 + type: integer + "y": + description: Widget y position for desktop + format: int64 + type: integer + y_mobile: + description: Widget y position for mobile + format: int64 + type: integer + required: + - type + - width + - height + - x + - "y" + - options + title: 'Mediatype identifier: application/vnd.arduino.widgetv2template+json; + view=default' + type: object + ArduinoWidgetv2templateCollection: + description: ArduinoWidgetv2templateCollection is the media type for an array + of ArduinoWidgetv2template (default view) + items: + $ref: '#/components/schemas/ArduinoWidgetv2template' + title: 'Mediatype identifier: application/vnd.arduino.widgetv2template+json; + type=collection; view=default' + type: array + BatchLastValueRequestsMediaV1: + properties: + requests: + description: Requests + items: + $ref: '#/components/schemas/BatchQueryRawLastValueRequestMediaV1' + type: array + required: + - requests + title: BatchLastValueRequestsMediaV1 + type: object + BatchQueryRawLastValueRequestMediaV1: + properties: + property_id: + description: Property id + format: uuid + type: string + thing_id: + description: Thing id + format: uuid + type: string + required: + - thing_id + - property_id + title: BatchQueryRawLastValueRequestMediaV1 + type: object + BatchQueryRawRequestMediaV1: + properties: + from: + description: From timestamp + format: date-time + type: string + q: + description: Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5 + or thing.95717675-4786-4ffc-afcc-799777755391) + type: string + series_limit: + description: 'Maximum number of values returned, if any (default/limit: + 1000, 10000 in case of thing query)' + format: int64 + type: integer + sort: + default: DESC + description: Sorting + enum: + - ASC + - DESC + type: string + to: + description: To timestamp + format: date-time + type: string + required: + - q + title: BatchQueryRawRequestMediaV1 + type: object + BatchQueryRawRequestsMediaV1: + properties: + requests: + description: Requests + items: + $ref: '#/components/schemas/BatchQueryRawRequestMediaV1' + type: array + resp_version: + description: Response version + format: int64 + type: integer + required: + - requests + - resp_version + title: BatchQueryRawRequestsMediaV1 + type: object + BatchQueryRawResponseSeriesMediaV1: + properties: + metric: + description: Metric name + type: string + required: + - metric + title: BatchQueryRawResponseSeriesMediaV1 + type: object + BatchQueryRequestMediaV1: + properties: + aggregation: + description: |- + Aggregation statistic function. + For numeric values, AVG statistic is used by default. PCT_X compute the Xth approximate percentile (e.g. PCT_95 is the 95th approximate percentile). + For boolean, BOOL_OR statistic is used as default. + enum: + - AVG + - MIN + - MAX + - SUM + - COUNT + - PCT_99 + - PCT_95 + - PCT_90 + - PCT_75 + - PCT_50 + - PCT_15 + - PCT_5 + - BOOL_OR + - BOOL_AND + example: AVG + type: string + from: + description: From timestamp + format: date-time + type: string + interval: + description: 'Resolution in seconds (max allowed: 86400)' + format: int64 + type: integer + q: + description: Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5 + or thing.95717675-4786-4ffc-afcc-799777755391) + type: string + series_limit: + description: 'Maximum number of values returned after data aggregation, + if any (default: 300, limit: 1000 - 10000 in case of thing query)' + format: int64 + type: integer + to: + description: To timestamp + format: date-time + type: string + required: + - q + - from + - to + title: BatchQueryRequestMediaV1 + type: object + BatchQueryRequestsMediaV1: + properties: + requests: + description: Requests + items: + $ref: '#/components/schemas/BatchQueryRequestMediaV1' + type: array + resp_version: + description: Response version + format: int64 + type: integer + required: + - requests + - resp_version + title: BatchQueryRequestsMediaV1 + type: object + BatchQuerySampledRequestMediaV1: + properties: + from: + description: 'From timestamp (default: now UTC - 24h)' + format: date-time + type: string + interval: + default: 300 + description: Resolution in seconds (allowed min:60, max:86400) + maximum: 86400 + minimum: 60 + type: integer + q: + description: Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5) + type: string + series_limit: + description: 'Maximum number of values returned after data aggregation, + if any (default: 300, limit: 1000)' + format: int64 + type: integer + to: + description: 'To timestamp (default: now UTC)' + format: date-time + type: string + required: + - q + title: BatchQuerySampledRequestMediaV1 + type: object + BatchQuerySampledRequestsMediaV1: + properties: + requests: + description: Requests + items: + $ref: '#/components/schemas/BatchQuerySampledRequestMediaV1' + type: array + resp_version: + description: Response version + format: int64 + type: integer + required: + - requests + - resp_version + title: BatchQuerySampledRequestsMediaV1 + type: object + CheckDevicesV2PassPayload: + properties: + password: + description: The password for the device + type: string + required: + - password + title: CheckDevicesV2PassPayload + type: object + CreateDevicesV2CertsPayload: + properties: + ca: + description: The Certification Authority you want to use + type: string + csr: + description: The certificate request in pem format + example: "-----BEGIN CERTIFICATE-----\n\t\t\tMIIBeDCCAR4CAQAwgY0xCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRl\n\t\t\tMQ8wDQYDVQQHEwZNeUNpdHkxFDASBgNVBAoTC0NvbXBhbnkgTHRkMQswCQYDVQQL\n\t\t\tEwJJVDEUMBIGA1UEAxMLZXhhbXBsZS5jb20xHzAdBgkqhkiG9w0BCQEMEHRlc3RA\n\t\t\tZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATf6J9Gk79XGJ2I\n\t\t\t+v6p/r0UmPufUcUwtlx7gx87+DaI8Vpj9R5KN71HsHYw5uq+Lm0cr0CZIdtZU4cP\n\t\t\tupd6jDQToC4wLAYJKoZIhvcNAQkOMR8wHTAbBgNVHREEFDASgRB0ZXN0QGV4YW1w\n\t\t\tbGUuY29tMAoGCCqGSM49BAMCA0gAMEUCIGQqtlGzYdjPwYZYJ41albMBcdrKI7+8\n\t\t\toiNSNWyDxJSGAiEAqQPPxMdr6vaXCCjr5s1J01WLKHzGoPFCR40rqAPs8eQ=\n\t\t\t-----END + CERTIFICATE-----\n\t\t\t" + maxLength: 1024 + type: string + enabled: + description: Whether the certificate is enabled + type: boolean + required: + - enabled + - csr + title: CreateDevicesV2CertsPayload + type: object + CreateDevicesV2Payload: + description: DeviceV2 describes a device. + properties: + connection_type: + description: The type of the connections selected by the user when multiple + connections are available + enum: + - wifi + - eth + - wifiandsecret + - gsm + - nb + - lora + - catm1 + - cellular + type: string + fqbn: + description: The fully qualified board name + type: string + name: + description: The friendly name of the device + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + serial: + description: The serial uuid of the device + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + type: + description: The type of the device + enum: + - mkrwifi1010 + - mkr1000 + - nano_33_iot + - mkrgsm1400 + - mkrnb1500 + - login_and_secretkey_wifi + - envie_m7 + - nanorp2040connect + - nicla_vision + - phone + - portenta_x8 + - opta + - giga + - generic_device_secretkey + - portenta_c33 + - unor4wifi + - nano_nora + type: string + user_id: + description: The user_id associated to the device. If absent it will be + inferred from the authentication header + format: uuid + type: string + wifi_fw_version: + description: The version of the NINA/WIFI101 firmware running on the device + maxLength: 10 + pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ + type: string + required: + - type + title: CreateDevicesV2Payload + type: object + CreateLoraDevicesV1Payload: + properties: + app: + description: The app name + type: string + app_eui: + description: The app eui of the lora device + pattern: '[0-9a-z]{16}' + type: string + app_key: + description: The app key of the lora device + pattern: '[0-9a-z]{16}' + type: string + eui: + description: The eui of the lora device + pattern: '[0-9a-z]{16}' + type: string + frequency_plan: + description: 'The frequency plan required by your country ' + enum: + - EU_863_870_TTN + - US_902_928_FSB_2 + - EU_433 + - AU_915_928_FSB_2 + - CN_470_510_FSB_11 + - AS_920_923 + - AS_920_923_TTN_AU + - AS_923_925 + - AS_923_925_TTN_AU + - KR_920_923_TTN + - IN_865_867 + type: string + name: + description: A common name for the device + type: string + serial: + description: The optional serial number + type: string + type: + description: The type of device + enum: + - lora-device + - mkrwan1300 + - mkrwan1310 + type: string + user_id: + description: The id of the user. Can be the special string 'me' + type: string + required: + - name + - eui + - frequency_plan + - user_id + - app + - type + title: CreateLoraDevicesV1Payload + type: object + Device_status_source_with_linked_devices: + description: Device_status_source_with_linked_devices media type (default view) + properties: + criteria: + description: The criteria of the trigger, could be INCLUDE or EXCLUDE + type: string + grace_period_offline: + description: The amount of seconds the trigger will wait before considering + a matching device as offline + maximum: 1209600 + minimum: 0 + type: integer + grace_period_online: + description: The amount of seconds the trigger will wait before considering + a matching device as online + maximum: 1209600 + minimum: 0 + type: integer + linked_devices: + description: A list of devices the trigger is associated to + items: + $ref: '#/components/schemas/ArduinoLinked_device' + type: array + required: + - criteria + title: 'Mediatype identifier: application/vnd.device_status_source_with_linked_devices+json; + view=default' + type: object + HistoricDataRequest: + properties: + from: + description: Get data starting from this date + format: date-time + type: string + properties: + description: IDs of properties + items: + format: uuid + type: string + minItems: 1 + type: array + to: + description: Get data up to this date + format: date-time + type: string + required: + - properties + - from + - to + title: HistoricDataRequest + type: object + ThingClone: + description: Payload to clone a new thing from an existing one + properties: + include_tags: + description: Include tags in clone procedure + type: boolean + name: + description: The friendly name of the thing + maxLength: 64 + pattern: ^[a-zA-Z0-9_. -]+$ + type: string + required: + - name + title: ThingClone + type: object + ThingCreate: + description: Payload to create a new thing + properties: + assistant: + description: The kind of voice assistant the thing is connected to, it can + be ALEXA | GOOGLE | NONE + enum: + - ALEXA + - GOOGLE + - NONE + type: string + device_id: + description: The arn of the associated device + format: uuid + type: string + id: + description: The id of the thing + format: uuid + type: string + name: + description: The friendly name of the thing + maxLength: 64 + pattern: ^[a-zA-Z0-9_. -]+$ + type: string + properties: + description: The properties of the thing + items: + $ref: '#/components/schemas/property' + type: array + tags: + description: Optional set of tags + items: + $ref: '#/components/schemas/tag' + type: array + timezone: + default: America/New_York + description: |- + A time zone name + Check /v2/timezones for a list of valid names. + type: string + webhook_active: + description: Webhook uri + type: boolean + webhook_uri: + description: Webhook uri + type: string + title: ThingCreate + type: object + TimeseriesDataPoint: + properties: + time: + description: Binning timestamp + format: date-time + type: string + value: + description: Avg value on the binning interval + format: double + type: number + required: + - time + - value + title: TimeseriesDataPoint + type: object + body_expression: + properties: + expression: + description: Content of the body of a message, variables are allowed + maxLength: 1000 + type: string + variables: + description: Variables used by the expression + items: + $ref: '#/components/schemas/variable' + type: array + required: + - expression + title: body_expression + type: object + clone: + properties: + overrides: + description: 'The overrides to apply to the cloned dashboard. An override + is a tuple of ids: the id of the thing to override and the id of the new + thing to link' + items: + $ref: '#/components/schemas/override' + type: array + title: clone + type: object + create-action: + properties: + description: + description: The description of the trigger + type: string + email: + $ref: '#/components/schemas/email_action' + kind: + description: The kind of the action + enum: + - NOTIFY-EMAIL + - NOTIFY-PUSH + example: NOTIFY-EMAIL + type: string + name: + description: The name of the action + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + push_notification: + $ref: '#/components/schemas/push_action' + trigger_id: + description: Id of the trigger the action is associated to + format: uuid + type: string + required: + - kind + - name + title: create-action + type: object + dashboardshare: + properties: + user_id: + description: The userID of the user you want to share the dashboard with + format: uuid + type: string + username: + description: The username of the user you want to share the dashboard with + type: string + title: dashboardshare + type: object + dashboardv2: + description: DashboardV2Payload describes a dashboard + properties: + cover_image: + description: The cover image of the dashboard + maxLength: 1024 + type: string + name: + description: The friendly name of the dashboard + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + widgets: + description: Widgets attached to this dashboard + items: + $ref: '#/components/schemas/widget' + type: array + title: dashboardv2 + type: object + device_status_source: + properties: + criteria: + description: The matching criteria of the trigger, this allows to interpret + device_ids as an inclusion or exclusion list + enum: + - INCLUDE + - EXCLUDE + type: string + device_ids: + description: A list of device IDs to be included in or excluded from the + trigger (see criteria). Mutually exclusive with property_id. + items: + format: uuid + type: string + type: array + grace_period_offline: + description: Amount of seconds the trigger will wait before the device will + be considered disconnected (requires 'device_id') + maximum: 1209600 + minimum: 0 + type: integer + grace_period_online: + description: Amount of seconds the trigger will wait before the device will + be considered connected (requires 'device_id') + maximum: 1209600 + minimum: 0 + type: integer + required: + - criteria + title: device_status_source + type: object + devicev2: + description: DeviceV2 describes a device. + properties: + connection_type: + description: The type of the connections selected by the user when multiple + connections are available + enum: + - wifi + - eth + - wifiandsecret + - gsm + - nb + - lora + - catm1 + - cellular + type: string + fqbn: + description: The fully qualified board name + type: string + name: + description: The friendly name of the device + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + serial: + description: The serial uuid of the device + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + type: + description: The type of the device + enum: + - mkrwifi1010 + - mkr1000 + - nano_33_iot + - mkrgsm1400 + - mkrnb1500 + - login_and_secretkey_wifi + - envie_m7 + - nanorp2040connect + - nicla_vision + - phone + - portenta_x8 + - opta + - giga + - generic_device_secretkey + - portenta_c33 + - unor4wifi + - nano_nora + type: string + user_id: + description: The user_id associated to the device. If absent it will be + inferred from the authentication header + format: uuid + type: string + wifi_fw_version: + description: The version of the NINA/WIFI101 firmware running on the device + maxLength: 10 + pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ + type: string + title: devicev2 + type: object + devicev2.cert: + properties: + ca: + description: The Certification Authority you want to use + type: string + csr: + description: The certificate request in pem format + example: "-----BEGIN CERTIFICATE-----\n\t\t\tMIIBeDCCAR4CAQAwgY0xCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRl\n\t\t\tMQ8wDQYDVQQHEwZNeUNpdHkxFDASBgNVBAoTC0NvbXBhbnkgTHRkMQswCQYDVQQL\n\t\t\tEwJJVDEUMBIGA1UEAxMLZXhhbXBsZS5jb20xHzAdBgkqhkiG9w0BCQEMEHRlc3RA\n\t\t\tZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATf6J9Gk79XGJ2I\n\t\t\t+v6p/r0UmPufUcUwtlx7gx87+DaI8Vpj9R5KN71HsHYw5uq+Lm0cr0CZIdtZU4cP\n\t\t\tupd6jDQToC4wLAYJKoZIhvcNAQkOMR8wHTAbBgNVHREEFDASgRB0ZXN0QGV4YW1w\n\t\t\tbGUuY29tMAoGCCqGSM49BAMCA0gAMEUCIGQqtlGzYdjPwYZYJ41albMBcdrKI7+8\n\t\t\toiNSNWyDxJSGAiEAqQPPxMdr6vaXCCjr5s1J01WLKHzGoPFCR40rqAPs8eQ=\n\t\t\t-----END + CERTIFICATE-----\n\t\t\t" + maxLength: 1024 + type: string + enabled: + description: Whether the certificate is enabled + type: boolean + title: devicev2.cert + type: object + devicev2.otabinaryurl: + properties: + async: + default: true + description: If false, wait for the full OTA process, until it gets a result + from the device + type: boolean + binary_key: + description: The object key of the binary + pattern: ^ota/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+.ota$ + type: string + expire_in_mins: + default: 10 + description: Binary expire time in minutes, default 10 mins + format: int64 + type: integer + required: + - binary_key + title: devicev2.otabinaryurl + type: object + devicev2.otaurlpyalod: + properties: + binary_key: + description: The object key of the binary + pattern: ^ota/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+.ota$ + type: string + sha256: + description: The sha256 of the binary + pattern: ^[a-fA-F0-9]{64}$ + type: string + user_id: + description: The id of the user who is requesting the url + format: uuid + type: string + title: devicev2.otaurlpyalod + type: object + devicev2.pass: + properties: + password: + description: The password for the device + type: string + title: devicev2.pass + type: object + email_action: + properties: + body: + $ref: '#/components/schemas/body_expression' + delivery: + $ref: '#/components/schemas/email_delivery_opts' + subject: + $ref: '#/components/schemas/title_expression' + required: + - delivery + - subject + - body + title: email_action + type: object + email_delivery_opts: + properties: + bcc: + description: The "bcc:" field of an e-mail + items: + $ref: '#/components/schemas/user_recipient' + type: array + cc: + description: The "cc:" field of an e-mail + items: + $ref: '#/components/schemas/user_recipient' + type: array + to: + description: The "to:" field of an e-mail + items: + $ref: '#/components/schemas/user_recipient' + minItems: 1 + type: array + required: + - to + title: email_delivery_opts + type: object + error: + description: Error response media type (default view) + properties: + code: + description: an application-specific error code, expressed as a string value. + example: invalid_value + type: string + detail: + description: a human-readable explanation specific to this occurrence of + the problem. + example: Value of ID must be an integer + type: string + id: + description: a unique identifier for this particular occurrence of the problem. + example: 3F1FKVRR + type: string + meta: + additionalProperties: true + description: a meta object containing non-standard meta-information about + the error. + example: + timestamp: 1458609066 + type: object + status: + description: the HTTP status code applicable to this problem + example: 400 + format: int64 + type: integer + title: 'Mediatype identifier: application/vnd.goa.error+json; view=default' + type: object + override: + properties: + new_thing_id: + description: The id of the new thing to link + format: uuid + type: string + old_thing_id: + description: The id of the thing to override + format: uuid + type: string + required: + - old_thing_id + - new_thing_id + title: override + type: object + propertiesValue: + properties: + name: + description: The name of the property + type: string + type: + default: infer + description: The type of the property + enum: + - infer + - base64 + - hex + - json + type: string + value: + description: The last value of the property + required: + - name + - value + - type + title: propertiesValue + type: object + propertiesValues: + properties: + input: + default: false + description: If true, send property values to device's input topic. + type: boolean + properties: + items: + $ref: '#/components/schemas/propertiesValue' + type: array + required: + - properties + title: propertiesValues + type: object + property: + description: PropertyPayload describes a property of a thing. No field is mandatory + properties: + max_value: + description: Maximum value of this property + format: double + type: number + min_value: + description: Minimum value of this property + format: double + type: number + name: + description: The friendly name of the property + type: string + permission: + description: The permission of the property + enum: + - READ_ONLY + - READ_WRITE + type: string + persist: + default: true + description: If true, data will persist into a timeseries database + type: boolean + tag: + description: The integer id of the property + format: int64 + type: integer + type: + description: The type of the property + enum: + - ANALOG + - CHARSTRING + - FLOAT + - INT + - LENGHT_C + - LENGHT_I + - LENGHT_M + - PERCENTAGE + - STATUS + - TEMPERATURE_C + - TEMPERATURE_F + - METER + - KILOGRAM + - GRAM + - SECOND + - AMPERE + - KELVIN + - CANDELA + - MOLE + - HERTZ + - RADIAN + - STERADIAN + - NEWTON + - PASCAL + - JOULE + - WATT + - COULOMB + - VOLT + - FARAD + - OHM + - SIEMENS + - WEBER + - TESLA + - HENRY + - DEGREES_CELSIUS + - LUMEN + - LUX + - BECQUEREL + - GRAY + - SIEVERT + - KATAL + - SQUARE_METER + - CUBIC_METER + - LITER + - METER_PER_SECOND + - METER_PER_SQUARE_SECOND + - CUBIC_METER_PER_SECOND + - LITER_PER_SECOND + - WATT_PER_SQUARE_METER + - CANDELA_PER_SQUARE_METER + - BIT + - BIT_PER_SECOND + - DEGREES_LATITUDE + - DEGREES_LONGITUDE + - PH_VALUE + - DECIBEL + - DECIBEL_1W + - BEL + - COUNT + - RATIO_DIV + - RATIO_MOD + - PERCENTAGE_RELATIVE_HUMIDITY + - PERCENTAGE_BATTERY_LEVEL + - SECONDS_BATTERY_LEVEL + - EVENT_RATE_SECOND + - EVENT_RATE_MINUTE + - HEART_RATE + - HEART_BEATS + - SIEMENS_PER_METER + - LOCATION + - COLOR_HSB + - COLOR_RGB + - GENERIC_COMPLEX_PROPERTY + - HOME_COLORED_LIGHT + - HOME_DIMMED_LIGHT + - HOME_LIGHT + - HOME_CONTACT_SENSOR + - HOME_MOTION_SENSOR + - HOME_SMART_PLUG + - HOME_TEMPERATURE + - HOME_TEMPERATURE_C + - HOME_TEMPERATURE_F + - HOME_SWITCH + - HOME_TELEVISION + - GOOGLE_HOME_COLORED_LIGHT + - GOOGLE_HOME_DIMMED_LIGHT + - GOOGLE_HOME_LIGHT + - GOOGLE_HOME_CONTACT_SENSOR + - GOOGLE_HOME_MOTION_SENSOR + - GOOGLE_HOME_SMART_PLUG + - GOOGLE_HOME_TEMPERATURE + - GOOGLE_HOME_TEMPERATURE_C + - GOOGLE_HOME_TEMPERATURE_F + - GOOGLE_HOME_SWITCH + - SMART_HOME_COLORED_LIGHT + - SMART_HOME_DIMMED_LIGHT + - SMART_HOME_LIGHT + - SMART_HOME_CONTACT_SENSOR + - SMART_HOME_MOTION_SENSOR + - SMART_HOME_SMART_PLUG + - SMART_HOME_TEMPERATURE + - SMART_HOME_TEMPERATURE_C + - SMART_HOME_TEMPERATURE_F + - SMART_HOME_SWITCH + - SMART_HOME_TELEVISION + - ENERGY + - FORCE + - TEMPERATURE + - POWER + - ELECTRIC_CURRENT + - ELECTRIC_POTENTIAL + - ELECTRICAL_RESISTANCE + - CAPACITANCE + - TIME + - FREQUENCY + - DATA_RATE + - ACCELERATION + - AREA + - LENGTH + - VELOCITY + - MASS + - VOLUME + - FLOW_RATE + - ANGLE + - ILLUMINANCE + - LUMINOUS_FLUX + - LUMINANCE + - LUMINOUS_INTENSITY + - LOGARITHMIC_QUANTITY + - PRESSURE + - INFORMATION_CONTENT + - SCHEDULE + type: string + update_parameter: + description: The update frequency in seconds, or the amount of the property + has to change in order to trigger an update + format: double + type: number + update_strategy: + description: The update strategy for the property value + enum: + - ON_CHANGE + - TIMED + type: string + variable_name: + description: The sketch variable name of the property + maxLength: 64 + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + required: + - name + - type + - permission + - update_strategy + title: property + type: object + propertyValue: + description: PropertyValuePayload describes a property value + properties: + device_id: + description: The device who send the property + format: uuid + type: string + value: + description: The property value + required: + - value + title: propertyValue + type: object + push_action: + properties: + body: + $ref: '#/components/schemas/body_expression' + delivery: + $ref: '#/components/schemas/push_delivery_opts' + title: + $ref: '#/components/schemas/title_expression' + required: + - delivery + - title + - body + title: push_action + type: object + push_delivery_opts: + properties: + to: + description: The recipient of a push notification + items: + $ref: '#/components/schemas/user_recipient' + minItems: 1 + type: array + required: + - to + title: push_delivery_opts + type: object + sharerequest: + properties: + message: + description: The message the user want to send to the dashboard owner + type: string + title: sharerequest + type: object + tag: + properties: + key: + description: Key of the tag + maxLength: 64 + pattern: ^[a-zA-Z0-9_.@-]+$ + type: string + value: + description: Value of the tag + maxLength: 64 + pattern: ^[a-zA-Z0-9_.@-]+$ + type: string + required: + - key + - value + title: tag + type: object + template: + description: TemplatePayload describes the needed attribute to apply a template + properties: + custom_template_id: + description: The name of the directory on S3 bucket containing the user's + template + type: string + prefix_name: + description: The prefix to apply to the names of the generated resources + maxLength: 45 + pattern: ^[a-zA-Z0-9_. -]+$ + type: string + template_name: + description: The name of the directory on S3 bucket containing the template + example: remote-controlled-lights + type: string + things_options: + additionalProperties: true + type: object + required: + - template_name + title: template + type: object + thingSketch: + description: ThingSketchPayload describes a sketch of a thing + properties: + sketch_version: + description: The autogenerated sketch version + enum: + - v1 + - v2 + type: string + title: thingSketch + type: object + thingUpdate: + description: Payload to update an existing thing + properties: + assistant: + description: The kind of voice assistant the thing is connected to, it can + be ALEXA | GOOGLE | NONE + enum: + - ALEXA + - GOOGLE + - NONE + type: string + device_id: + description: The arn of the associated device + format: uuid + type: string + id: + description: The id of the thing + format: uuid + type: string + name: + description: The friendly name of the thing + maxLength: 64 + pattern: ^[a-zA-Z0-9_. -]+$ + type: string + properties: + description: The properties of the thing + items: + $ref: '#/components/schemas/property' + type: array + timezone: + description: |- + A time zone name. + Check /v2/timezones for a list of valid names. + type: string + webhook_active: + description: Webhook uri + type: boolean + webhook_uri: + description: Webhook uri + type: string + title: thingUpdate + type: object + title_expression: + properties: + expression: + description: Content of the title (or subject) of a message, variables are + allowed + maxLength: 100 + type: string + variables: + description: Variables used by the expression + items: + $ref: '#/components/schemas/variable' + type: array + required: + - expression + title: title_expression + type: object + trigger: + properties: + actions: + description: A list of actions to be associated with the trigger + items: + $ref: '#/components/schemas/create-action' + type: array + active: + description: Is true if the trigger is enabled + type: boolean + description: + description: The description of the trigger + type: string + device_status_source: + $ref: '#/components/schemas/device_status_source' + id: + description: The id of the trigger + format: uuid + type: string + name: + description: The name of the trigger + type: string + property_id: + description: Id of the property the trigger is associated to (mutually exclusive + with 'device_status_source') + format: uuid + type: string + title: trigger + type: object + update-action: + properties: + description: + description: The description of the trigger + type: string + email: + $ref: '#/components/schemas/email_action' + name: + description: The name of the action + type: string + push_notification: + $ref: '#/components/schemas/push_action' + trigger_id: + description: Id of the trigger the action is associated to + format: uuid + type: string + title: update-action + type: object + updateSketch: + properties: + sketch_version: + description: The autogenerated sketch version + enum: + - v1 + - v2 + type: string + title: updateSketch + type: object + user_recipient: + properties: + email: + description: The email address of the user + type: string + id: + description: The id of the user + format: uuid + type: string + username: + description: The username of the user + type: string + required: + - id + title: user_recipient + type: object + variable: + properties: + attribute: + description: The template expression that extracts the value from the respective + entity + enum: + - ID + - NAME + - VALUE + - TIMESTAMP + - USERNAME + - EMAIL + - STATUS + example: PROPERTY + type: string + entity: + description: Type of the entity being referenced + enum: + - RECIPIENT + - USER + - DEVICE + - THING + - PROPERTY + - TRIGGERING_DEVICE + example: PROPERTY + type: string + id: + description: The ID of the referenced entity + format: uuid + type: string + placeholder: + description: Name of the variable as referenced by the expression + type: string + property_id: + description: The ID of the property referenced entity + type: string + thing_id: + description: The ID of the thing referenced entity + type: string + required: + - placeholder + - entity + - attribute + title: variable + type: object + widget: + description: Widget describes a dashboard widget + properties: + height: + description: Widget current height for desktop + format: int64 + type: integer + height_mobile: + description: Widget current height for mobile + format: int64 + type: integer + id: + description: The UUID of the widget, set by client + format: uuid + type: string + name: + description: The name of the widget + type: string + options: + additionalProperties: true + description: Widget options + type: object + type: + description: The type of the widget + type: string + variables: + items: + format: uuid + type: string + type: array + width: + description: Widget current width for desktop + format: int64 + type: integer + width_mobile: + description: Widget current width for mobile + format: int64 + type: integer + x: + description: Widget x position for desktop + format: int64 + type: integer + x_mobile: + description: Widget x position for mobile + format: int64 + type: integer + "y": + description: Widget y position for desktop + format: int64 + type: integer + y_mobile: + description: Widget y position for mobile + format: int64 + type: integer + required: + - id + - type + - width + - height + - x + - "y" + - options + title: widget + type: object + widgetlink: + properties: + variables: + items: + format: uuid + type: string + type: array + title: widgetlink + type: object +info: + description: |2- + + Provides a set of endpoints to manage Arduino IoT Cloud **Devices**, **Things**, **Properties** and **Timeseries**. This API can be called just with any HTTP Client, or using one of these clients: + + * [Javascript NPM package](https://www.npmjs.com/package/@arduino/arduino-iot-client) + + * [Python PYPI Package](https://pypi.org/project/arduino-iot-client/) + + * [Golang Module](https://github.com/arduino/iot-client-go) + title: Arduino IoT Cloud API + version: "2.0" +openapi: 3.0.3 +paths: + /v1/actions: + get: + description: Returns the list of actions + operationId: actions_v1#list + parameters: + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.action+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoActionCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoActionCollection' + description: OK + "401": + content: + application/vnd.arduino.action+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.action+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.action+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list actions_v1 + tags: + - triggers_v1 + post: + description: Creates a new action + operationId: actions_v1#create + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/create-action' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/create-action' + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + description: Created + "400": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "412": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create actions_v1 + tags: + - triggers_v1 + /v1/actions/{id}: + delete: + description: Removes an action + operationId: actions_v1#delete + parameters: + - description: The id of the action + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete actions_v1 + tags: + - triggers_v1 + get: + description: Returns an action + operationId: actions_v1#show + parameters: + - description: The id of the action + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + description: OK + "401": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show actions_v1 + tags: + - triggers_v1 + put: + description: Updates an action + operationId: actions_v1#update + parameters: + - description: The id of the action + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/update-action' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/update-action' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + description: OK + "400": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update actions_v1 + tags: + - triggers_v1 + /v1/lora-devices/: + put: + description: Create a new lora device. Its info are saved on our database, and + on the lora provider network. Creates a device_v2 automatically + operationId: lora_devices_v1#create + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLoraDevicesV1Payload' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CreateLoraDevicesV1Payload' + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.loradevicev1+json: + schema: + $ref: '#/components/schemas/ArduinoLoradevicev1' + description: Created + summary: create lora_devices_v1 + tags: + - lora_devices_v1 + /v1/lora-freq-plans/: + get: + description: List the lora frequency plans supported + operationId: lora_freq_plan_v1#list + responses: + "200": + content: + application/vnd.arduino.lorafreqplansv1+json: + schema: + $ref: '#/components/schemas/ArduinoLorafreqplansv1' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoLorafreqplansv1' + description: OK + "401": + content: + application/vnd.arduino.lorafreqplansv1+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "500": + content: + application/vnd.arduino.lorafreqplansv1+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + summary: list lora_freq_plan_v1 + tags: + - lora_freq_plan_v1 + /v1/network_credentials/{type}: + get: + description: Show required network credentials depending on device type + operationId: network_credentials_v1#show + parameters: + - description: Connection used by the device + in: query + name: connection + schema: + enum: + - wifi + - eth + - wifiandsecret + - gsm + - nb + - lora + - catm1 + - cellular + type: string + - description: Device type + in: path + name: type + required: true + schema: + enum: + - mkrwifi1010 + - mkr1000 + - nano_33_iot + - mkrgsm1400 + - mkrwan1310 + - mkrwan1300 + - mkrnb1500 + - lora-device + - login_and_secretkey_wifi + - envie_m7 + - nanorp2040connect + - nicla_vision + - opta + - giga + - portenta_c33 + - unor4wifi + - nano_nora + type: string + responses: + "200": + content: + application/vnd.arduino.credentialsv1+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoCredentialsv1Collection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoCredentialsv1Collection' + description: OK + "401": + content: + application/vnd.arduino.credentialsv1+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + summary: show network_credentials_v1 + tags: + - network_credentials_v1 + /v1/network_credentials/{type}/connections: + get: + description: Show available connection types depending on device type + operationId: network_credentials_v1#showByDevice + parameters: + - description: Device type + in: path + name: type + required: true + schema: + enum: + - mkrwifi1010 + - mkr1000 + - nano_33_iot + - mkrgsm1400 + - mkrwan1310 + - mkrwan1300 + - mkrnb1500 + - lora-device + - login_and_secretkey_wifi + - envie_m7 + - nanorp2040connect + - nicla_vision + - opta + - giga + - portenta_c33 + - unor4wifi + - nano_nora + type: string + responses: + "200": + description: OK + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + summary: showByDevice network_credentials_v1 + tags: + - network_credentials_v1 + /v1/property_types: + get: + description: Returns the list of available property types + operationId: property_types_v1#listTypes + responses: + "200": + content: + application/vnd.arduino.propertytype+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoPropertytypeCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoPropertytypeCollection' + description: OK + "500": + content: + application/vnd.arduino.propertytype+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: listTypes property_types_v1 + tags: + - property_types_v1 + /v1/templates: + put: + description: Apply an existing cloud template and generate all the needed resources + operationId: templates#apply + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/template' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/template' + description: TemplatePayload describes the needed attribute to apply a template + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/ArduinoTemplate' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTemplate' + description: OK + "400": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "409": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Conflict + "500": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + summary: apply templates + tags: + - templates + /v1/triggers: + get: + description: Returns the list of triggers + operationId: triggers_v1#list + parameters: + - description: The id of the device associated with the triggers (mutually exclusive + with 'property_id') + in: query + name: device_id + schema: + type: string + - description: The id of the property associated with the triggers (mutually + exclusive with 'device_id') + in: query + name: property_id + schema: + type: string + - description: The source type of the trigger, could be PROPERTY, DEVICE_INCLUDE + or DEVICE_EXCLUDE + in: query + name: source_type + schema: + enum: + - PROPERTY + - DEVICE_INCLUDE + - DEVICE_EXCLUDE + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.trigger+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoTriggerCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTriggerCollection' + description: OK + "400": + content: + application/vnd.arduino.trigger+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.trigger+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.trigger+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.trigger+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list triggers_v1 + tags: + - triggers_v1 + put: + description: Creates a new trigger + operationId: triggers_v1#create + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trigger' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/trigger' + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + description: Created + "400": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "412": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create triggers_v1 + tags: + - triggers_v1 + /v1/triggers/{id}: + delete: + description: Removes a trigger + operationId: triggers_v1#delete + parameters: + - description: The id of the trigger + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete triggers_v1 + tags: + - triggers_v1 + get: + description: Returns a trigger + operationId: triggers_v1#show + parameters: + - description: The id of the trigger + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.trigger_with_linked_entities+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger_with_linked_entities' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger_with_linked_entities' + description: OK + "401": + content: + application/vnd.arduino.trigger_with_linked_entities+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.trigger_with_linked_entities+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.trigger_with_linked_entities+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show triggers_v1 + tags: + - triggers_v1 + patch: + description: Patch a trigger + operationId: triggers_v1#patch + parameters: + - description: The id of the trigger + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trigger' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/trigger' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + description: OK + "400": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: patch triggers_v1 + tags: + - triggers_v1 + post: + description: Updates a trigger + operationId: triggers_v1#update + parameters: + - description: The id of the trigger + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trigger' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/trigger' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + description: OK + "400": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update triggers_v1 + tags: + - triggers_v1 + /v1/triggers/{id}/template: + get: + description: Extract template from the given trigger + operationId: triggers_v1#template + parameters: + - description: The id of the trigger + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.trigger_template+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger_template' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger_template' + description: OK + "400": + content: + application/vnd.arduino.trigger_template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.trigger_template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.trigger_template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.trigger_template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: template triggers_v1 + tags: + - triggers_v1 + /v2/dashboards: + get: + description: Returns the list of dashboards + operationId: dashboards_v2#list + parameters: + - description: The name of the dashboard + in: query + name: name + schema: + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + - description: The user_id of the dashboard's owner + in: query + name: user_id + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.dashboardv2+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2Collection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2Collection' + description: OK + "400": + content: + application/vnd.arduino.dashboardv2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardv2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "500": + content: + application/vnd.arduino.dashboardv2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list dashboards_v2 + tags: + - dashboards_v2 + post: + description: Create a new dashboard + operationId: dashboards_v2#create + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/dashboardv2' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/dashboardv2' + description: DashboardV2Payload describes a dashboard + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + description: Created + "400": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "500": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create dashboards_v2 + tags: + - dashboards_v2 + /v2/dashboards/{id}: + delete: + description: Delete a dashboard + operationId: dashboards_v2#delete + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete dashboards_v2 + tags: + - dashboards_v2 + get: + description: Show a dashboard + operationId: dashboards_v2#show + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + description: OK + "401": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show dashboards_v2 + tags: + - dashboards_v2 + put: + description: Updates an existing dashboard + operationId: dashboards_v2#update + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/dashboardv2' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/dashboardv2' + description: DashboardV2Payload describes a dashboard + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + description: OK + "400": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update dashboards_v2 + tags: + - dashboards_v2 + /v2/dashboards/{id}/clone: + put: + description: Clone an existing dashboard + operationId: dashboards_v2#clone + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/clone' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/clone' + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + description: Created + "400": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: clone dashboards_v2 + tags: + - dashboards_v2 + /v2/dashboards/{id}/share_request: + put: + description: Request access to a dashboard + operationId: dashboards_v2#requestAccess + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/sharerequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/sharerequest' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: requestAccess dashboards_v2 + tags: + - dashboards_v2 + /v2/dashboards/{id}/shares: + get: + description: List of users the dashboard has been shared with + operationId: dashboards_v2#listShares + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.dashboardshare+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoDashboardshareCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardshareCollection' + description: OK + "400": + content: + application/vnd.arduino.dashboardshare+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardshare+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardshare+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.dashboardshare+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: listShares dashboards_v2 + tags: + - dashboards_v2 + put: + description: Share a dashboard + operationId: dashboards_v2#share + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/dashboardshare' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/dashboardshare' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: share dashboards_v2 + tags: + - dashboards_v2 + /v2/dashboards/{id}/shares/{user_id}: + delete: + description: Delete a user the dashboard has been shared with + operationId: dashboards_v2#deleteShare + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - description: The id of the user + in: path + name: user_id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: deleteShare dashboards_v2 + tags: + - dashboards_v2 + /v2/dashboards/{id}/template: + get: + description: Get a template of the dashboard + operationId: dashboards_v2#template + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.dashboardv2template+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2template' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2template' + description: OK + "400": + content: + application/vnd.arduino.dashboardv2template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardv2template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.dashboardv2template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: template dashboards_v2 + tags: + - dashboards_v2 + /v2/dashboards/{id}/widgets/{widgetId}/variables: + put: + description: Link or detach widget variables + operationId: dashboards_v2#link + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - description: The id of the widget + in: path + name: widgetId + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/widgetlink' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/widgetlink' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.variableslinks+json: + schema: + $ref: '#/components/schemas/ArduinoVariableslinks' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoVariableslinks' + description: OK + "400": + content: + application/vnd.arduino.variableslinks+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.variableslinks+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.variableslinks+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.variableslinks+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: link dashboards_v2 + tags: + - dashboards_v2 + /v2/devices: + get: + description: Returns the list of devices associated to the user + operationId: devices_v2#list + parameters: + - description: If true, returns all the devices + in: query + name: across_user_ids + schema: + default: false + type: boolean + - description: Filter by device serial number + in: query + name: serial + schema: + type: string + - description: Filter by tags + in: query + name: tags + schema: + items: + maxLength: 129 + pattern: ^[a-zA-Z0-9_.@-]+:[a-zA-Z0-9_.@-]+$ + type: string + type: array + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Collection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Collection' + description: OK + "400": + content: + application/vnd.arduino.devicev2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "500": + content: + application/vnd.arduino.devicev2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list devices_v2 + tags: + - devices_v2 + put: + description: Creates a new device associated to the user. + operationId: devices_v2#create + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDevicesV2Payload' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CreateDevicesV2Payload' + description: DeviceV2 describes a device. + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + description: Created + "401": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "412": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create devices_v2 + tags: + - devices_v2 + /v2/devices/{id}: + delete: + description: Removes a device associated to the user + operationId: devices_v2#delete + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete devices_v2 + tags: + - devices_v2 + get: + description: Returns the device requested by the user + operationId: devices_v2#show + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + description: OK + "401": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show devices_v2 + tags: + - devices_v2 + post: + description: Updates a device associated to the user + operationId: devices_v2#update + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devicev2' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/devicev2' + description: DeviceV2 describes a device. + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + description: OK + "400": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update devices_v2 + tags: + - devices_v2 + /v2/devices/{id}/certs: + get: + description: Returns the list of certs associated to the device + operationId: devices_v2_certs#list + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2.cert+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoDevicev2CertCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2CertCollection' + description: OK + "401": + content: + application/vnd.arduino.devicev2.cert+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.cert+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list devices_v2_certs + tags: + - devices_v2_certs + put: + description: Creates a new cert associated to a device. The csr is signed and + saved in database. The CommonName will be replaced with the device id. + operationId: devices_v2_certs#create + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDevicesV2CertsPayload' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CreateDevicesV2CertsPayload' + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + description: Created + "400": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create devices_v2_certs + tags: + - devices_v2_certs + /v2/devices/{id}/certs/{cid}: + delete: + description: Removes a cert associated to a device + operationId: devices_v2_certs#delete + parameters: + - description: The id of the cert + in: path + name: cid + required: true + schema: + type: string + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete devices_v2_certs + tags: + - devices_v2_certs + get: + description: Returns the cert requested by the user + operationId: devices_v2_certs#show + parameters: + - description: The id of the cert + in: path + name: cid + required: true + schema: + type: string + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + description: OK + "401": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show devices_v2_certs + tags: + - devices_v2_certs + post: + description: Updates a cert associated to a device. The csr is signed and saved + in database. The CommonName will be replaced with the device id. + operationId: devices_v2_certs#update + parameters: + - description: The id of the cert + in: path + name: cid + required: true + schema: + type: string + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devicev2.cert' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/devicev2.cert' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + description: OK + "400": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update devices_v2_certs + tags: + - devices_v2_certs + /v2/devices/{id}/events: + get: + description: GET device events + operationId: devices_v2#getEvents + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: The number of events to select + in: query + name: limit + schema: + type: integer + - description: The time at which to start selecting events + in: query + name: start + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2.event.properties+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2EventProperties' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2EventProperties' + description: OK + "401": + content: + application/vnd.arduino.devicev2.event.properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2.event.properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.event.properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + "503": + content: + application/vnd.arduino.devicev2.event.properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: getEvents devices_v2 + tags: + - devices_v2 + /v2/devices/{id}/ota: + post: + description: Upload a binary and send it to a device + operationId: devices_v2_ota#upload + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + multipart/form-data: + schema: + properties: + async: + default: true + description: If false, wait for the full OTA process, until it gets + a result from the device + type: boolean + x-formData-name: async + expire_in_mins: + default: 10 + description: Binary expire time in minutes, default 10 mins + type: integer + x-formData-name: expire_in_mins + ota_file: + description: OTA file + format: binary + required: + - ota_file + type: string + x-formData-name: ota_file + required: + - ota_file + type: object + responses: + "200": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Otaupload' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Otaupload' + description: OK + "202": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Otaupload' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Otaupload' + description: Accepted + "400": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "409": + description: Conflict + "410": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Gone + "412": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: upload devices_v2_ota + tags: + - devices_v2_ota + put: + description: Send a binary url to a device + operationId: devices_v2_ota#send + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devicev2.otabinaryurl' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/devicev2.otabinaryurl' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "202": + description: Accepted + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "410": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Gone + "412": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: send devices_v2_ota + tags: + - devices_v2_ota + /v2/devices/{id}/ota/url: + post: + description: Generate a url for downloading a binary + operationId: devices_v2_ota#url + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devicev2.otaurlpyalod' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/devicev2.otaurlpyalod' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "202": + description: Accepted + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "410": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Gone + "412": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: url devices_v2_ota + tags: + - devices_v2_ota + /v2/devices/{id}/pass: + delete: + description: Removes the password for the device. + operationId: devices_v2_pass#delete + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete devices_v2_pass + tags: + - devices_v2_pass + get: + description: Returns whether the password for this device is set or not. It + doesn't return the password. + operationId: devices_v2_pass#get + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: If true, return a suggested password + in: query + name: suggested_password + schema: + default: false + type: boolean + responses: + "200": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Pass' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Pass' + description: OK + "401": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: get devices_v2_pass + tags: + - devices_v2_pass + post: + description: Check if the password matches. + operationId: devices_v2_pass#check + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckDevicesV2PassPayload' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CheckDevicesV2PassPayload' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: check devices_v2_pass + tags: + - devices_v2_pass + put: + description: Sets the password for the device. It can never be read back. + operationId: devices_v2_pass#set + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devicev2.pass' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/devicev2.pass' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Pass' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Pass' + description: OK + "400": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: set devices_v2_pass + tags: + - devices_v2_pass + /v2/devices/{id}/properties: + get: + description: GET device properties + operationId: devices_v2#getProperties + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: If true, shows the soft deleted properties + in: query + name: show_deleted + schema: + default: false + type: boolean + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2properties+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2properties' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2properties' + description: OK + "401": + content: + application/vnd.arduino.devicev2properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: getProperties devices_v2 + tags: + - devices_v2 + put: + description: Update device properties last values + operationId: devices_v2#updateProperties + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/propertiesValues' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/propertiesValues' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: updateProperties devices_v2 + tags: + - devices_v2 + /v2/devices/{id}/properties/{pid}: + get: + description: GET device properties values in a range of time + operationId: devices_v2#timeseries + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: The number of properties to select + in: query + name: limit + schema: + type: integer + - description: The id of the property + in: path + name: pid + required: true + schema: + type: string + - description: The time at which to start selecting properties + in: query + name: start + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2propertyvalues+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2propertyvalues' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2propertyvalues' + description: OK + "400": + content: + application/vnd.arduino.devicev2propertyvalues+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2propertyvalues+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2propertyvalues+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2propertyvalues+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: timeseries devices_v2 + tags: + - devices_v2 + /v2/devices/{id}/status: + get: + description: GET connection status events + operationId: devices_v2#GetStatusEvents + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: The number of events to select + in: query + name: limit + schema: + default: 30 + type: integer + - description: The time at which to start selecting events + in: query + name: start + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2StatusEvents' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2StatusEvents' + description: OK + "400": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + "503": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: GetStatusEvents devices_v2 + tags: + - devices_v2 + /v2/devices/{id}/tags: + get: + description: List tags associated to the device. + operationId: devices_v2_tags#list + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/ArduinoTags' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTags' + description: OK + "401": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "500": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list devices_v2_tags + tags: + - devices_v2_tags + put: + description: Creates or updates a tag associated to the device. + operationId: devices_v2_tags#upsert + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/tag' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/tag' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: upsert devices_v2_tags + tags: + - devices_v2_tags + /v2/devices/{id}/tags/{key}: + delete: + description: Delete a tag associated to the device given its key. + operationId: devices_v2_tags#delete + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: The key of the tag + in: path + name: key + required: true + schema: + maxLength: 64 + pattern: ^[a-zA-Z0-9_.@-]+$ + type: string + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete devices_v2_tags + tags: + - devices_v2_tags + /v2/series/batch_query: + post: + description: Returns the batch of time-series aggregated samples + operationId: series_v2#batch_query + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchQueryRequestsMediaV1' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/BatchQueryRequestsMediaV1' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.series.batch+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesBatch' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesBatch' + description: OK + "400": + content: + application/vnd.arduino.series.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.series.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.series.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "501": + description: Not Implemented + "503": + content: + application/vnd.arduino.series.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: batch_query series_v2 + tags: + - series_v2 + /v2/series/batch_query_raw: + post: + description: Returns the batch of time-series raw samples + operationId: series_v2#batch_query_raw + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchQueryRawRequestsMediaV1' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/BatchQueryRawRequestsMediaV1' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.series.raw.batch+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesRawBatch' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesRawBatch' + description: OK + "400": + content: + application/vnd.arduino.series.raw.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.series.raw.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.series.raw.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "501": + description: Not Implemented + "503": + content: + application/vnd.arduino.series.raw.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: batch_query_raw series_v2 + tags: + - series_v2 + /v2/series/batch_query_raw/lastvalue: + post: + description: Returns the batch of time-series data raw + operationId: series_v2#batch_query_raw_last_value + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchLastValueRequestsMediaV1' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/BatchLastValueRequestsMediaV1' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.series.raw.batch.lastvalue+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesRawBatchLastvalue' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesRawBatchLastvalue' + description: OK + "401": + content: + application/vnd.arduino.series.raw.batch.lastvalue+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.series.raw.batch.lastvalue+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "501": + description: Not Implemented + "503": + content: + application/vnd.arduino.series.raw.batch.lastvalue+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: batch_query_raw_last_value series_v2 + tags: + - series_v2 + /v2/series/batch_query_sampling: + post: + description: 'Returns a batch of time-series sampled samples. To be used for + types that does not support mathematic aggregation. Types supported: strings, + complex types.' + operationId: series_v2#batch_query_sampling + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchQuerySampledRequestsMediaV1' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/BatchQuerySampledRequestsMediaV1' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.series.batch.sampled+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesBatchSampled' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesBatchSampled' + description: OK + "400": + content: + application/vnd.arduino.series.batch.sampled+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.series.batch.sampled+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.series.batch.sampled+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "501": + description: Not Implemented + "503": + content: + application/vnd.arduino.series.batch.sampled+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: batch_query_sampling series_v2 + tags: + - series_v2 + /v2/series/historic_data: + post: + description: Request sending of historical data of properties by email + operationId: series_v2#historic_data + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HistoricDataRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/HistoricDataRequest' + required: true + x-originalParamName: payload + responses: + "202": + description: Accepted + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: historic_data series_v2 + tags: + - series_v2 + /v2/things: + get: + description: Returns the list of things associated to the user + operationId: things_v2#list + parameters: + - description: If true, returns all the things + in: query + name: across_user_ids + schema: + default: false + type: boolean + - description: The id of the device you want to filter + in: query + name: device_id + schema: + type: string + - description: Filter only the desired things + in: query + name: ids + schema: + items: + type: string + type: array + - description: If true, shows the soft deleted things + in: query + name: show_deleted + schema: + default: false + type: boolean + - description: If true, returns things with their properties, and last values + in: query + name: show_properties + schema: + default: false + type: boolean + - description: Filter by tags + in: query + name: tags + schema: + items: + maxLength: 129 + pattern: ^[a-zA-Z0-9_.@-]+:[a-zA-Z0-9_.@-]+$ + type: string + type: array + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.thing+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoThingCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThingCollection' + description: OK + "400": + content: + application/vnd.arduino.thing+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "500": + content: + application/vnd.arduino.thing+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list things_v2 + tags: + - things_v2 + put: + description: Creates a new thing associated to the user + operationId: things_v2#create + parameters: + - description: If true, detach device from the other thing, and attach to this + thing + in: query + name: force + schema: + default: false + type: boolean + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ThingCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ThingCreate' + description: Payload to create a new thing + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: Created + "400": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "409": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Conflict + "412": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create things_v2 + tags: + - things_v2 + /v2/things/{id}: + delete: + description: Removes a thing associated to the user + operationId: things_v2#delete + parameters: + - description: If true, hard delete the thing + in: query + name: force + schema: + default: false + type: boolean + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete things_v2 + tags: + - things_v2 + get: + description: Returns the thing requested by the user + operationId: things_v2#show + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: If true, shows the soft deleted thing + in: query + name: show_deleted + schema: + default: false + type: boolean + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: OK + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show things_v2 + tags: + - things_v2 + post: + description: Updates a thing associated to the user + operationId: things_v2#update + parameters: + - description: If true, detach device from the other thing, and attach to this + thing + in: query + name: force + schema: + default: false + type: boolean + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/thingUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/thingUpdate' + description: Payload to update an existing thing + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: OK + "400": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "409": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Conflict + "412": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update things_v2 + tags: + - things_v2 + /v2/things/{id}/clone: + put: + description: Clone a given thing + operationId: things_v2#clone + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ThingClone' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ThingClone' + description: Payload to clone a new thing from an existing one + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: OK + "400": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: clone things_v2 + tags: + - things_v2 + /v2/things/{id}/properties: + get: + description: Returns the list of properties associated to the thing + operationId: properties_v2#list + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: If true, shows the soft deleted properties + in: query + name: show_deleted + schema: + default: false + type: boolean + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.property+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoPropertyCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoPropertyCollection' + description: OK + "401": + content: + application/vnd.arduino.property+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.property+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.property+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list properties_v2 + tags: + - properties_v2 + put: + description: Creates a new property associated to a thing + operationId: properties_v2#create + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/property' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/property' + description: PropertyPayload describes a property of a thing. No field is + mandatory + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + description: Created + "400": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "412": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create properties_v2 + tags: + - properties_v2 + /v2/things/{id}/properties/{pid}: + delete: + description: Removes a property associated to a thing + operationId: properties_v2#delete + parameters: + - description: If true, hard delete the property + in: query + name: force + schema: + default: false + type: boolean + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the property + in: path + name: pid + required: true + schema: + type: string + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete properties_v2 + tags: + - properties_v2 + get: + description: Returns the property requested by the user + operationId: properties_v2#show + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the property + in: path + name: pid + required: true + schema: + type: string + - description: If true, shows the soft deleted properties + in: query + name: show_deleted + schema: + default: false + type: boolean + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + description: OK + "401": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show properties_v2 + tags: + - properties_v2 + post: + description: Updates a property associated to a thing + operationId: properties_v2#update + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the property + in: path + name: pid + required: true + schema: + type: string + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/property' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/property' + description: PropertyPayload describes a property of a thing. No field is + mandatory + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + description: OK + "400": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update properties_v2 + tags: + - properties_v2 + /v2/things/{id}/properties/{pid}/publish: + put: + description: Publish a property value to MQTT + operationId: properties_v2#publish + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the property + in: path + name: pid + required: true + schema: + type: string + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/propertyValue' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/propertyValue' + description: PropertyValuePayload describes a property value + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: publish properties_v2 + tags: + - properties_v2 + /v2/things/{id}/properties/{pid}/timeseries: + get: + description: 'Get numerical property''s historic data binned on a specified + time interval (note: the total number of data points should NOT be greater + than 1000 otherwise the result will be truncated)' + operationId: properties_v2#timeseries + parameters: + - description: Samples aggregation statistic. Supported aggregations AVG|MAX|MIN|COUNT|SUM|PCT_99|PCT_95|PCT_90|PCT_75|PCT_50|PCT_15|PCT_5 + in: query + name: aggregation + schema: + enum: + - AVG + - MIN + - MAX + - SUM + - COUNT + - PCT_99 + - PCT_95 + - PCT_90 + - PCT_75 + - PCT_50 + - PCT_15 + - PCT_5 + type: string + - description: Whether data's ordering (by time) should be descending + in: query + name: desc + schema: + default: false + type: boolean + - description: 'Get data with a timestamp >= to this date (default: 2 weeks + ago, min: 1842-01-01T00:00:00Z, max: 2242-01-01T00:00:00Z)' + in: query + name: from + schema: + type: string + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: 'Binning interval in seconds (defaut: the smallest possible value + compatibly with the limit of 1000 data points in the response)' + in: query + name: interval + schema: + minimum: 1 + type: integer + - description: ID of a numerical property + in: path + name: pid + required: true + schema: + type: string + - description: 'Get data with a timestamp < to this date (default: now, min: + 1842-01-01T00:00:00Z, max: 2242-01-01T00:00:00Z)' + in: query + name: to + schema: + type: string + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.timeseriesmedia+json: + schema: + $ref: '#/components/schemas/ArduinoTimeseriesmedia' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTimeseriesmedia' + description: OK + "400": + content: + application/vnd.arduino.timeseriesmedia+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.timeseriesmedia+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.timeseriesmedia+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: timeseries properties_v2 + tags: + - properties_v2 + /v2/things/{id}/sketch: + delete: + operationId: things_v2#deleteSketch + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: OK + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: deleteSketch things_v2 + tags: + - things_v2 + put: + description: Creates a new sketch thing associated to the thing + operationId: things_v2#createSketch + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/thingSketch' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/thingSketch' + description: ThingSketchPayload describes a sketch of a thing + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: Created + "400": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "412": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: createSketch things_v2 + tags: + - things_v2 + /v2/things/{id}/sketch/{sketchId}: + put: + description: Update an existing thing sketch + operationId: things_v2#updateSketch + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the sketch + in: path + name: sketchId + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/updateSketch' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/updateSketch' + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: OK + "400": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "412": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: updateSketch things_v2 + tags: + - things_v2 + /v2/things/{id}/tags: + get: + description: List tags associated to the thing. + operationId: things_v2_tags#list + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/ArduinoTags' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTags' + description: OK + "401": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list things_v2_tags + tags: + - things_v2_tags + put: + description: Creates or updates a tag associated to the thing. + operationId: things_v2_tags#upsert + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/tag' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/tag' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: upsert things_v2_tags + tags: + - things_v2_tags + /v2/things/{id}/tags/{key}: + delete: + description: Delete a tag associated to the thing given its key. + operationId: things_v2_tags#delete + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The key of the tag + in: path + name: key + required: true + schema: + maxLength: 64 + type: string + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete things_v2_tags + tags: + - things_v2_tags + /v2/things/{id}/template: + get: + description: Extract template from the given thing + operationId: things_v2#template + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.thingtemplate+json: + schema: + $ref: '#/components/schemas/ArduinoThingtemplate' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThingtemplate' + description: OK + "400": + content: + application/vnd.arduino.thingtemplate+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thingtemplate+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thingtemplate+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.thingtemplate+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: template things_v2 + tags: + - things_v2 diff --git a/spec/v2/swagger.yaml b/spec/v2/swagger.yaml index d74ec91..32c4411 100644 --- a/spec/v2/swagger.yaml +++ b/spec/v2/swagger.yaml @@ -1,7418 +1,10745 @@ components: - responses: - Accepted: - description: Accepted - BadRequest: - description: Bad Request - Conflict: - description: Conflict - NotFound: - description: Not Found - NotImplemented: - description: Not Implemented - OK: - description: OK - schemas: - ArduinoCompressedv2: - description: compressed contains the info from which to generate the certificate - (default view) - properties: - authority_key_identifier: - description: The Authority Key Identifier of the certificate - type: string - not_after: - description: The ending date of the certificate - format: date-time - type: string - not_before: - description: The starting date of the certificate - format: date-time - type: string - serial: - description: The serial number of the certificate - type: string - signature: - description: The signature of the certificate - type: string - signature_asn1_x: - description: The ASN1 X component of certificate signature - type: string - signature_asn1_y: - description: The ASN1 Y component of certificate signature - type: string - required: - - serial - - not_before - - not_after - - signature - - signature_asn1_x - - signature_asn1_y - title: 'Mediatype identifier: application/vnd.arduino.compressedv2; view=default' - type: object - ArduinoCredentialsv1: - description: ArduinoCredentialsv1 media type (default view) - properties: - friendly_name: - description: Friendly name - type: string - required: - description: Tell if the parameter is required or not - type: boolean - secret_name: - description: The secret parameter name - type: string - sensitive: - description: Tell if the field is sensitive - type: boolean - required: - - secret_name - - required - - friendly_name - - sensitive - title: 'Mediatype identifier: application/vnd.arduino.credentialsv1+json; view=default' - type: object - ArduinoCredentialsv1Collection: - description: ArduinoCredentialsv1Collection is the media type for an array of - ArduinoCredentialsv1 (default view) - items: - $ref: '#/components/schemas/ArduinoCredentialsv1' - title: 'Mediatype identifier: application/vnd.arduino.credentialsv1+json; type=collection; - view=default' - type: array - ArduinoDashboardowner: - description: ArduinoDashboardowner media type (default view) - properties: - user_id: - description: The userID of the user who created the dashboard - format: uuid - type: string - username: - description: The username of the user who created the dashboard - type: string - required: - - user_id - title: 'Mediatype identifier: application/vnd.arduino.dashboardowner+json; view=default' - type: object - ArduinoDashboardshare: - description: ArduinoDashboardshare media type (default view) - properties: - user_id: - description: The userID of the user you want to share the dashboard with - format: uuid - type: string - username: - description: The username of the user you want to share the dashboard with - type: string - required: - - user_id - title: 'Mediatype identifier: application/vnd.arduino.dashboardshare+json; view=default' - type: object - ArduinoDashboardshareCollection: - description: ArduinoDashboardshareCollection is the media type for an array - of ArduinoDashboardshare (default view) - items: - $ref: '#/components/schemas/ArduinoDashboardshare' - title: 'Mediatype identifier: application/vnd.arduino.dashboardshare+json; type=collection; - view=default' - type: array - ArduinoDashboardv2: - description: Dashboard is a collection of widgets (default view) - properties: - cover_image: - description: The cover image of the dashboard - maxLength: 1024 - type: string - created_by: - $ref: '#/components/schemas/ArduinoDashboardowner' - id: - description: The friendly name of the dashboard - format: uuid - type: string - name: - description: The friendly name of the dashboard - type: string - organization_id: - description: Id of the organization the dashboard belongs to - format: uuid - type: string - shared_by: - $ref: '#/components/schemas/ArduinoDashboardshare' - shared_with: - $ref: '#/components/schemas/ArduinoDashboardshareCollection' - updated_at: - description: Last update date - format: date-time - type: string - widgets: - $ref: '#/components/schemas/ArduinoWidgetv2Collection' - required: - - id - - name - - updated_at - title: 'Mediatype identifier: application/vnd.arduino.dashboardv2+json; view=default' - type: object - ArduinoDashboardv2Collection: - description: ArduinoDashboardv2Collection is the media type for an array of - ArduinoDashboardv2 (default view) - items: - $ref: '#/components/schemas/ArduinoDashboardv2' - title: 'Mediatype identifier: application/vnd.arduino.dashboardv2+json; type=collection; - view=default' - type: array - ArduinoDashboardv2template: - description: ArduinoDashboardv2template media type (default view) - properties: - cover_image: - description: The cover image of the dashboard - type: string - id: - description: The friendly ID of the dashboard - type: string - name: - description: The friendly name of the dashboard - type: string - widgets: - $ref: '#/components/schemas/ArduinoWidgetv2templateCollection' - required: - - name - title: 'Mediatype identifier: application/vnd.arduino.dashboardv2template+json; - view=default' - type: object - ArduinoDevicev2: - description: ArduinoDevicev2 media type (default view) - properties: - connection_type: - description: The type of the connections selected by the user when multiple - connections are available - enum: - - wifi - - eth - - wifiandsecret - - gsm - - nb - - lora - - catm1 - - cellular - type: string - created_at: - description: Creation date of the device - format: date-time - type: string - device_status: - description: The connection status of the device - enum: - - ONLINE - - OFFLINE - - UNKNOWN - type: string - events: - $ref: '#/components/schemas/ArduinoDevicev2SimplePropertiesCollection' - fqbn: - description: The fully qualified board name - type: string - href: - description: The api reference of this device - type: string - id: - description: The arn of the device - format: uuid - type: string - label: - description: The label of the device - type: string - last_activity_at: - description: Last activity date - format: date-time - type: string - latest_wifi_fw_version: - description: The latest version of the NINA/WIFI101 firmware available for - this device - type: string - metadata: - additionalProperties: true - description: The metadata of the device - type: object - name: - description: The friendly name of the device - type: string - no_sketch: - description: True if the device type can not have an associated sketch - type: boolean - organization_id: - description: Id of the organization the device belongs to - format: uuid - type: string - ota_available: - description: True if the device type is ready to receive OTA updated - type: boolean - ota_compatible: - description: True if the device type is OTA compatible - type: boolean - required_wifi_fw_version: - description: The required version of the NINA/WIFI101 firmware needed by - IoT Cloud - type: string - serial: - description: The serial uuid of the device - type: string - tags: - additionalProperties: true - description: Tags belonging to the device - type: object - thing: - $ref: '#/components/schemas/ArduinoThing' - type: - description: The type of the device - type: string - user_id: - description: The id of the user - format: uuid - type: string - webhooks: - $ref: '#/components/schemas/ArduinoDevicev2WebhookCollection' - wifi_fw_version: - description: The version of the NINA/WIFI101 firmware running on the device - type: string - required: - - id - - name - - type - - label - - user_id - - href - - serial - title: 'Mediatype identifier: application/vnd.arduino.devicev2+json; view=default' - type: object - ArduinoDevicev2Cert: - description: DeviceCertV2 describes a certificate associated to the device (default - view) - properties: - ca: - description: The Certification Authority used to sign the certificate - type: string - compressed: - $ref: '#/components/schemas/ArduinoCompressedv2' - der: - description: The certificate in DER format - type: string - device_id: - description: The unique identifier of the device - format: uuid - type: string - enabled: - default: true - description: Whether the certificate is enabled - type: boolean - href: - description: The api reference of this cert - type: string - id: - description: The unique identifier of the key - format: uuid - type: string - pem: - description: The certificate in pem format - example: "-----BEGIN CERTIFICATE-----\n\t\t\tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO\n\t\t\t3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX\n\t\t\t7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS\n\t\t\tj+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd\n\t\t\tOrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ\n\t\t\t5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl\n\t\t\tFQIDAQAB\n\t\t\t-----END - CERTIFICATE-----" - maxLength: 512 - type: string - required: - - id - - device_id - - enabled - - pem - - der - - compressed - - href - title: 'Mediatype identifier: application/vnd.arduino.devicev2.cert+json; view=default' - type: object - ArduinoDevicev2CertCollection: - description: ArduinoDevicev2CertCollection is the media type for an array of - ArduinoDevicev2Cert (default view) - items: - $ref: '#/components/schemas/ArduinoDevicev2Cert' - title: 'Mediatype identifier: application/vnd.arduino.devicev2.cert+json; type=collection; - view=default' - type: array - ArduinoDevicev2Collection: - description: ArduinoDevicev2Collection is the media type for an array of ArduinoDevicev2 - (default view) - items: - $ref: '#/components/schemas/ArduinoDevicev2' - title: 'Mediatype identifier: application/vnd.arduino.devicev2+json; type=collection; - view=default' - type: array - ArduinoDevicev2EventProperties: - description: ArduinoDevicev2EventProperties media type (default view) - properties: - events: - $ref: '#/components/schemas/ArduinoDevicev2SimplePropertiesCollection' - id: - description: The device of the property - format: uuid - type: string - required: - - id - - events - title: 'Mediatype identifier: application/vnd.arduino.devicev2.event.properties+json; - view=default' - type: object - ArduinoDevicev2Otaupload: - description: ArduinoDevicev2Otaupload media type (default view) - properties: - file_sha: - description: SHA256 of the uploaded file - type: string - ota_id: - description: OTA request id (only available from OTA version 2 and above) - type: string - ota_version: - description: OTA version - format: int64 - type: integer - status: - description: OTA request status (only available from OTA version 2 and above) - type: string - required: - - ota_version - title: 'Mediatype identifier: application/vnd.arduino.devicev2.otaupload+json; - view=default' - type: object - ArduinoDevicev2Pass: - description: DeviceCertV2 describes a password associated to a device (default - view) - properties: - set: - description: Whether the password is set or not - type: boolean - suggested_password: - description: A random suggested password - type: string - required: - - set - title: 'Mediatype identifier: application/vnd.arduino.devicev2.pass+json; view=default' - type: object - ArduinoDevicev2SimpleProperties: - description: ArduinoDevicev2SimpleProperties media type (default view) - properties: - name: - description: The name of the property - type: string - updated_at: - description: Update date of the property - format: date-time - type: string - value: - description: Value of the property - required: - - name - - value - - updated_at - title: 'Mediatype identifier: application/vnd.arduino.devicev2.simple.properties+json; - view=default' - type: object - ArduinoDevicev2SimplePropertiesCollection: - description: ArduinoDevicev2SimplePropertiesCollection is the media type for - an array of ArduinoDevicev2SimpleProperties (default view) - items: - $ref: '#/components/schemas/ArduinoDevicev2SimpleProperties' - title: 'Mediatype identifier: application/vnd.arduino.devicev2.simple.properties+json; - type=collection; view=default' - type: array - ArduinoDevicev2StatusEvent: - description: ArduinoDevicev2StatusEvent media type (default view) - properties: - updated_at: - description: Update timestamp of the status event - format: date-time - type: string - value: - description: The status event of the device - enum: - - CONNECTED - - DISCONNECTED - type: string - required: - - value - - updated_at - title: 'Mediatype identifier: application/vnd.arduino.devicev2.status.event+json; - view=default' - type: object - ArduinoDevicev2StatusEventCollection: - description: ArduinoDevicev2StatusEventCollection is the media type for an array - of ArduinoDevicev2StatusEvent (default view) - items: - $ref: '#/components/schemas/ArduinoDevicev2StatusEvent' - title: 'Mediatype identifier: application/vnd.arduino.devicev2.status.event+json; - type=collection; view=default' - type: array - ArduinoDevicev2StatusEvents: - description: ArduinoDevicev2StatusEvents media type (default view) - properties: - events: - $ref: '#/components/schemas/ArduinoDevicev2StatusEventCollection' - id: - description: The id of the device - format: uuid - type: string - required: - - id - - events - title: 'Mediatype identifier: application/vnd.arduino.devicev2.status.events+json; - view=default' - type: object - ArduinoDevicev2Webhook: - description: DeviceWebhookV2 describes a webhook associated to the device (default - view) - properties: - active: - default: true - description: Whether the webhook is active - type: boolean - id: - description: The uuid of the webhook - format: uuid - type: string - uri: - description: The uri of the webhook - format: uri - type: string - required: - - id - - uri - title: 'Mediatype identifier: application/vnd.arduino.devicev2.webhook+json; - view=default' - type: object - ArduinoDevicev2WebhookCollection: - description: ArduinoDevicev2WebhookCollection is the media type for an array - of ArduinoDevicev2Webhook (default view) - items: - $ref: '#/components/schemas/ArduinoDevicev2Webhook' - title: 'Mediatype identifier: application/vnd.arduino.devicev2.webhook+json; - type=collection; view=default' - type: array - ArduinoDevicev2properties: - description: ArduinoDevicev2properties media type (default view) - properties: - data_retention_days: - description: How many days the data will be kept - format: double - type: number - deviceId: - description: The device of the property - format: uuid - type: string - properties: - $ref: '#/components/schemas/ArduinoPropertyCollection' - user_id: - description: The user id of the owner - format: uuid - type: string - required: - - deviceId - - user_id - - data_retention_days - - properties - title: 'Mediatype identifier: application/vnd.arduino.devicev2properties+json; - view=default' - type: object - ArduinoDevicev2propertyvalue: - description: ArduinoDevicev2propertyvalue media type (default view) - properties: - created_at: - format: date-time - type: string - value: - properties: - payload: - type: string - seqno: - format: int64 - type: integer - statistics: - properties: - adr: - format: double - type: number - channel: - format: double - type: number - duplicate: - format: double - type: number - freq: - format: double - type: number - modBW: - format: double - type: number - rssi: - format: double - type: number - seqno: - format: double - type: number - sf: - format: double - type: number - snr: - format: double - type: number - time: - format: double - type: number - type: object - type: object - title: 'Mediatype identifier: application/vnd.arduino.devicev2propertyvalue+json; - view=default' - type: object - ArduinoDevicev2propertyvalueCollection: - description: ArduinoDevicev2propertyvalueCollection is the media type for an - array of ArduinoDevicev2propertyvalue (default view) - items: - $ref: '#/components/schemas/ArduinoDevicev2propertyvalue' - title: 'Mediatype identifier: application/vnd.arduino.devicev2propertyvalue+json; - type=collection; view=default' - type: array - ArduinoDevicev2propertyvalues: - description: ArduinoDevicev2propertyvalues media type (default view) - properties: - id: - type: string - last_evaluated_key: - properties: - created_at: - format: date-time - type: string - id: - type: string - name: - type: string - type: object - name: - type: string - values: - $ref: '#/components/schemas/ArduinoDevicev2propertyvalueCollection' - required: - - id - - last_evaluated_key - - name - - values - title: 'Mediatype identifier: application/vnd.arduino.devicev2propertyvalues+json; - view=default' - type: object - ArduinoDevicev2templatedevice: - description: ArduinoDevicev2templatedevice media type (default view) - properties: - fqbn: - description: The device fqbn - type: string - name: - description: The device type name - type: string - title: 'Mediatype identifier: application/vnd.arduino.devicev2templatedevice+json; - view=default' - type: object - ArduinoLinkedvariable: - description: ArduinoLinkedvariable media type (default view) - properties: - id: - description: The id of the linked variable - format: uuid - type: string - last_value: - description: Last value of the linked property - last_value_updated_at: - description: Update date of the last value - format: date-time - type: string - name: - description: The name of the variable - type: string - permission: - description: The permission of the linked variable - type: string - thing_id: - description: The id of the related thing - format: uuid - type: string - thing_name: - description: The name of the related thing - type: string - thing_timezone: - $ref: '#/components/schemas/ArduinoTimezone' - type: - description: The type of the variable - type: string - variable_name: - description: The name of the variable in the code - type: string - required: - - id - - name - - variable_name - - thing_id - - thing_name - - type - - permission - title: 'Mediatype identifier: application/vnd.arduino.linkedvariable+json; view=default' - type: object - ArduinoLinkedvariableCollection: - description: ArduinoLinkedvariableCollection is the media type for an array - of ArduinoLinkedvariable (default view) - items: - $ref: '#/components/schemas/ArduinoLinkedvariable' - title: 'Mediatype identifier: application/vnd.arduino.linkedvariable+json; type=collection; - view=default' - type: array - ArduinoLoradevicev1: - description: ArduinoLoradevicev1 media type (default view) - properties: - app_eui: - description: The eui of the app - type: string - app_key: - description: The key of the device - type: string - device_id: - description: The id of the device - format: uuid - type: string - eui: - description: The eui of the lora device - example: "71619230301" - type: string - required: - - eui - - device_id - - app_eui - - app_key - title: 'Mediatype identifier: application/vnd.arduino.loradevicev1+json; view=default' - type: object - ArduinoLorafreqplansv1: - description: ArduinoLorafreqplansv1 media type (default view) - properties: - frequency_plans: - description: The list of frequency plans - items: - $ref: '#/components/schemas/ArduinoLorafreqplanv1' - type: array - title: 'Mediatype identifier: application/vnd.arduino.lorafreqplansv1+json; - view=default' - type: object - ArduinoLorafreqplanv1: - description: ArduinoLorafreqplanv1 media type (default view) - properties: - advanced: - description: Frequency plan only for advanced users - type: boolean - id: - description: The ID of the frequency paln - type: string - name: - description: The name of the frequency plan - type: string - required: - - name - - id - - advanced - title: 'Mediatype identifier: application/vnd.arduino.lorafreqplanv1+json; view=default' - type: object - ArduinoProperty: - description: ArduinoProperty media type (default view) - properties: - created_at: - description: Creation date of the property - format: date-time - type: string - deleted_at: - description: Delete date of the property - format: date-time - type: string - href: - description: The api reference of this property - type: string - id: - description: The id of the property - format: uuid - type: string - last_value: - description: Last value of this property - linked_to_trigger: - description: Indicates if the property is involved in the activation of - at least a trigger - type: boolean - max_value: - description: Maximum value of this property - format: double - type: number - min_value: - description: Minimum value of this property - format: double - type: number - name: - description: The friendly name of the property - type: string - permission: - description: The permission of the property - type: string - persist: - description: If true, data will persist into a timeseries database - type: boolean - sync_id: - description: The id of the sync pool - format: uuid - type: string - tag: - description: The integer id of the property - format: int64 - type: integer - thing_id: - description: The id of the thing - format: uuid - type: string - thing_name: - description: The name of the associated thing - type: string - type: - description: The type of the property - type: string - update_parameter: - description: The update frequency in seconds, or the amount of the property - has to change in order to trigger an update - format: double - type: number - update_strategy: - description: The update strategy for the property value - type: string - updated_at: - description: Update date of the property - format: date-time - type: string - value_updated_at: - description: Last update timestamp of this property - format: date-time - type: string - variable_name: - description: The sketch variable name of the property - type: string - required: - - id - - thing_id - - name - - type - - permission - - update_strategy - - href - title: 'Mediatype identifier: application/vnd.arduino.property+json; view=default' - type: object - ArduinoPropertyCollection: - description: ArduinoPropertyCollection is the media type for an array of ArduinoProperty - (default view) - items: - $ref: '#/components/schemas/ArduinoProperty' - title: 'Mediatype identifier: application/vnd.arduino.property+json; type=collection; - view=default' - type: array - ArduinoPropertytype: - description: ArduinoPropertytype media type (default view) - properties: - assistants: - description: The voice assistants available for this type - items: - type: string - type: array - declaration: - description: The c++ type we are using for this variable type - type: string - deprecated: - description: Tell if this type is deprecated - type: boolean - example: - description: Example of use - type: string - name: - description: The friendly name of the property type - type: string - rw: - description: Tell if the type allow a R/W permission - type: boolean - supersededBy: - description: The type of property to use if it's deprecated - type: string - tags: - description: The tags related to the type - items: - type: string - type: array - type: - description: The api reference of this type - type: string - units: - description: The measure units available for this type - items: - type: string - type: array - required: - - name - - deprecated - - rw - - type - - declaration - title: 'Mediatype identifier: application/vnd.arduino.propertytype+json; view=default' - type: object - ArduinoPropertytypeCollection: - description: ArduinoPropertytypeCollection is the media type for an array of - ArduinoPropertytype (default view) - items: - $ref: '#/components/schemas/ArduinoPropertytype' - title: 'Mediatype identifier: application/vnd.arduino.propertytype+json; type=collection; - view=default' - type: array - ArduinoSeriesBatch: - description: ArduinoSeriesBatch media type (default view) - properties: - resp_version: - description: Response version - format: int64 - type: integer - responses: - description: Responses of the request - items: - $ref: '#/components/schemas/ArduinoSeriesResponse' - type: array - required: - - responses - - resp_version - title: 'Mediatype identifier: application/vnd.arduino.series.batch+json; view=default' - type: object - ArduinoSeriesBatchSampled: - description: ArduinoSeriesBatchSampled media type (default view) - properties: - resp_version: - description: Response version - format: int64 - type: integer - responses: - description: Responses of the request - items: - $ref: '#/components/schemas/ArduinoSeriesSampledResponse' - type: array - required: - - responses - - resp_version - title: 'Mediatype identifier: application/vnd.arduino.series.batch.sampled+json; - view=default' - type: object - ArduinoSeriesRawBatch: - description: ArduinoSeriesRawBatch media type (default view) - properties: - resp_version: - description: Response version - format: int64 - type: integer - responses: - description: Responses of the request - items: - $ref: '#/components/schemas/ArduinoSeriesRawResponse' - type: array - required: - - responses - - resp_version - title: 'Mediatype identifier: application/vnd.arduino.series.raw.batch+json; - view=default' - type: object - ArduinoSeriesRawBatchLastvalue: - description: ArduinoSeriesRawBatchLastvalue media type (default view) - properties: - responses: - description: Responses of the request - items: - $ref: '#/components/schemas/ArduinoSeriesRawLastValueResponse' - type: array - status: - description: Status of the response - type: string - required: - - status - - responses - title: 'Mediatype identifier: application/vnd.arduino.series.raw.batch.lastvalue+json; - view=default' - type: object - ArduinoSeriesRawLastValueResponse: - description: ArduinoSeriesRawLastValueResponse media type (default view) - properties: - count_values: - description: Total number of values in the array 'values' - format: int64 - type: integer - property_id: - description: Property id - format: uuid - type: string - thing_id: - description: Thing id - format: uuid - type: string - times: - description: Timestamp in RFC3339 - items: - format: date-time - type: string - type: array - values: - description: Values can be in Float, String, Bool, Object - items: {} - type: array - required: - - thing_id - - property_id - - count_values - - values - - times - title: 'Mediatype identifier: application/vnd.arduino.series.raw.last.value.response+json; - view=default' - type: object - ArduinoSeriesRawResponse: - description: ArduinoSeriesRawResponse media type (default view) - properties: - count_values: - description: Total number of values in the array 'values' - format: int64 - type: integer - from_date: - description: From date - format: date-time - type: string - message: - default: "" - description: If the response is different than 'ok' - type: string - property_id: - description: Property id - format: uuid - type: string - property_name: - description: Property name - type: string - property_type: - description: Property type - type: string - query: - description: Query of for the data - type: string - resp_version: - description: Response version - format: int64 - type: integer - series: - $ref: '#/components/schemas/BatchQueryRawResponseSeriesMediaV1' - series_limit: - description: Max of values - format: int64 - type: integer - sort: - description: Sorting - enum: - - ASC - - DESC - type: string - status: - description: Status of the response - type: string - thing_id: - description: Thing id - format: uuid - type: string - times: - description: Timestamp in RFC3339 - items: - format: date-time - type: string - type: array - to_date: - description: To date - format: date-time - type: string - values: - description: Values can be in Float, String, Bool, Object - items: {} - type: array - required: - - status - - resp_version - - series - - query - - from_date - - to_date - - sort - - times - - values - - count_values - title: 'Mediatype identifier: application/vnd.arduino.series.raw.response+json; - view=default' - type: object - ArduinoSeriesResponse: - description: ArduinoSeriesResponse media type (default view) - properties: - aggregation: - description: |- - Aggregation statistic function. - For numeric values, AVG statistic is used by default. PCT_X compute the Xth approximate percentile (e.g. PCT_95 is the 95th approximate percentile). - For boolean, BOOL_OR statistic is used as default. - enum: - - AVG - - MIN - - MAX - - SUM - - COUNT - - PCT_99 - - PCT_95 - - PCT_90 - - PCT_75 - - PCT_50 - - PCT_15 - - PCT_5 - - BOOL_OR - - BOOL_AND - example: AVG - type: string - count_values: - description: Total number of values in the array 'values' - format: int64 - type: integer - from_date: - description: From date - format: date-time - type: string - interval: - description: Resolution in seconds - format: int64 - type: integer - message: - default: "" - description: If the response is different than 'ok' - type: string - property_id: - description: Property id - format: uuid - type: string - property_name: - description: Property name - type: string - property_type: - description: Property type - type: string - query: - description: Query of for the data - type: string - resp_version: - description: Response version - format: int64 - type: integer - series_limit: - description: Maximum number of values returned after data aggregation, if - any - format: int64 - type: integer - status: - description: Status of the response - type: string - thing_id: - description: Thing id - format: uuid - type: string - times: - description: Timestamp in RFC3339 - items: - format: date-time - type: string - type: array - to_date: - description: To date - format: date-time - type: string - values: - description: Values in Float - items: - format: double - type: number - type: array - required: - - status - - resp_version - - query - - from_date - - to_date - - interval - - times - - values - - count_values - title: 'Mediatype identifier: application/vnd.arduino.series.response+json; - view=default' - type: object - ArduinoSeriesSampledResponse: - description: ArduinoSeriesSampledResponse media type (default view) - properties: - count_values: - description: Total number of values in the array 'values' - format: int64 - type: integer - from_date: - description: From date - format: date-time - type: string - interval: - description: Resolution in seconds - format: int64 - type: integer - message: - default: "" - description: If the response is different than 'ok' - type: string - property_id: - description: Property id - format: uuid - type: string - property_name: - description: Property name - type: string - property_type: - description: Property type - type: string - query: - description: Query of for the data - type: string - resp_version: - description: Response version - format: int64 - type: integer - series_limit: - description: Maximum number of values returned after data aggregation, if - any - format: int64 - type: integer - status: - description: Status of the response - type: string - thing_id: - description: Thing id - format: uuid - type: string - times: - description: Timestamp in RFC3339 - items: - format: date-time - type: string - type: array - to_date: - description: To date - format: date-time - type: string - values: - description: Values in Float - items: {} - type: array - required: - - status - - resp_version - - query - - from_date - - to_date - - interval - - times - - values - - count_values - title: 'Mediatype identifier: application/vnd.arduino.series.sampled.response+json; - view=default' - type: object - ArduinoTags: - description: ArduinoTags media type (default view) - properties: - tags: - items: - $ref: '#/components/schemas/tag' - type: array - required: - - tags - title: 'Mediatype identifier: application/vnd.arduino.tags+json; view=default' - type: object - ArduinoTemplate: - description: ArduinoTemplate media type (default view) - properties: - dashboards: - items: - format: uuid - type: string - type: array - things: - $ref: '#/components/schemas/ArduinoThingresultCollection' - triggers: - items: - format: uuid - type: string - type: array - required: - - things - title: 'Mediatype identifier: application/vnd.arduino.template+json; view=default' - type: object - ArduinoTemplateproperty: - description: ArduinoTemplateproperty media type (default view) - properties: - id: - description: The friendly id of the property - type: string - name: - description: The friendly name of the property - type: string - permission: - description: The permission of the property - type: string - type: - description: The type of the property - type: string - update_parameter: - description: The update frequency in seconds, or the amount of the property - has to change in order to trigger an update - format: double - type: number - update_strategy: - description: The update strategy for the property value - type: string - variable_name: - description: The sketch variable name of the property - type: string - required: - - name - - type - - permission - - update_strategy - title: 'Mediatype identifier: application/vnd.arduino.templateproperty+json; - view=default' - type: object - ArduinoTemplatepropertyCollection: - description: ArduinoTemplatepropertyCollection is the media type for an array - of ArduinoTemplateproperty (default view) - items: - $ref: '#/components/schemas/ArduinoTemplateproperty' - title: 'Mediatype identifier: application/vnd.arduino.templateproperty+json; - type=collection; view=default' - type: array - ArduinoTemplatevariable: - description: ArduinoTemplatevariable media type (default view) - properties: - name: - description: The name of the variable - type: string - permission: - description: The permission of the linked variable - type: string - thing_id: - description: The name of the related thing - type: string - thing_timezone: - $ref: '#/components/schemas/ArduinoTimezone' - type: - description: The type of the variable - type: string - variable_id: - description: The name of the variable in the code - type: string - required: - - name - - variable_id - - thing_id - - type - - permission - title: 'Mediatype identifier: application/vnd.arduino.templatevariable+json; - view=default' - type: object - ArduinoTemplatevariableCollection: - description: ArduinoTemplatevariableCollection is the media type for an array - of ArduinoTemplatevariable (default view) - items: - $ref: '#/components/schemas/ArduinoTemplatevariable' - title: 'Mediatype identifier: application/vnd.arduino.templatevariable+json; - type=collection; view=default' - type: array - ArduinoThing: - description: ArduinoThing media type (default view) - properties: - assistant: - description: The kind of voice assistant the thing is connected to, it can - be ALEXA | GOOGLE | NONE - enum: - - ALEXA - - GOOGLE - - NONE - type: string - created_at: - description: Creation date of the thing - format: date-time - type: string - deleted_at: - description: Delete date of the thing - format: date-time - type: string - device_fqbn: - description: The fqbn of the attached device, if any - type: string - device_id: - description: The id of the device - format: uuid - type: string - device_name: - description: The name of the attached device, if any - type: string - device_type: - description: The type of the attached device, if any - type: string - href: - description: The api reference of this thing - type: string - id: - description: The id of the thing - format: uuid - type: string - name: - description: The friendly name of the thing - type: string - organization_id: - description: Id of the organization the thing belongs to - format: uuid - type: string - properties: - $ref: '#/components/schemas/ArduinoPropertyCollection' - properties_count: - description: The number of properties of the thing - format: int64 - type: integer - sketch_id: - description: The id of the attached sketch - format: uuid - type: string - tags: - additionalProperties: true - description: Tags of the thing - type: object - timezone: - description: Time zone of the thing - type: string - updated_at: - description: Update date of the thing - format: date-time - type: string - user_id: - description: The user id of the owner - format: uuid - type: string - webhook_active: - description: Webhook uri - type: boolean - webhook_uri: - description: Webhook uri - type: string - required: - - id - - user_id - - name - - href - - timezone - title: 'Mediatype identifier: application/vnd.arduino.thing+json; view=default' - type: object - ArduinoThingCollection: - description: ArduinoThingCollection is the media type for an array of ArduinoThing - (default view) - items: - $ref: '#/components/schemas/ArduinoThing' - title: 'Mediatype identifier: application/vnd.arduino.thing+json; type=collection; - view=default' - type: array - ArduinoThingresult: - description: ArduinoThingresult media type (default view) - properties: - device_id: - description: UUID of the attached device - format: uuid - type: string - id: - description: UUID of the created Thing - format: uuid - type: string - sketch_id: - description: UUID of the created Sketch - format: uuid - type: string - required: - - id - - sketch_id - title: 'Mediatype identifier: application/vnd.arduino.thingresult+json; view=default' - type: object - ArduinoThingresultCollection: - description: ArduinoThingresultCollection is the media type for an array of - ArduinoThingresult (default view) - items: - $ref: '#/components/schemas/ArduinoThingresult' - title: 'Mediatype identifier: application/vnd.arduino.thingresult+json; type=collection; - view=default' - type: array - ArduinoThingtemplate: - description: ArduinoThingtemplate media type (default view) - properties: - device_metadata: - $ref: '#/components/schemas/ArduinoDevicev2templatedevice' - id: - description: The friendly id of the thing - type: string - name: - description: The friendly name of the thing - type: string - organization_id: - description: Id of the organization the thing belongs to - format: uuid - type: string - sketch_template: - description: The ID of the template's sketch - type: string - tags: - description: Tags of the thing - items: - $ref: '#/components/schemas/tag' - type: array - timezone: - description: Time zone of the thing - type: string - variables: - $ref: '#/components/schemas/ArduinoTemplatepropertyCollection' - webhook_uri: - description: Webhook uri - type: string - required: - - name - - timezone - title: 'Mediatype identifier: application/vnd.arduino.thingtemplate+json; view=default' - type: object - ArduinoTimeseriesmedia: - description: ArduinoTimeseriesmedia media type (default view) - properties: - data: - items: - $ref: '#/components/schemas/TimeseriesDataPoint' - type: array - required: - - data - title: 'Mediatype identifier: application/vnd.arduino.timeseriesmedia+json; - view=default' - type: object - ArduinoTimezone: - description: ArduinoTimezone media type (default view) - properties: - name: - description: Name of the time zone. - type: string - offset: - description: Current UTC DST offset in seconds. - format: int64 - type: integer - until: - description: Date until the offset is valid. - format: date-time - type: string - required: - - name - - offset - - until - title: 'Mediatype identifier: application/vnd.arduino.timezone+json; view=default' - type: object - ArduinoVariableslinks: - description: ArduinoVariableslinks media type (default view) - properties: - variables: - description: The ids of the linked variables - items: - format: uuid + responses: + Accepted: + description: Accepted + BadRequest: + description: Bad Request + Conflict: + description: Conflict + NotFound: + description: Not Found + NotImplemented: + description: Not Implemented + OK: + description: OK + schemas: + APIError: + properties: + message: + type: string + required: + - message + type: object + Action: + properties: + email: + $ref: '#/components/schemas/Email' + kind: + description: Kind of the action + enum: + - NOTIFY-EMAIL + - NOTIFY-PUSH + type: string + name: + description: Name of the action + type: string + push_notification: + $ref: '#/components/schemas/PushNotification' + trigger_id: + format: uuid + maxLength: 36 + minLength: 36 + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + required: + - kind + - name + - trigger_id + type: object + ArduinoAction: + description: ArduinoAction media type (default view) + properties: + created_by: + description: Id of the user who created the action + format: uuid + type: string + description: + description: The description of the action + type: string + email: + $ref: '#/components/schemas/email_action' + id: + description: The id of the action + format: uuid + type: string + kind: + description: The kind of the action + enum: + - NOTIFY-EMAIL + - NOTIFY-PUSH + example: NOTIFY-EMAIL + type: string + name: + description: The name of the action + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + push_notification: + $ref: '#/components/schemas/push_action' + trigger_id: + description: Id of the trigger the action is associated to + format: uuid + type: string + title: 'Mediatype identifier: application/vnd.arduino.action+json; view=default' + type: object + ArduinoAction_template: + description: ArduinoAction_template media type (default view) + properties: + description: + description: The description of the action + type: string + email: + $ref: '#/components/schemas/email_action' + kind: + description: The kind of the action + enum: + - NOTIFY-EMAIL + - NOTIFY-PUSH + example: NOTIFY-EMAIL + type: string + name: + description: The name of the action + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + push_notification: + $ref: '#/components/schemas/push_action' + title: 'Mediatype identifier: application/vnd.arduino.action_template+json; view=default' + type: object + ArduinoActionCollection: + description: ArduinoActionCollection is the media type for an array of ArduinoAction (default view) + items: + $ref: '#/components/schemas/ArduinoAction' + title: 'Mediatype identifier: application/vnd.arduino.action+json; type=collection; view=default' + type: array + ArduinoCompressedv2: + description: compressed contains the info from which to generate the certificate (default view) + properties: + authority_key_identifier: + description: The Authority Key Identifier of the certificate + type: string + not_after: + description: The ending date of the certificate + format: date-time + type: string + not_before: + description: The starting date of the certificate + format: date-time + type: string + serial: + description: The serial number of the certificate + type: string + signature: + description: The signature of the certificate + type: string + signature_asn1_x: + description: The ASN1 X component of certificate signature + type: string + signature_asn1_y: + description: The ASN1 Y component of certificate signature + type: string + required: + - serial + - not_before + - not_after + - signature + - signature_asn1_x + - signature_asn1_y + title: 'Mediatype identifier: application/vnd.arduino.compressedv2; view=default' + type: object + ArduinoCredentialsv1: + description: ArduinoCredentialsv1 media type (default view) + properties: + friendly_name: + description: Friendly name + type: string + required: + description: Tell if the parameter is required or not + type: boolean + secret_name: + description: The secret parameter name + type: string + sensitive: + description: Tell if the field is sensitive + type: boolean + required: + - secret_name + - required + - friendly_name + - sensitive + title: 'Mediatype identifier: application/vnd.arduino.credentialsv1+json; view=default' + type: object + ArduinoCredentialsv1Collection: + description: ArduinoCredentialsv1Collection is the media type for an array of ArduinoCredentialsv1 (default view) + items: + $ref: '#/components/schemas/ArduinoCredentialsv1' + title: 'Mediatype identifier: application/vnd.arduino.credentialsv1+json; type=collection; view=default' + type: array + ArduinoDashboardowner: + description: ArduinoDashboardowner media type (default view) + properties: + user_id: + description: The userID of the user who created the dashboard + format: uuid + type: string + username: + description: The username of the user who created the dashboard + type: string + required: + - user_id + title: 'Mediatype identifier: application/vnd.arduino.dashboardowner+json; view=default' + type: object + ArduinoDashboardshare: + description: ArduinoDashboardshare media type (default view) + properties: + user_id: + description: The userID of the user you want to share the dashboard with + format: uuid + type: string + username: + description: The username of the user you want to share the dashboard with + type: string + required: + - user_id + title: 'Mediatype identifier: application/vnd.arduino.dashboardshare+json; view=default' + type: object + ArduinoDashboardshareCollection: + description: ArduinoDashboardshareCollection is the media type for an array of ArduinoDashboardshare (default view) + items: + $ref: '#/components/schemas/ArduinoDashboardshare' + title: 'Mediatype identifier: application/vnd.arduino.dashboardshare+json; type=collection; view=default' + type: array + ArduinoDashboardv2: + description: Dashboard is a collection of widgets (default view) + properties: + cover_image: + description: The cover image of the dashboard + maxLength: 1024 + type: string + created_by: + $ref: '#/components/schemas/ArduinoDashboardowner' + id: + description: The friendly name of the dashboard + format: uuid + type: string + name: + description: The friendly name of the dashboard + type: string + organization_id: + description: Id of the organization the dashboard belongs to + format: uuid + type: string + shared_by: + $ref: '#/components/schemas/ArduinoDashboardshare' + shared_with: + $ref: '#/components/schemas/ArduinoDashboardshareCollection' + updated_at: + description: Last update date + format: date-time + type: string + widgets: + $ref: '#/components/schemas/ArduinoWidgetv2Collection' + required: + - id + - name + - updated_at + title: 'Mediatype identifier: application/vnd.arduino.dashboardv2+json; view=default' + type: object + ArduinoDashboardv2Collection: + description: ArduinoDashboardv2Collection is the media type for an array of ArduinoDashboardv2 (default view) + items: + $ref: '#/components/schemas/ArduinoDashboardv2' + title: 'Mediatype identifier: application/vnd.arduino.dashboardv2+json; type=collection; view=default' + type: array + ArduinoDashboardv2template: + description: ArduinoDashboardv2template media type (default view) + properties: + cover_image: + description: The cover image of the dashboard + type: string + id: + description: The friendly ID of the dashboard + type: string + name: + description: The friendly name of the dashboard + type: string + widgets: + $ref: '#/components/schemas/ArduinoWidgetv2templateCollection' + required: + - name + title: 'Mediatype identifier: application/vnd.arduino.dashboardv2template+json; view=default' + type: object + ArduinoDevicev2: + description: ArduinoDevicev2 media type (default view) + properties: + connection_type: + description: The type of the connections selected by the user when multiple connections are available + enum: + - wifi + - eth + - wifiandsecret + - gsm + - nb + - lora + - catm1 + - cellular + type: string + created_at: + description: Creation date of the device + format: date-time + type: string + device_status: + description: The connection status of the device + enum: + - ONLINE + - OFFLINE + - UNKNOWN + type: string + events: + $ref: '#/components/schemas/ArduinoDevicev2SimplePropertiesCollection' + fqbn: + description: The fully qualified board name + type: string + href: + description: The api reference of this device + type: string + id: + description: The arn of the device + format: uuid + type: string + label: + description: The label of the device + type: string + last_activity_at: + description: Last activity date + format: date-time + type: string + latest_wifi_fw_version: + description: The latest version of the NINA/WIFI101 firmware available for this device + type: string + metadata: + additionalProperties: true + description: The metadata of the device + type: object + name: + description: The friendly name of the device + type: string + no_sketch: + description: True if the device type can not have an associated sketch + type: boolean + organization_id: + description: Id of the organization the device belongs to + format: uuid + type: string + ota_available: + description: True if the device type is ready to receive OTA updated + type: boolean + ota_compatible: + description: True if the device type is OTA compatible + type: boolean + required_wifi_fw_version: + description: The required version of the NINA/WIFI101 firmware needed by IoT Cloud + type: string + serial: + description: The serial uuid of the device + type: string + tags: + additionalProperties: true + description: Tags belonging to the device + type: object + thing: + $ref: '#/components/schemas/ArduinoThing' + type: + description: The type of the device + type: string + user_id: + description: The id of the user + format: uuid + type: string + webhooks: + $ref: '#/components/schemas/ArduinoDevicev2WebhookCollection' + wifi_fw_version: + description: The version of the NINA/WIFI101 firmware running on the device + type: string + required: + - id + - name + - type + - label + - user_id + - href + - serial + title: 'Mediatype identifier: application/vnd.arduino.devicev2+json; view=default' + type: object + ArduinoDevicev2Cert: + description: DeviceCertV2 describes a certificate associated to the device (default view) + properties: + ca: + description: The Certification Authority used to sign the certificate + type: string + compressed: + $ref: '#/components/schemas/ArduinoCompressedv2' + der: + description: The certificate in DER format + type: string + device_id: + description: The unique identifier of the device + format: uuid + type: string + enabled: + default: true + description: Whether the certificate is enabled + type: boolean + href: + description: The api reference of this cert + type: string + id: + description: The unique identifier of the key + format: uuid + type: string + pem: + description: The certificate in pem format + example: |- + -----BEGIN CERTIFICATE----- + MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAryQICCl6NZ5gDKrnSztO + 3Hy8PEUcuyvg/ikC+VcIo2SFFSf18a3IMYldIugqqqZCs4/4uVW3sbdLs/6PfgdX + 7O9D22ZiFWHPYA2k2N744MNiCD1UE+tJyllUhSblK48bn+v1oZHCM0nYQ2NqUkvS + j+hwUU3RiWl7x3D2s9wSdNt7XUtW05a/FXehsPSiJfKvHJJnGOX0BgTvkLnkAOTd + OrUZ/wK69Dzu4IvrN4vs9Nes8vbwPa/ddZEzGR0cQMt0JBkhk9kU/qwqUseP1QRJ + 5I1jR4g8aYPL/ke9K35PxZWuDp3U0UPAZ3PjFAh+5T+fc7gzCs9dPzSHloruU+gl + FQIDAQAB + -----END CERTIFICATE----- + maxLength: 512 + type: string + required: + - id + - device_id + - enabled + - pem + - der + - compressed + - href + title: 'Mediatype identifier: application/vnd.arduino.devicev2.cert+json; view=default' + type: object + ArduinoDevicev2CertCollection: + description: ArduinoDevicev2CertCollection is the media type for an array of ArduinoDevicev2Cert (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + title: 'Mediatype identifier: application/vnd.arduino.devicev2.cert+json; type=collection; view=default' + type: array + ArduinoDevicev2Collection: + description: ArduinoDevicev2Collection is the media type for an array of ArduinoDevicev2 (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2' + title: 'Mediatype identifier: application/vnd.arduino.devicev2+json; type=collection; view=default' + type: array + ArduinoDevicev2EventProperties: + description: ArduinoDevicev2EventProperties media type (default view) + properties: + events: + $ref: '#/components/schemas/ArduinoDevicev2SimplePropertiesCollection' + id: + description: The device of the property + format: uuid + type: string + required: + - id + - events + title: 'Mediatype identifier: application/vnd.arduino.devicev2.event.properties+json; view=default' + type: object + ArduinoDevicev2Otaupload: + description: ArduinoDevicev2Otaupload media type (default view) + properties: + file_sha: + description: SHA256 of the uploaded file + type: string + ota_id: + description: OTA request id (only available from OTA version 2 and above) + type: string + ota_version: + description: OTA version + format: int64 + type: integer + status: + description: OTA request status (only available from OTA version 2 and above) + type: string + required: + - ota_version + title: 'Mediatype identifier: application/vnd.arduino.devicev2.otaupload+json; view=default' + type: object + ArduinoDevicev2Pass: + description: DeviceCertV2 describes a password associated to a device (default view) + properties: + set: + description: Whether the password is set or not + type: boolean + suggested_password: + description: A random suggested password + type: string + required: + - set + title: 'Mediatype identifier: application/vnd.arduino.devicev2.pass+json; view=default' + type: object + ArduinoDevicev2SimpleProperties: + description: ArduinoDevicev2SimpleProperties media type (default view) + properties: + name: + description: The name of the property + type: string + updated_at: + description: Update date of the property + format: date-time + type: string + value: + description: Value of the property + required: + - name + - value + - updated_at + title: 'Mediatype identifier: application/vnd.arduino.devicev2.simple.properties+json; view=default' + type: object + ArduinoDevicev2SimplePropertiesCollection: + description: ArduinoDevicev2SimplePropertiesCollection is the media type for an array of ArduinoDevicev2SimpleProperties (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2SimpleProperties' + title: 'Mediatype identifier: application/vnd.arduino.devicev2.simple.properties+json; type=collection; view=default' + type: array + ArduinoDevicev2StatusEvent: + description: ArduinoDevicev2StatusEvent media type (default view) + properties: + updated_at: + description: Update timestamp of the status event + format: date-time + type: string + value: + description: The status event of the device + enum: + - CONNECTED + - DISCONNECTED + type: string + required: + - value + - updated_at + title: 'Mediatype identifier: application/vnd.arduino.devicev2.status.event+json; view=default' + type: object + ArduinoDevicev2StatusEventCollection: + description: ArduinoDevicev2StatusEventCollection is the media type for an array of ArduinoDevicev2StatusEvent (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2StatusEvent' + title: 'Mediatype identifier: application/vnd.arduino.devicev2.status.event+json; type=collection; view=default' + type: array + ArduinoDevicev2StatusEvents: + description: ArduinoDevicev2StatusEvents media type (default view) + properties: + events: + $ref: '#/components/schemas/ArduinoDevicev2StatusEventCollection' + id: + description: The id of the device + format: uuid + type: string + required: + - id + - events + title: 'Mediatype identifier: application/vnd.arduino.devicev2.status.events+json; view=default' + type: object + ArduinoDevicev2Webhook: + description: DeviceWebhookV2 describes a webhook associated to the device (default view) + properties: + active: + default: true + description: Whether the webhook is active + type: boolean + id: + description: The uuid of the webhook + format: uuid + type: string + uri: + description: The uri of the webhook + format: uri + type: string + required: + - id + - uri + title: 'Mediatype identifier: application/vnd.arduino.devicev2.webhook+json; view=default' + type: object + ArduinoDevicev2WebhookCollection: + description: ArduinoDevicev2WebhookCollection is the media type for an array of ArduinoDevicev2Webhook (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2Webhook' + title: 'Mediatype identifier: application/vnd.arduino.devicev2.webhook+json; type=collection; view=default' + type: array + ArduinoDevicev2properties: + description: ArduinoDevicev2properties media type (default view) + properties: + data_retention_days: + description: How many days the data will be kept + format: double + type: number + deviceId: + description: The device of the property + format: uuid + type: string + properties: + $ref: '#/components/schemas/ArduinoPropertyCollection' + user_id: + description: The user id of the owner + format: uuid + type: string + required: + - deviceId + - user_id + - data_retention_days + - properties + title: 'Mediatype identifier: application/vnd.arduino.devicev2properties+json; view=default' + type: object + ArduinoDevicev2propertyvalue: + description: ArduinoDevicev2propertyvalue media type (default view) + properties: + created_at: + format: date-time + type: string + value: + properties: + payload: + type: string + seqno: + format: int64 + type: integer + statistics: + properties: + adr: + format: double + type: number + channel: + format: double + type: number + duplicate: + format: double + type: number + freq: + format: double + type: number + modBW: + format: double + type: number + rssi: + format: double + type: number + seqno: + format: double + type: number + sf: + format: double + type: number + snr: + format: double + type: number + time: + format: double + type: number + type: object + type: object + title: 'Mediatype identifier: application/vnd.arduino.devicev2propertyvalue+json; view=default' + type: object + ArduinoDevicev2propertyvalueCollection: + description: ArduinoDevicev2propertyvalueCollection is the media type for an array of ArduinoDevicev2propertyvalue (default view) + items: + $ref: '#/components/schemas/ArduinoDevicev2propertyvalue' + title: 'Mediatype identifier: application/vnd.arduino.devicev2propertyvalue+json; type=collection; view=default' + type: array + ArduinoDevicev2propertyvalues: + description: ArduinoDevicev2propertyvalues media type (default view) + properties: + id: + type: string + last_evaluated_key: + properties: + created_at: + format: date-time + type: string + id: + type: string + name: + type: string + type: object + name: + type: string + values: + $ref: '#/components/schemas/ArduinoDevicev2propertyvalueCollection' + required: + - id + - last_evaluated_key + - name + - values + title: 'Mediatype identifier: application/vnd.arduino.devicev2propertyvalues+json; view=default' + type: object + ArduinoDevicev2templatedevice: + description: ArduinoDevicev2templatedevice media type (default view) + properties: + fqbn: + description: The device fqbn + type: string + name: + description: The device type name + type: string + title: 'Mediatype identifier: application/vnd.arduino.devicev2templatedevice+json; view=default' + type: object + ArduinoLinked_device: + description: ArduinoLinked_device media type (default view) + properties: + device: + $ref: '#/components/schemas/ArduinoDevicev2' + status: + description: The status of the linked device + enum: + - OK + - DELETED + example: OK + type: string + required: + - status + - device + title: 'Mediatype identifier: application/vnd.arduino.linked_device+json; view=default' + type: object + ArduinoLinked_device_template: + description: ArduinoLinked_device_template media type (default view) + properties: + thing_id: + description: The thing the device is associated to + type: string + required: + - thing_id + title: 'Mediatype identifier: application/vnd.arduino.linked_device_template+json; view=default' + type: object + ArduinoLinked_property: + description: ArduinoLinked_property media type (default view) + properties: + property: + $ref: '#/components/schemas/ArduinoProperty' + status: + description: The status of the linked property + enum: + - OK + - WRONG_TYPE + - DELETED + example: OK + type: string + required: + - status + - property + title: 'Mediatype identifier: application/vnd.arduino.linked_property+json; view=default' + type: object + ArduinoLinked_property_template: + description: ArduinoLinked_property_template media type (default view) + properties: + property_id: + description: The property the trigger is associated to + type: string + thing_id: + description: The thing the trigger is associated to + type: string + required: + - thing_id + - property_id + title: 'Mediatype identifier: application/vnd.arduino.linked_property_template+json; view=default' + type: object + ArduinoLinkedvariable: + description: ArduinoLinkedvariable media type (default view) + properties: + id: + description: The id of the linked variable + format: uuid + type: string + last_value: + description: Last value of the linked property + last_value_updated_at: + description: Update date of the last value + format: date-time + type: string + name: + description: The name of the variable + type: string + permission: + description: The permission of the linked variable + type: string + thing_id: + description: The id of the related thing + format: uuid + type: string + thing_name: + description: The name of the related thing + type: string + thing_timezone: + $ref: '#/components/schemas/ArduinoTimezone' + type: + description: The type of the variable + type: string + variable_name: + description: The name of the variable in the code + type: string + required: + - id + - name + - variable_name + - thing_id + - thing_name + - type + - permission + title: 'Mediatype identifier: application/vnd.arduino.linkedvariable+json; view=default' + type: object + ArduinoLinkedvariableCollection: + description: ArduinoLinkedvariableCollection is the media type for an array of ArduinoLinkedvariable (default view) + items: + $ref: '#/components/schemas/ArduinoLinkedvariable' + title: 'Mediatype identifier: application/vnd.arduino.linkedvariable+json; type=collection; view=default' + type: array + ArduinoLoradevicev1: + description: ArduinoLoradevicev1 media type (default view) + properties: + app_eui: + description: The eui of the app + type: string + app_key: + description: The key of the device + type: string + device_id: + description: The id of the device + format: uuid + type: string + eui: + description: The eui of the lora device + example: "71619230301" + type: string + required: + - eui + - device_id + - app_eui + - app_key + title: 'Mediatype identifier: application/vnd.arduino.loradevicev1+json; view=default' + type: object + ArduinoLorafreqplansv1: + description: ArduinoLorafreqplansv1 media type (default view) + properties: + frequency_plans: + description: The list of frequency plans + items: + $ref: '#/components/schemas/ArduinoLorafreqplanv1' + type: array + title: 'Mediatype identifier: application/vnd.arduino.lorafreqplansv1+json; view=default' + type: object + ArduinoLorafreqplanv1: + description: ArduinoLorafreqplanv1 media type (default view) + properties: + advanced: + description: Frequency plan only for advanced users + type: boolean + id: + description: The ID of the frequency paln + type: string + name: + description: The name of the frequency plan + type: string + required: + - name + - id + - advanced + title: 'Mediatype identifier: application/vnd.arduino.lorafreqplanv1+json; view=default' + type: object + ArduinoProperty: + description: ArduinoProperty media type (default view) + properties: + created_at: + description: Creation date of the property + format: date-time + type: string + deleted_at: + description: Delete date of the property + format: date-time + type: string + href: + description: The api reference of this property + type: string + id: + description: The id of the property + format: uuid + type: string + last_value: + description: Last value of this property + linked_to_trigger: + description: Indicates if the property is involved in the activation of at least a trigger + type: boolean + max_value: + description: Maximum value of this property + format: double + type: number + min_value: + description: Minimum value of this property + format: double + type: number + name: + description: The friendly name of the property + type: string + permission: + description: The permission of the property + type: string + persist: + description: If true, data will persist into a timeseries database + type: boolean + sync_id: + description: The id of the sync pool + format: uuid + type: string + tag: + description: The integer id of the property + format: int64 + type: integer + thing_id: + description: The id of the thing + format: uuid + type: string + thing_name: + description: The name of the associated thing + type: string + type: + description: The type of the property + type: string + update_parameter: + description: The update frequency in seconds, or the amount of the property has to change in order to trigger an update + format: double + type: number + update_strategy: + description: The update strategy for the property value + type: string + updated_at: + description: Update date of the property + format: date-time + type: string + value_updated_at: + description: Last update timestamp of this property + format: date-time + type: string + variable_name: + description: The sketch variable name of the property + type: string + required: + - id + - thing_id + - name + - type + - permission + - update_strategy + - href + title: 'Mediatype identifier: application/vnd.arduino.property+json; view=default' + type: object + ArduinoPropertyCollection: + description: ArduinoPropertyCollection is the media type for an array of ArduinoProperty (default view) + items: + $ref: '#/components/schemas/ArduinoProperty' + title: 'Mediatype identifier: application/vnd.arduino.property+json; type=collection; view=default' + type: array + ArduinoPropertytype: + description: ArduinoPropertytype media type (default view) + properties: + assistants: + description: The voice assistants available for this type + items: + type: string + type: array + declaration: + description: The c++ type we are using for this variable type + type: string + deprecated: + description: Tell if this type is deprecated + type: boolean + example: + description: Example of use + type: string + name: + description: The friendly name of the property type + type: string + rw: + description: Tell if the type allow a R/W permission + type: boolean + supersededBy: + description: The type of property to use if it's deprecated + type: string + tags: + description: The tags related to the type + items: + type: string + type: array + type: + description: The api reference of this type + type: string + units: + description: The measure units available for this type + items: + type: string + type: array + required: + - name + - deprecated + - rw + - type + - declaration + title: 'Mediatype identifier: application/vnd.arduino.propertytype+json; view=default' + type: object + ArduinoPropertytypeCollection: + description: ArduinoPropertytypeCollection is the media type for an array of ArduinoPropertytype (default view) + items: + $ref: '#/components/schemas/ArduinoPropertytype' + title: 'Mediatype identifier: application/vnd.arduino.propertytype+json; type=collection; view=default' + type: array + ArduinoSeriesBatch: + description: ArduinoSeriesBatch media type (default view) + properties: + resp_version: + description: Response version + format: int64 + type: integer + responses: + description: Responses of the request + items: + $ref: '#/components/schemas/ArduinoSeriesResponse' + type: array + required: + - responses + - resp_version + title: 'Mediatype identifier: application/vnd.arduino.series.batch+json; view=default' + type: object + ArduinoSeriesBatchSampled: + description: ArduinoSeriesBatchSampled media type (default view) + properties: + resp_version: + description: Response version + format: int64 + type: integer + responses: + description: Responses of the request + items: + $ref: '#/components/schemas/ArduinoSeriesSampledResponse' + type: array + required: + - responses + - resp_version + title: 'Mediatype identifier: application/vnd.arduino.series.batch.sampled+json; view=default' + type: object + ArduinoSeriesRawBatch: + description: ArduinoSeriesRawBatch media type (default view) + properties: + resp_version: + description: Response version + format: int64 + type: integer + responses: + description: Responses of the request + items: + $ref: '#/components/schemas/ArduinoSeriesRawResponse' + type: array + required: + - responses + - resp_version + title: 'Mediatype identifier: application/vnd.arduino.series.raw.batch+json; view=default' + type: object + ArduinoSeriesRawBatchLastvalue: + description: ArduinoSeriesRawBatchLastvalue media type (default view) + properties: + responses: + description: Responses of the request + items: + $ref: '#/components/schemas/ArduinoSeriesRawLastValueResponse' + type: array + status: + description: Status of the response + type: string + required: + - status + - responses + title: 'Mediatype identifier: application/vnd.arduino.series.raw.batch.lastvalue+json; view=default' + type: object + ArduinoSeriesRawLastValueResponse: + description: ArduinoSeriesRawLastValueResponse media type (default view) + properties: + count_values: + description: Total number of values in the array 'values' + format: int64 + type: integer + property_id: + description: Property id + format: uuid + type: string + thing_id: + description: Thing id + format: uuid + type: string + times: + description: Timestamp in RFC3339 + items: + format: date-time + type: string + type: array + values: + description: Values can be in Float, String, Bool, Object + items: {} + type: array + required: + - thing_id + - property_id + - count_values + - values + - times + title: 'Mediatype identifier: application/vnd.arduino.series.raw.last.value.response+json; view=default' + type: object + ArduinoSeriesRawResponse: + description: ArduinoSeriesRawResponse media type (default view) + properties: + count_values: + description: Total number of values in the array 'values' + format: int64 + type: integer + from_date: + description: From date + format: date-time + type: string + message: + default: "" + description: If the response is different than 'ok' + type: string + property_id: + description: Property id + format: uuid + type: string + property_name: + description: Property name + type: string + property_type: + description: Property type + type: string + query: + description: Query of for the data + type: string + resp_version: + description: Response version + format: int64 + type: integer + series: + $ref: '#/components/schemas/BatchQueryRawResponseSeriesMediaV1' + series_limit: + description: Max of values + format: int64 + type: integer + sort: + description: Sorting + enum: + - ASC + - DESC + type: string + status: + description: Status of the response + type: string + thing_id: + description: Thing id + format: uuid + type: string + times: + description: Timestamp in RFC3339 + items: + format: date-time + type: string + type: array + to_date: + description: To date + format: date-time + type: string + values: + description: Values can be in Float, String, Bool, Object + items: {} + type: array + required: + - status + - resp_version + - series + - query + - from_date + - to_date + - sort + - times + - values + - count_values + title: 'Mediatype identifier: application/vnd.arduino.series.raw.response+json; view=default' + type: object + ArduinoSeriesResponse: + description: ArduinoSeriesResponse media type (default view) + properties: + aggregation: + description: |- + Aggregation statistic function. + For numeric values, AVG statistic is used by default. PCT_X compute the Xth approximate percentile (e.g. PCT_95 is the 95th approximate percentile). + For boolean, BOOL_OR statistic is used as default. + enum: + - AVG + - MIN + - MAX + - SUM + - COUNT + - PCT_99 + - PCT_95 + - PCT_90 + - PCT_75 + - PCT_50 + - PCT_15 + - PCT_5 + - BOOL_OR + - BOOL_AND + example: AVG + type: string + count_values: + description: Total number of values in the array 'values' + format: int64 + type: integer + from_date: + description: From date + format: date-time + type: string + interval: + description: Resolution in seconds + format: int64 + type: integer + message: + default: "" + description: If the response is different than 'ok' + type: string + property_id: + description: Property id + format: uuid + type: string + property_name: + description: Property name + type: string + property_type: + description: Property type + type: string + query: + description: Query of for the data + type: string + resp_version: + description: Response version + format: int64 + type: integer + series_limit: + description: Maximum number of values returned after data aggregation, if any + format: int64 + type: integer + status: + description: Status of the response + type: string + thing_id: + description: Thing id + format: uuid + type: string + times: + description: Timestamp in RFC3339 + items: + format: date-time + type: string + type: array + to_date: + description: To date + format: date-time + type: string + values: + description: Values in Float + items: + format: double + type: number + type: array + required: + - status + - resp_version + - query + - from_date + - to_date + - interval + - times + - values + - count_values + title: 'Mediatype identifier: application/vnd.arduino.series.response+json; view=default' + type: object + ArduinoSeriesSampledResponse: + description: ArduinoSeriesSampledResponse media type (default view) + properties: + count_values: + description: Total number of values in the array 'values' + format: int64 + type: integer + from_date: + description: From date + format: date-time + type: string + interval: + description: Resolution in seconds + format: int64 + type: integer + message: + default: "" + description: If the response is different than 'ok' + type: string + property_id: + description: Property id + format: uuid + type: string + property_name: + description: Property name + type: string + property_type: + description: Property type + type: string + query: + description: Query of for the data + type: string + resp_version: + description: Response version + format: int64 + type: integer + series_limit: + description: Maximum number of values returned after data aggregation, if any + format: int64 + type: integer + status: + description: Status of the response + type: string + thing_id: + description: Thing id + format: uuid + type: string + times: + description: Timestamp in RFC3339 + items: + format: date-time + type: string + type: array + to_date: + description: To date + format: date-time + type: string + values: + description: Values in Float + items: {} + type: array + required: + - status + - resp_version + - query + - from_date + - to_date + - interval + - times + - values + - count_values + title: 'Mediatype identifier: application/vnd.arduino.series.sampled.response+json; view=default' + type: object + ArduinoTags: + description: ArduinoTags media type (default view) + properties: + tags: + items: + $ref: '#/components/schemas/tag' + type: array + required: + - tags + title: 'Mediatype identifier: application/vnd.arduino.tags+json; view=default' + type: object + ArduinoTemplate: + description: ArduinoTemplate media type (default view) + properties: + dashboards: + items: + format: uuid + type: string + type: array + things: + $ref: '#/components/schemas/ArduinoThingresultCollection' + triggers: + items: + format: uuid + type: string + type: array + required: + - things + title: 'Mediatype identifier: application/vnd.arduino.template+json; view=default' + type: object + ArduinoTemplateproperty: + description: ArduinoTemplateproperty media type (default view) + properties: + id: + description: The friendly id of the property + type: string + name: + description: The friendly name of the property + type: string + permission: + description: The permission of the property + type: string + type: + description: The type of the property + type: string + update_parameter: + description: The update frequency in seconds, or the amount of the property has to change in order to trigger an update + format: double + type: number + update_strategy: + description: The update strategy for the property value + type: string + variable_name: + description: The sketch variable name of the property + type: string + required: + - name + - type + - permission + - update_strategy + title: 'Mediatype identifier: application/vnd.arduino.templateproperty+json; view=default' + type: object + ArduinoTemplatepropertyCollection: + description: ArduinoTemplatepropertyCollection is the media type for an array of ArduinoTemplateproperty (default view) + items: + $ref: '#/components/schemas/ArduinoTemplateproperty' + title: 'Mediatype identifier: application/vnd.arduino.templateproperty+json; type=collection; view=default' + type: array + ArduinoTemplatevariable: + description: ArduinoTemplatevariable media type (default view) + properties: + name: + description: The name of the variable + type: string + permission: + description: The permission of the linked variable + type: string + thing_id: + description: The name of the related thing + type: string + thing_timezone: + $ref: '#/components/schemas/ArduinoTimezone' + type: + description: The type of the variable + type: string + variable_id: + description: The name of the variable in the code + type: string + required: + - name + - variable_id + - thing_id + - type + - permission + title: 'Mediatype identifier: application/vnd.arduino.templatevariable+json; view=default' + type: object + ArduinoTemplatevariableCollection: + description: ArduinoTemplatevariableCollection is the media type for an array of ArduinoTemplatevariable (default view) + items: + $ref: '#/components/schemas/ArduinoTemplatevariable' + title: 'Mediatype identifier: application/vnd.arduino.templatevariable+json; type=collection; view=default' + type: array + ArduinoThing: + description: ArduinoThing media type (default view) + properties: + assistant: + description: The kind of voice assistant the thing is connected to, it can be ALEXA | GOOGLE | NONE + enum: + - ALEXA + - GOOGLE + - NONE + type: string + created_at: + description: Creation date of the thing + format: date-time + type: string + deleted_at: + description: Delete date of the thing + format: date-time + type: string + device_fqbn: + description: The fqbn of the attached device, if any + type: string + device_id: + description: The id of the device + format: uuid + type: string + device_name: + description: The name of the attached device, if any + type: string + device_type: + description: The type of the attached device, if any + type: string + href: + description: The api reference of this thing + type: string + id: + description: The id of the thing + format: uuid + type: string + name: + description: The friendly name of the thing + type: string + organization_id: + description: Id of the organization the thing belongs to + format: uuid + type: string + properties: + $ref: '#/components/schemas/ArduinoPropertyCollection' + properties_count: + description: The number of properties of the thing + format: int64 + type: integer + sketch_id: + description: The id of the attached sketch + format: uuid + type: string + tags: + additionalProperties: true + description: Tags of the thing + type: object + timezone: + description: Time zone of the thing + type: string + updated_at: + description: Update date of the thing + format: date-time + type: string + user_id: + description: The user id of the owner + format: uuid + type: string + webhook_active: + description: Webhook uri + type: boolean + webhook_uri: + description: Webhook uri + type: string + required: + - id + - user_id + - name + - href + - timezone + title: 'Mediatype identifier: application/vnd.arduino.thing+json; view=default' + type: object + ArduinoThingCollection: + description: ArduinoThingCollection is the media type for an array of ArduinoThing (default view) + items: + $ref: '#/components/schemas/ArduinoThing' + title: 'Mediatype identifier: application/vnd.arduino.thing+json; type=collection; view=default' + type: array + ArduinoThingresult: + description: ArduinoThingresult media type (default view) + properties: + device_id: + description: UUID of the attached device + format: uuid + type: string + id: + description: UUID of the created Thing + format: uuid + type: string + sketch_id: + description: UUID of the created Sketch + format: uuid + type: string + required: + - id + - sketch_id + title: 'Mediatype identifier: application/vnd.arduino.thingresult+json; view=default' + type: object + ArduinoThingresultCollection: + description: ArduinoThingresultCollection is the media type for an array of ArduinoThingresult (default view) + items: + $ref: '#/components/schemas/ArduinoThingresult' + title: 'Mediatype identifier: application/vnd.arduino.thingresult+json; type=collection; view=default' + type: array + ArduinoThingtemplate: + description: ArduinoThingtemplate media type (default view) + properties: + device_metadata: + $ref: '#/components/schemas/ArduinoDevicev2templatedevice' + id: + description: The friendly id of the thing + type: string + name: + description: The friendly name of the thing + type: string + organization_id: + description: Id of the organization the thing belongs to + format: uuid + type: string + sketch_template: + description: The ID of the template's sketch + type: string + tags: + description: Tags of the thing + items: + $ref: '#/components/schemas/tag' + type: array + timezone: + description: Time zone of the thing + type: string + variables: + $ref: '#/components/schemas/ArduinoTemplatepropertyCollection' + webhook_uri: + description: Webhook uri + type: string + required: + - name + - timezone + title: 'Mediatype identifier: application/vnd.arduino.thingtemplate+json; view=default' + type: object + ArduinoTimeseriesmedia: + description: ArduinoTimeseriesmedia media type (default view) + properties: + data: + items: + $ref: '#/components/schemas/TimeseriesDataPoint' + type: array + required: + - data + title: 'Mediatype identifier: application/vnd.arduino.timeseriesmedia+json; view=default' + type: object + ArduinoTimezone: + description: ArduinoTimezone media type (default view) + properties: + name: + description: Name of the time zone. + type: string + offset: + description: Current UTC DST offset in seconds. + format: int64 + type: integer + until: + description: Date until the offset is valid. + format: date-time + type: string + required: + - name + - offset + - until + title: 'Mediatype identifier: application/vnd.arduino.timezone+json; view=default' + type: object + ArduinoTrigger: + description: ArduinoTrigger media type (default view) + properties: + actions: + description: A list of actions associated with the trigger + items: + $ref: '#/components/schemas/ArduinoAction' + type: array + active: + description: Is true if the trigger is enabled + type: boolean + created_by: + description: Id of the user who last updated the trigger + format: uuid + type: string + description: + description: The description of the trigger + type: string + device_status_source: + $ref: '#/components/schemas/device_status_source' + id: + description: The id of the trigger + format: uuid + type: string + name: + description: The name of the trigger + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + property_id: + description: Id of the property the trigger is associated to (mutually exclusive with 'device_status_source') + format: uuid + type: string + required: + - name + title: 'Mediatype identifier: application/vnd.arduino.trigger+json; view=default' + type: object + ArduinoTrigger_template: + description: ArduinoTrigger_template media type (default view) + properties: + actions: + description: A list of actions associated with the trigger + items: + $ref: '#/components/schemas/ArduinoAction_template' + type: array + active: + description: Is true if the trigger is enabled + type: boolean + criteria: + description: The criteria of the trigger, could be INCLUDE or EXCLUDE + type: string + description: + description: The description of the trigger + type: string + grace_period_offline: + description: The amount of seconds the trigger will wait before considering a matching device as offline + format: int64 + type: integer + grace_period_online: + description: The amount of seconds the trigger will wait before considering a matching device as online + format: int64 + type: integer + id: + description: The id of the trigger + type: string + linked_devices: + description: A list of devices the trigger is associated to + items: + $ref: '#/components/schemas/ArduinoLinked_device_template' + type: array + linked_property: + $ref: '#/components/schemas/ArduinoLinked_property_template' + name: + description: The name of the trigger + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + required: + - id + - name + title: 'Mediatype identifier: application/vnd.arduino.trigger_template+json; view=default' + type: object + ArduinoTrigger_with_linked_entities: + description: ArduinoTrigger_with_linked_entities media type (default view) + properties: + actions: + description: A list of actions associated with the trigger + items: + $ref: '#/components/schemas/ArduinoAction' + type: array + active: + description: Is true if the trigger is enabled + type: boolean + created_by: + description: Id of the user who last updated the trigger + format: uuid + type: string + description: + description: The description of the trigger + type: string + device_status_source: + $ref: '#/components/schemas/Device_status_source_with_linked_devices' + id: + description: The id of the trigger + format: uuid + type: string + linked_property: + $ref: '#/components/schemas/ArduinoLinked_property' + name: + description: The name of the trigger + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + required: + - id + - name + title: 'Mediatype identifier: application/vnd.arduino.trigger_with_linked_entities+json; view=default' + type: object + ArduinoTriggerCollection: + description: ArduinoTriggerCollection is the media type for an array of ArduinoTrigger (default view) + items: + $ref: '#/components/schemas/ArduinoTrigger' + title: 'Mediatype identifier: application/vnd.arduino.trigger+json; type=collection; view=default' + type: array + ArduinoVariableslinks: + description: ArduinoVariableslinks media type (default view) + properties: + variables: + description: The ids of the linked variables + items: + format: uuid + type: string + type: array + required: + - variables + title: 'Mediatype identifier: application/vnd.arduino.variableslinks+json; view=default' + type: object + ArduinoWidgetv2: + description: ArduinoWidgetv2 media type (default view) + properties: + has_permission_incompatibility: + description: True if the linked variables permissions are incompatible with the widget + type: boolean + has_type_incompatibility: + description: True if the linked variables types are incompatible with the widget + type: boolean + has_unlinked_variable: + description: If it's true the widget is linked to a soft-deleted variable + type: boolean + height: + description: Widget current height for desktop + format: int64 + type: integer + height_mobile: + description: Widget current height for mobile + format: int64 + type: integer + id: + description: The UUID of the widget, set by client + format: uuid + type: string + name: + description: The name of the widget + type: string + options: + additionalProperties: true + description: Widget options + type: object + type: + description: The type of the widget + type: string + variables: + $ref: '#/components/schemas/ArduinoLinkedvariableCollection' + width: + description: Widget current width for desktop + format: int64 + type: integer + width_mobile: + description: Widget current width for mobile + format: int64 + type: integer + x: + description: Widget x position for desktop + format: int64 + type: integer + x_mobile: + description: Widget x position for mobile + format: int64 + type: integer + "y": + description: Widget y position for desktop + format: int64 + type: integer + y_mobile: + description: Widget y position for mobile + format: int64 + type: integer + required: + - id + - type + - width + - height + - x + - "y" + - options + title: 'Mediatype identifier: application/vnd.arduino.widgetv2+json; view=default' + type: object + ArduinoWidgetv2Collection: + description: ArduinoWidgetv2Collection is the media type for an array of ArduinoWidgetv2 (default view) + items: + $ref: '#/components/schemas/ArduinoWidgetv2' + title: 'Mediatype identifier: application/vnd.arduino.widgetv2+json; type=collection; view=default' + type: array + ArduinoWidgetv2template: + description: ArduinoWidgetv2template media type (default view) + properties: + height: + description: Widget current height for desktop + format: int64 + type: integer + height_mobile: + description: Widget current height for mobile + format: int64 + type: integer + name: + description: The name of the widget + type: string + options: + additionalProperties: true + description: Widget options + type: object + type: + description: The type of the widget + type: string + variables: + $ref: '#/components/schemas/ArduinoTemplatevariableCollection' + width: + description: Widget current width for desktop + format: int64 + type: integer + width_mobile: + description: Widget current width for mobile + format: int64 + type: integer + x: + description: Widget x position for desktop + format: int64 + type: integer + x_mobile: + description: Widget x position for mobile + format: int64 + type: integer + "y": + description: Widget y position for desktop + format: int64 + type: integer + y_mobile: + description: Widget y position for mobile + format: int64 + type: integer + required: + - type + - width + - height + - x + - "y" + - options + title: 'Mediatype identifier: application/vnd.arduino.widgetv2template+json; view=default' + type: object + ArduinoWidgetv2templateCollection: + description: ArduinoWidgetv2templateCollection is the media type for an array of ArduinoWidgetv2template (default view) + items: + $ref: '#/components/schemas/ArduinoWidgetv2template' + title: 'Mediatype identifier: application/vnd.arduino.widgetv2template+json; type=collection; view=default' + type: array + BaseResource: + properties: + created_at: + description: Folder creation datetime + example: "2000-01-01T00:00:00Z" + format: date-time + type: string + deleted_at: + description: Folder deletion datetime + example: "2000-01-01T00:00:00Z" + format: date-time + type: string + href: + description: Device HREF URL + type: string + id: + description: Folder ID + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: uuid + name: + description: Name of the resource + maxLength: 128 + type: string + organization_id: + description: Organization owning the resource + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + parent: + $ref: '#/components/schemas/PathNode' + path: + items: + $ref: '#/components/schemas/PathNode' + type: array + updated_at: + description: Folder last update datetime + example: "2000-01-01T00:00:00Z" + format: date-time + type: string + user_id: + description: User owning the resource + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: uuid + required: + - id + - name + - href + - created_at + - user_id + type: object + BatchLastValueRequestsMediaV1: + properties: + requests: + description: Requests + items: + $ref: '#/components/schemas/BatchQueryRawLastValueRequestMediaV1' + type: array + required: + - requests + title: BatchLastValueRequestsMediaV1 + type: object + BatchQueryRawLastValueRequestMediaV1: + properties: + property_id: + description: Property id + format: uuid + type: string + thing_id: + description: Thing id + format: uuid + type: string + required: + - thing_id + - property_id + title: BatchQueryRawLastValueRequestMediaV1 + type: object + BatchQueryRawRequestMediaV1: + properties: + from: + description: From timestamp + format: date-time + type: string + q: + description: Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5 or thing.95717675-4786-4ffc-afcc-799777755391) + type: string + series_limit: + description: 'Maximum number of values returned, if any (default/limit: 1000, 10000 in case of thing query)' + format: int64 + type: integer + sort: + default: DESC + description: Sorting + enum: + - ASC + - DESC + type: string + to: + description: To timestamp + format: date-time + type: string + required: + - q + title: BatchQueryRawRequestMediaV1 + type: object + BatchQueryRawRequestsMediaV1: + properties: + requests: + description: Requests + items: + $ref: '#/components/schemas/BatchQueryRawRequestMediaV1' + type: array + resp_version: + description: Response version + format: int64 + type: integer + required: + - requests + - resp_version + title: BatchQueryRawRequestsMediaV1 + type: object + BatchQueryRawResponseSeriesMediaV1: + properties: + metric: + description: Metric name + type: string + required: + - metric + title: BatchQueryRawResponseSeriesMediaV1 + type: object + BatchQueryRequestMediaV1: + properties: + aggregation: + description: |- + Aggregation statistic function. + For numeric values, AVG statistic is used by default. PCT_X compute the Xth approximate percentile (e.g. PCT_95 is the 95th approximate percentile). + For boolean, BOOL_OR statistic is used as default. + enum: + - AVG + - MIN + - MAX + - SUM + - COUNT + - PCT_99 + - PCT_95 + - PCT_90 + - PCT_75 + - PCT_50 + - PCT_15 + - PCT_5 + - BOOL_OR + - BOOL_AND + example: AVG + type: string + from: + description: From timestamp + format: date-time + type: string + interval: + description: 'Resolution in seconds (max allowed: 86400)' + format: int64 + type: integer + q: + description: Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5 or thing.95717675-4786-4ffc-afcc-799777755391) + type: string + series_limit: + description: 'Maximum number of values returned after data aggregation, if any (default: 300, limit: 1000 - 10000 in case of thing query)' + format: int64 + type: integer + to: + description: To timestamp + format: date-time + type: string + required: + - q + - from + - to + title: BatchQueryRequestMediaV1 + type: object + BatchQueryRequestsMediaV1: + properties: + requests: + description: Requests + items: + $ref: '#/components/schemas/BatchQueryRequestMediaV1' + type: array + resp_version: + description: Response version + format: int64 + type: integer + required: + - requests + - resp_version + title: BatchQueryRequestsMediaV1 + type: object + BatchQuerySampledRequestMediaV1: + properties: + from: + description: 'From timestamp (default: now UTC - 24h)' + format: date-time + type: string + interval: + default: 300 + description: Resolution in seconds (allowed min:60, max:86400) + maximum: 86400 + minimum: 60 + type: integer + q: + description: Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5) + type: string + series_limit: + description: 'Maximum number of values returned after data aggregation, if any (default: 300, limit: 1000)' + format: int64 + type: integer + to: + description: 'To timestamp (default: now UTC)' + format: date-time + type: string + required: + - q + title: BatchQuerySampledRequestMediaV1 + type: object + BatchQuerySampledRequestsMediaV1: + properties: + requests: + description: Requests + items: + $ref: '#/components/schemas/BatchQuerySampledRequestMediaV1' + type: array + resp_version: + description: Response version + format: int64 + type: integer + required: + - requests + - resp_version + title: BatchQuerySampledRequestsMediaV1 + type: object + CheckDevicesV2PassPayload: + properties: + password: + description: The password for the device + type: string + required: + - password + title: CheckDevicesV2PassPayload + type: object + CreateDevicesV2CertsPayload: + properties: + ca: + description: The Certification Authority you want to use + type: string + csr: + description: The certificate request in pem format + example: |- + -----BEGIN CERTIFICATE----- + MIIBeDCCAR4CAQAwgY0xCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRl + MQ8wDQYDVQQHEwZNeUNpdHkxFDASBgNVBAoTC0NvbXBhbnkgTHRkMQswCQYDVQQL + EwJJVDEUMBIGA1UEAxMLZXhhbXBsZS5jb20xHzAdBgkqhkiG9w0BCQEMEHRlc3RA + ZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATf6J9Gk79XGJ2I + +v6p/r0UmPufUcUwtlx7gx87+DaI8Vpj9R5KN71HsHYw5uq+Lm0cr0CZIdtZU4cP + upd6jDQToC4wLAYJKoZIhvcNAQkOMR8wHTAbBgNVHREEFDASgRB0ZXN0QGV4YW1w + bGUuY29tMAoGCCqGSM49BAMCA0gAMEUCIGQqtlGzYdjPwYZYJ41albMBcdrKI7+8 + oiNSNWyDxJSGAiEAqQPPxMdr6vaXCCjr5s1J01WLKHzGoPFCR40rqAPs8eQ= + -----END CERTIFICATE----- + + maxLength: 1024 + type: string + enabled: + description: Whether the certificate is enabled + type: boolean + required: + - enabled + - csr + title: CreateDevicesV2CertsPayload + type: object + CreateDevicesV2Payload: + description: DeviceV2 describes a device. + properties: + connection_type: + description: The type of the connections selected by the user when multiple connections are available + enum: + - wifi + - eth + - wifiandsecret + - gsm + - nb + - lora + - catm1 + - cellular + type: string + fqbn: + description: The fully qualified board name + type: string + name: + description: The friendly name of the device + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + serial: + description: The serial uuid of the device + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + type: + description: The type of the device + enum: + - mkrwifi1010 + - mkr1000 + - nano_33_iot + - mkrgsm1400 + - mkrnb1500 + - login_and_secretkey_wifi + - envie_m7 + - nanorp2040connect + - nicla_vision + - phone + - portenta_x8 + - opta + - giga + - generic_device_secretkey + - portenta_c33 + - unor4wifi + - nano_nora + type: string + user_id: + description: The user_id associated to the device. If absent it will be inferred from the authentication header + format: uuid + type: string + wifi_fw_version: + description: The version of the NINA/WIFI101 firmware running on the device + maxLength: 10 + pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ + type: string + required: + - type + title: CreateDevicesV2Payload + type: object + CreateFolderRequest: + properties: + name: + description: Name of the folder + maxLength: 64 + type: string + x-oapi-codegen-extra-tags: + validate: required,max=64 + parent_id: + description: Parent folder of the folder being created, if any + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + required: + - name + type: object + CreateLoraDevicesV1Payload: + properties: + app: + description: The app name + type: string + app_eui: + description: The app eui of the lora device + pattern: '[0-9a-z]{16}' + type: string + app_key: + description: The app key of the lora device + pattern: '[0-9a-z]{16}' + type: string + eui: + description: The eui of the lora device + pattern: '[0-9a-z]{16}' + type: string + frequency_plan: + description: 'The frequency plan required by your country ' + enum: + - EU_863_870_TTN + - US_902_928_FSB_2 + - EU_433 + - AU_915_928_FSB_2 + - CN_470_510_FSB_11 + - AS_920_923 + - AS_920_923_TTN_AU + - AS_923_925 + - AS_923_925_TTN_AU + - KR_920_923_TTN + - IN_865_867 + type: string + name: + description: A common name for the device + type: string + serial: + description: The optional serial number + type: string + type: + description: The type of device + enum: + - lora-device + - mkrwan1300 + - mkrwan1310 + type: string + user_id: + description: The id of the user. Can be the special string 'me' + type: string + required: + - name + - eui + - frequency_plan + - user_id + - app + - type + title: CreateLoraDevicesV1Payload + type: object + Dashboard: + allOf: + - $ref: '#/components/schemas/BaseResource' + - properties: + cover_image: + description: Identifier of the cover image to be used for the dashboard + type: string + shared_by: + $ref: '#/components/schemas/User' + shared_with: + description: IDs of the users with whom the dashboard is shared + items: + $ref: '#/components/schemas/User' + type: array + type: object + DeletedResource: + allOf: + - $ref: '#/components/schemas/IoTResource' + - properties: + deleted_at: + description: Resource deletion datetime + example: "2000-01-01T00:00:00Z" + format: date-time + type: string + deleted_by: + description: User that deleted the resource + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: uuid + required: + - deleted_by + - deleted_at + type: object + Delivery: + properties: + to: + items: + $ref: '#/components/schemas/Recipient' + type: array + required: + - to + type: object + Device: + allOf: + - $ref: '#/components/schemas/BaseResource' + - properties: + connection_type: + description: Type of connection + enum: + - wifi + - eth + - wifiandsecret + - gsm + - nb + - lora + - catm1 + - cellular + type: string + connectivity_module: + description: Connectivity module + type: string + device_status: + description: Device status + enum: + - ONLINE + - OFFLINE + - UNKNOWN + type: string + fqbn: + description: Fully Qualified Board Name + type: string + label: + description: Device label + type: string + serial: + description: Device serial + type: string + thing_id: + description: Thing ID + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + maxLength: 36 + minLength: 36 + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + type: + description: Device type + enum: + - mkrwifi1010 + - mkr1000 + - nano_33_iot + - mkrgsm1400 + - mkrwan1310 + - mkrwan1300 + - mkrnb1500 + - lora-device + - login_and_secretkey_wifi + - envie_m7 + - nanorp2040connect + - nicla_vision + - opta + - giga + - portenta_c33 + - unor4wifi + - nano_nora + type: string + wifi_fw_version: + description: WiFi firmware version + type: string + required: + - fqbn + - type + - connection_type + - device_status + type: object + Device_status_source_with_linked_devices: + description: Device_status_source_with_linked_devices media type (default view) + properties: + criteria: + description: The criteria of the trigger, could be INCLUDE or EXCLUDE + type: string + grace_period_offline: + description: The amount of seconds the trigger will wait before considering a matching device as offline + maximum: 1.2096e+06 + minimum: 0 + type: integer + grace_period_online: + description: The amount of seconds the trigger will wait before considering a matching device as online + maximum: 1.2096e+06 + minimum: 0 + type: integer + linked_devices: + description: A list of devices the trigger is associated to + items: + $ref: '#/components/schemas/ArduinoLinked_device' + type: array + required: + - criteria + title: 'Mediatype identifier: application/vnd.device_status_source_with_linked_devices+json; view=default' + type: object + DeviceStatusSourceDefinition: + properties: + criteria: + description: Critaria + type: string + device_ids: + items: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + type: array + grace_period_offline: + description: Grace period offline + type: integer + grace_period_online: + description: Grace period online + type: integer + linked_devices: + items: + $ref: '#/components/schemas/LinkedDevice' + type: array + required: + - criteria + type: object + Email: + properties: + delivery: + $ref: '#/components/schemas/Delivery' + required: + - delivery + type: object + Folder: + properties: + created_at: + description: Folder creation datetime + example: "2000-01-01T00:00:00Z" + format: date-time + type: string + created_by: + description: User that created the folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + deleted_at: + description: Folder deletion datetime + example: "2000-01-01T00:00:00Z" + format: date-time + type: string + deleted_by: + description: User that deleted the folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + id: + description: Folder ID + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + name: + description: Name of the folder + maxLength: 128 + type: string + organization_id: + description: Organization owning the folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + parent: + $ref: '#/components/schemas/PathNode' + path: + description: Path that leads to the folder + items: + $ref: '#/components/schemas/PathNode' + type: array + updated_at: + description: Folder last update datetime + example: "2000-01-01T00:00:00Z" + format: date-time + type: string + updated_by: + description: User that last updated the folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + user_id: + description: User owning the folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + required: + - id + - name + - user_id + - created_at + - created_by + - updated_at + - updated_by + type: object + GenericError: + properties: + message: + type: string + required: + - message + type: object + HistoricDataRequest: + properties: + from: + description: Get data starting from this date + format: date-time + type: string + properties: + description: IDs of properties + items: + format: uuid + type: string + minItems: 1 + type: array + to: + description: Get data up to this date + format: date-time + type: string + required: + - properties + - from + - to + title: HistoricDataRequest + type: object + IDevice: + properties: + id: + description: Id + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + name: + description: Name + type: string + required: + - id + - name + type: object + IoTResource: + description: An IoT resource + properties: + created_at: + description: Resource creation datetime + example: "2000-01-01T00:00:00Z" + format: date-time + type: string + created_by: + description: User that created the resource + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: uuid + id: + description: Resource ID + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: uuid + kind: + description: Type of the resource + enum: + - FOLDER + - DEVICE + - THING + - DASHBOARD + - TRIGGER + - SKETCH + type: string + name: + description: Name of the resource + maxLength: 128 + type: string + organization_id: + description: Organization owning the resource + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: uuid + owner: + $ref: '#/components/schemas/User' + parent: + $ref: '#/components/schemas/PathNode' + path: + items: + $ref: '#/components/schemas/PathNode' + type: array + shared_by: + $ref: '#/components/schemas/User' + shared_with: + items: + $ref: '#/components/schemas/User' + type: array + sketch_path: + description: Sketch path + type: string + sketch_thing_id: + description: ID of the thing that a sketch is associated with + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: uuid + updated_at: + description: Resource last update datetime + example: "2000-01-01T00:00:00Z" + format: date-time + type: string + updated_by: + description: User that last updated the resource + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: uuid + required: + - id + - kind + - name + - owner + - created_at + - created_by + - updated_at + - updated_by + type: object + LinkedDevice: + properties: + Device: + $ref: '#/components/schemas/IDevice' + type: object + PathNode: + description: Represents a folder in a path + properties: + folder_id: + description: ID of the folder that makes up this path node + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + folder_name: + description: Name of the folder that makes up this path node + maxLength: 128 + type: string + required: + - folder_id + - folder_name + type: object + PushNotification: + properties: + delivery: + $ref: '#/components/schemas/Delivery' + required: + - delivery + type: object + Recipient: + properties: + id: + format: uuid + maxLength: 36 + minLength: 36 + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + required: + - id + type: object + ResourceKind: + enum: + - folder + - folders + - device + - devices + - thing + - things + - dashboard + - dashboards + - trigger + - triggers + - sketch + - sketches type: string - type: array - required: - - variables - title: 'Mediatype identifier: application/vnd.arduino.variableslinks+json; view=default' - type: object - ArduinoWidgetv2: - description: ArduinoWidgetv2 media type (default view) - properties: - has_permission_incompatibility: - description: True if the linked variables permissions are incompatible with - the widget - type: boolean - has_type_incompatibility: - description: True if the linked variables types are incompatible with the - widget - type: boolean - has_unlinked_variable: - description: If it's true the widget is linked to a soft-deleted variable - type: boolean - height: - description: Widget current height for desktop - format: int64 - type: integer - height_mobile: - description: Widget current height for mobile - format: int64 - type: integer - id: - description: The UUID of the widget, set by client - format: uuid - type: string - name: - description: The name of the widget - type: string - options: - additionalProperties: true - description: Widget options - type: object - type: - description: The type of the widget - type: string - variables: - $ref: '#/components/schemas/ArduinoLinkedvariableCollection' - width: - description: Widget current width for desktop - format: int64 - type: integer - width_mobile: - description: Widget current width for mobile - format: int64 - type: integer - x: - description: Widget x position for desktop - format: int64 - type: integer - x_mobile: - description: Widget x position for mobile - format: int64 - type: integer - "y": - description: Widget y position for desktop - format: int64 - type: integer - y_mobile: - description: Widget y position for mobile - format: int64 - type: integer - required: - - id - - type - - width - - height - - x - - "y" - - options - title: 'Mediatype identifier: application/vnd.arduino.widgetv2+json; view=default' - type: object - ArduinoWidgetv2Collection: - description: ArduinoWidgetv2Collection is the media type for an array of ArduinoWidgetv2 - (default view) - items: - $ref: '#/components/schemas/ArduinoWidgetv2' - title: 'Mediatype identifier: application/vnd.arduino.widgetv2+json; type=collection; - view=default' - type: array - ArduinoWidgetv2template: - description: ArduinoWidgetv2template media type (default view) - properties: - height: - description: Widget current height for desktop - format: int64 - type: integer - height_mobile: - description: Widget current height for mobile - format: int64 - type: integer - name: - description: The name of the widget - type: string - options: - additionalProperties: true - description: Widget options - type: object - type: - description: The type of the widget - type: string - variables: - $ref: '#/components/schemas/ArduinoTemplatevariableCollection' - width: - description: Widget current width for desktop - format: int64 - type: integer - width_mobile: - description: Widget current width for mobile - format: int64 - type: integer - x: - description: Widget x position for desktop - format: int64 - type: integer - x_mobile: - description: Widget x position for mobile - format: int64 - type: integer - "y": - description: Widget y position for desktop - format: int64 - type: integer - y_mobile: - description: Widget y position for mobile - format: int64 - type: integer - required: - - type - - width - - height - - x - - "y" - - options - title: 'Mediatype identifier: application/vnd.arduino.widgetv2template+json; - view=default' - type: object - ArduinoWidgetv2templateCollection: - description: ArduinoWidgetv2templateCollection is the media type for an array - of ArduinoWidgetv2template (default view) - items: - $ref: '#/components/schemas/ArduinoWidgetv2template' - title: 'Mediatype identifier: application/vnd.arduino.widgetv2template+json; - type=collection; view=default' - type: array - BatchLastValueRequestsMediaV1: - properties: - requests: - description: Requests - items: - $ref: '#/components/schemas/BatchQueryRawLastValueRequestMediaV1' - type: array - required: - - requests - title: BatchLastValueRequestsMediaV1 - type: object - BatchQueryRawLastValueRequestMediaV1: - properties: - property_id: - description: Property id - format: uuid - type: string - thing_id: - description: Thing id - format: uuid - type: string - required: - - thing_id - - property_id - title: BatchQueryRawLastValueRequestMediaV1 - type: object - BatchQueryRawRequestMediaV1: - properties: - from: - description: From timestamp - format: date-time - type: string - q: - description: Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5 - or thing.95717675-4786-4ffc-afcc-799777755391) - type: string - series_limit: - description: 'Maximum number of values returned, if any (default/limit: - 1000, 10000 in case of thing query)' - format: int64 - type: integer - sort: - default: DESC - description: Sorting - enum: - - ASC - - DESC - type: string - to: - description: To timestamp - format: date-time - type: string - required: - - q - title: BatchQueryRawRequestMediaV1 - type: object - BatchQueryRawRequestsMediaV1: - properties: - requests: - description: Requests - items: - $ref: '#/components/schemas/BatchQueryRawRequestMediaV1' - type: array - resp_version: - description: Response version - format: int64 - type: integer - required: - - requests - - resp_version - title: BatchQueryRawRequestsMediaV1 - type: object - BatchQueryRawResponseSeriesMediaV1: - properties: - metric: - description: Metric name - type: string - required: - - metric - title: BatchQueryRawResponseSeriesMediaV1 - type: object - BatchQueryRequestMediaV1: - properties: - aggregation: - description: |- - Aggregation statistic function. - For numeric values, AVG statistic is used by default. PCT_X compute the Xth approximate percentile (e.g. PCT_95 is the 95th approximate percentile). - For boolean, BOOL_OR statistic is used as default. - enum: - - AVG - - MIN - - MAX - - SUM - - COUNT - - PCT_99 - - PCT_95 - - PCT_90 - - PCT_75 - - PCT_50 - - PCT_15 - - PCT_5 - - BOOL_OR - - BOOL_AND - example: AVG - type: string - from: - description: From timestamp - format: date-time - type: string - interval: - description: 'Resolution in seconds (max allowed: 86400)' - format: int64 - type: integer - q: - description: Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5 - or thing.95717675-4786-4ffc-afcc-799777755391) - type: string - series_limit: - description: 'Maximum number of values returned after data aggregation, - if any (default: 300, limit: 1000 - 10000 in case of thing query)' - format: int64 - type: integer - to: - description: To timestamp - format: date-time - type: string - required: - - q - - from - - to - title: BatchQueryRequestMediaV1 - type: object - BatchQueryRequestsMediaV1: - properties: - requests: - description: Requests - items: - $ref: '#/components/schemas/BatchQueryRequestMediaV1' - type: array - resp_version: - description: Response version - format: int64 - type: integer - required: - - requests - - resp_version - title: BatchQueryRequestsMediaV1 - type: object - BatchQuerySampledRequestMediaV1: - properties: - from: - description: 'From timestamp (default: now UTC - 24h)' - format: date-time - type: string - interval: - default: 300 - description: Resolution in seconds (allowed min:60, max:86400) - maximum: 86400 - minimum: 60 - type: integer - q: - description: Data selection query (e.g. property.2a99729d-2556-4220-a139-023348a1e6b5) - type: string - series_limit: - description: 'Maximum number of values returned after data aggregation, - if any (default: 300, limit: 1000)' - format: int64 - type: integer - to: - description: 'To timestamp (default: now UTC)' - format: date-time - type: string - required: - - q - title: BatchQuerySampledRequestMediaV1 - type: object - BatchQuerySampledRequestsMediaV1: - properties: - requests: - description: Requests - items: - $ref: '#/components/schemas/BatchQuerySampledRequestMediaV1' - type: array - resp_version: - description: Response version - format: int64 - type: integer - required: - - requests - - resp_version - title: BatchQuerySampledRequestsMediaV1 - type: object - CheckDevicesV2PassPayload: - properties: - password: - description: The password for the device - type: string - required: - - password - title: CheckDevicesV2PassPayload - type: object - CreateDevicesV2CertsPayload: - properties: - ca: - description: The Certification Authority you want to use - type: string - csr: - description: The certificate request in pem format - example: "-----BEGIN CERTIFICATE-----\n\t\t\tMIIBeDCCAR4CAQAwgY0xCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRl\n\t\t\tMQ8wDQYDVQQHEwZNeUNpdHkxFDASBgNVBAoTC0NvbXBhbnkgTHRkMQswCQYDVQQL\n\t\t\tEwJJVDEUMBIGA1UEAxMLZXhhbXBsZS5jb20xHzAdBgkqhkiG9w0BCQEMEHRlc3RA\n\t\t\tZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATf6J9Gk79XGJ2I\n\t\t\t+v6p/r0UmPufUcUwtlx7gx87+DaI8Vpj9R5KN71HsHYw5uq+Lm0cr0CZIdtZU4cP\n\t\t\tupd6jDQToC4wLAYJKoZIhvcNAQkOMR8wHTAbBgNVHREEFDASgRB0ZXN0QGV4YW1w\n\t\t\tbGUuY29tMAoGCCqGSM49BAMCA0gAMEUCIGQqtlGzYdjPwYZYJ41albMBcdrKI7+8\n\t\t\toiNSNWyDxJSGAiEAqQPPxMdr6vaXCCjr5s1J01WLKHzGoPFCR40rqAPs8eQ=\n\t\t\t-----END - CERTIFICATE-----\n\t\t\t" - maxLength: 1024 - type: string - enabled: - description: Whether the certificate is enabled - type: boolean - required: - - enabled - - csr - title: CreateDevicesV2CertsPayload - type: object - CreateDevicesV2Payload: - description: DeviceV2 describes a device. - properties: - connection_type: - description: The type of the connections selected by the user when multiple - connections are available - enum: - - wifi - - eth - - wifiandsecret - - gsm - - nb - - lora - - catm1 - - cellular - type: string - fqbn: - description: The fully qualified board name - type: string - name: - description: The friendly name of the device - maxLength: 64 - pattern: '[a-zA-Z0-9_.@-]+' - type: string - serial: - description: The serial uuid of the device - maxLength: 64 - pattern: '[a-zA-Z0-9_.@-]+' - type: string - type: - description: The type of the device - enum: - - mkrwifi1010 - - mkr1000 - - nano_33_iot - - mkrgsm1400 - - mkrnb1500 - - login_and_secretkey_wifi - - envie_m7 - - nanorp2040connect - - nicla_vision - - phone - - portenta_x8 - - opta - - giga - - generic_device_secretkey - - portenta_c33 - - unor4wifi - - nano_nora - type: string - user_id: - description: The user_id associated to the device. If absent it will be - inferred from the authentication header - format: uuid - type: string - wifi_fw_version: - description: The version of the NINA/WIFI101 firmware running on the device - maxLength: 10 - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ - type: string - required: - - type - title: CreateDevicesV2Payload - type: object - CreateLoraDevicesV1Payload: - properties: - app: - description: The app name - type: string - app_eui: - description: The app eui of the lora device - pattern: '[0-9a-z]{16}' - type: string - app_key: - description: The app key of the lora device - pattern: '[0-9a-z]{16}' - type: string - eui: - description: The eui of the lora device - pattern: '[0-9a-z]{16}' - type: string - frequency_plan: - description: 'The frequency plan required by your country ' - enum: - - EU_863_870_TTN - - US_902_928_FSB_2 - - EU_433 - - AU_915_928_FSB_2 - - CN_470_510_FSB_11 - - AS_920_923 - - AS_920_923_TTN_AU - - AS_923_925 - - AS_923_925_TTN_AU - - KR_920_923_TTN - - IN_865_867 - type: string - name: - description: A common name for the device - type: string - serial: - description: The optional serial number - type: string - type: - description: The type of device - enum: - - lora-device - - mkrwan1300 - - mkrwan1310 - type: string - user_id: - description: The id of the user. Can be the special string 'me' - type: string - required: - - name - - eui - - frequency_plan - - user_id - - app - - type - title: CreateLoraDevicesV1Payload - type: object - HistoricDataRequest: - properties: - from: - description: Get data starting from this date - format: date-time - type: string - properties: - description: IDs of properties - items: - format: uuid + ResourceKindFilter: + enum: + - folder + - folders + - device + - devices + - thing + - things + - dashboard + - dashboards + - trigger + - triggers + - sketch + - sketches type: string - minItems: 1 - type: array - to: - description: Get data up to this date - format: date-time - type: string - required: - - properties - - from - - to - title: HistoricDataRequest - type: object - ThingClone: - description: Payload to clone a new thing from an existing one - properties: - include_tags: - description: Include tags in clone procedure - type: boolean - name: - description: The friendly name of the thing - maxLength: 64 - pattern: ^[a-zA-Z0-9_. -]+$ - type: string - required: - - name - title: ThingClone - type: object - ThingCreate: - description: Payload to create a new thing - properties: - assistant: - description: The kind of voice assistant the thing is connected to, it can - be ALEXA | GOOGLE | NONE - enum: - - ALEXA - - GOOGLE - - NONE - type: string - device_id: - description: The arn of the associated device - format: uuid - type: string - id: - description: The id of the thing - format: uuid - type: string - name: - description: The friendly name of the thing - maxLength: 64 - pattern: ^[a-zA-Z0-9_. -]+$ - type: string - properties: - description: The properties of the thing - items: - $ref: '#/components/schemas/property' - type: array - tags: - description: Optional set of tags - items: - $ref: '#/components/schemas/tag' - type: array - timezone: - default: America/New_York - description: |- - A time zone name - Check /v2/timezones for a list of valid names. - type: string - webhook_active: - description: Webhook uri - type: boolean - webhook_uri: - description: Webhook uri - type: string - title: ThingCreate - type: object - TimeseriesDataPoint: - properties: - time: - description: Binning timestamp - format: date-time - type: string - value: - description: Avg value on the binning interval - format: double - type: number - required: - - time - - value - title: TimeseriesDataPoint - type: object - clone: - properties: - overrides: - description: 'The overrides to apply to the cloned dashboard. An override - is a tuple of ids: the id of the thing to override and the id of the new - thing to link' - items: - $ref: '#/components/schemas/override' - type: array - title: clone - type: object - dashboardshare: - properties: - user_id: - description: The userID of the user you want to share the dashboard with - format: uuid - type: string - username: - description: The username of the user you want to share the dashboard with - type: string - title: dashboardshare - type: object - dashboardv2: - description: DashboardV2Payload describes a dashboard - properties: - cover_image: - description: The cover image of the dashboard - maxLength: 1024 - type: string - name: - description: The friendly name of the dashboard - maxLength: 64 - pattern: '[a-zA-Z0-9_.@-]+' - type: string - widgets: - description: Widgets attached to this dashboard - items: - $ref: '#/components/schemas/widget' - type: array - title: dashboardv2 - type: object - devicev2: - description: DeviceV2 describes a device. - properties: - connection_type: - description: The type of the connections selected by the user when multiple - connections are available - enum: - - wifi - - eth - - wifiandsecret - - gsm - - nb - - lora - - catm1 - - cellular - type: string - fqbn: - description: The fully qualified board name - type: string - name: - description: The friendly name of the device - maxLength: 64 - pattern: '[a-zA-Z0-9_.@-]+' - type: string - serial: - description: The serial uuid of the device - maxLength: 64 - pattern: '[a-zA-Z0-9_.@-]+' - type: string - type: - description: The type of the device - enum: - - mkrwifi1010 - - mkr1000 - - nano_33_iot - - mkrgsm1400 - - mkrnb1500 - - login_and_secretkey_wifi - - envie_m7 - - nanorp2040connect - - nicla_vision - - phone - - portenta_x8 - - opta - - giga - - generic_device_secretkey - - portenta_c33 - - unor4wifi - - nano_nora - type: string - user_id: - description: The user_id associated to the device. If absent it will be - inferred from the authentication header - format: uuid - type: string - wifi_fw_version: - description: The version of the NINA/WIFI101 firmware running on the device - maxLength: 10 - pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ - type: string - title: devicev2 - type: object - devicev2.cert: - properties: - ca: - description: The Certification Authority you want to use - type: string - csr: - description: The certificate request in pem format - example: "-----BEGIN CERTIFICATE-----\n\t\t\tMIIBeDCCAR4CAQAwgY0xCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRl\n\t\t\tMQ8wDQYDVQQHEwZNeUNpdHkxFDASBgNVBAoTC0NvbXBhbnkgTHRkMQswCQYDVQQL\n\t\t\tEwJJVDEUMBIGA1UEAxMLZXhhbXBsZS5jb20xHzAdBgkqhkiG9w0BCQEMEHRlc3RA\n\t\t\tZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATf6J9Gk79XGJ2I\n\t\t\t+v6p/r0UmPufUcUwtlx7gx87+DaI8Vpj9R5KN71HsHYw5uq+Lm0cr0CZIdtZU4cP\n\t\t\tupd6jDQToC4wLAYJKoZIhvcNAQkOMR8wHTAbBgNVHREEFDASgRB0ZXN0QGV4YW1w\n\t\t\tbGUuY29tMAoGCCqGSM49BAMCA0gAMEUCIGQqtlGzYdjPwYZYJ41albMBcdrKI7+8\n\t\t\toiNSNWyDxJSGAiEAqQPPxMdr6vaXCCjr5s1J01WLKHzGoPFCR40rqAPs8eQ=\n\t\t\t-----END - CERTIFICATE-----\n\t\t\t" - maxLength: 1024 - type: string - enabled: - description: Whether the certificate is enabled - type: boolean - title: devicev2.cert - type: object - devicev2.otabinaryurl: - properties: - async: - default: true - description: If false, wait for the full OTA process, until it gets a result - from the device - type: boolean - binary_key: - description: The object key of the binary - pattern: ^ota/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+.ota$ - type: string - expire_in_mins: - default: 10 - description: Binary expire time in minutes, default 10 mins - format: int64 - type: integer - required: - - binary_key - title: devicev2.otabinaryurl - type: object - devicev2.otaurlpyalod: - properties: - binary_key: - description: The object key of the binary - pattern: ^ota/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+.ota$ - type: string - sha256: - description: The sha256 of the binary - pattern: ^[a-fA-F0-9]{64}$ - type: string - user_id: - description: The id of the user who is requesting the url - format: uuid - type: string - title: devicev2.otaurlpyalod - type: object - devicev2.pass: - properties: - password: - description: The password for the device - type: string - title: devicev2.pass - type: object - error: - description: Error response media type (default view) - properties: - code: - description: an application-specific error code, expressed as a string value. - example: invalid_value - type: string - detail: - description: a human-readable explanation specific to this occurrence of - the problem. - example: Value of ID must be an integer - type: string - id: - description: a unique identifier for this particular occurrence of the problem. - example: 3F1FKVRR - type: string - meta: - additionalProperties: true - description: a meta object containing non-standard meta-information about - the error. - example: - timestamp: 1458609066 - type: object - status: - description: the HTTP status code applicable to this problem - example: 400 - format: int64 - type: integer - title: 'Mediatype identifier: application/vnd.goa.error+json; view=default' - type: object - override: - properties: - new_thing_id: - description: The id of the new thing to link - format: uuid - type: string - old_thing_id: - description: The id of the thing to override - format: uuid - type: string - required: - - old_thing_id - - new_thing_id - title: override - type: object - propertiesValue: - properties: - name: - description: The name of the property - type: string - type: - default: infer - description: The type of the property - enum: - - infer - - base64 - - hex - - json - type: string - value: - description: The last value of the property - required: - - name - - value - - type - title: propertiesValue - type: object - propertiesValues: - properties: - input: - default: false - description: If true, send property values to device's input topic. - type: boolean - properties: - items: - $ref: '#/components/schemas/propertiesValue' - type: array - required: - - properties - title: propertiesValues - type: object - property: - description: PropertyPayload describes a property of a thing. No field is mandatory - properties: - max_value: - description: Maximum value of this property - format: double - type: number - min_value: - description: Minimum value of this property - format: double - type: number - name: - description: The friendly name of the property - type: string - permission: - description: The permission of the property - enum: - - READ_ONLY - - READ_WRITE - type: string - persist: - default: true - description: If true, data will persist into a timeseries database - type: boolean + x-go-name: ResourceKindFilter + Sketch: + allOf: + - $ref: '#/components/schemas/BaseResource' + - properties: + board_fqbn: + description: Board type + type: string + board_name: + description: Board name + type: string + board_type: + description: Board type + type: string + is_public: + description: Is public + type: boolean + size: + description: Size + type: number + sketch_path: + description: Sketch path + type: string + thing_id: + description: Identifier of the sketch associated to the given thing + example: A3FB5026-7337-4AB3-B203-2E6792C7C65C + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + types: + description: List of types + items: + type: string + type: array + required: + - sketch_path + - type + - is_public + type: object + Thing: + allOf: + - $ref: '#/components/schemas/BaseResource' + - properties: + device_id: + description: Identifier of the device connected to the given thing + example: B3FB5026-7337-4AB3-B203-2E6792C7C65E + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: uuid + sketch_id: + description: Identifier of the sketch associated to the given thing + example: A3FB5026-7337-4AB3-B203-2E6792C7C65C + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + tags: + additionalProperties: + type: string + type: object + timezone: + description: Thing time zone + type: string + required: + - href + - type + - timezone + type: object + ThingClone: + description: Payload to clone a new thing from an existing one + properties: + include_tags: + description: Include tags in clone procedure + type: boolean + name: + description: The friendly name of the thing + maxLength: 64 + pattern: ^[a-zA-Z0-9_. -]+$ + type: string + required: + - name + title: ThingClone + type: object + ThingCreate: + description: Payload to create a new thing + properties: + assistant: + description: The kind of voice assistant the thing is connected to, it can be ALEXA | GOOGLE | NONE + enum: + - ALEXA + - GOOGLE + - NONE + type: string + device_id: + description: The arn of the associated device + format: uuid + type: string + id: + description: The id of the thing + format: uuid + type: string + name: + description: The friendly name of the thing + maxLength: 64 + pattern: ^[a-zA-Z0-9_. -]+$ + type: string + properties: + description: The properties of the thing + items: + $ref: '#/components/schemas/property' + type: array + tags: + description: Optional set of tags + items: + $ref: '#/components/schemas/tag' + type: array + timezone: + default: America/New_York + description: |- + A time zone name + Check /v2/timezones for a list of valid names. + type: string + webhook_active: + description: Webhook uri + type: boolean + webhook_uri: + description: Webhook uri + type: string + title: ThingCreate + type: object + TimeseriesDataPoint: + properties: + time: + description: Binning timestamp + format: date-time + type: string + value: + description: Avg value on the binning interval + format: double + type: number + required: + - time + - value + title: TimeseriesDataPoint + type: object + TriggerDefinition: + allOf: + - $ref: '#/components/schemas/BaseResource' + - properties: + actions: + items: + $ref: '#/components/schemas/Action' + type: array + active: + description: Is active + type: boolean + description: + type: string + device_status_source: + $ref: '#/components/schemas/DeviceStatusSourceDefinition' + property_id: + example: B3FB5026-7337-4AB3-B203-2E6792C7C65E + format: uuid + type: string + required: + - active + - description + type: object + UpdateFolderRequest: + properties: + name: + description: New name of the folder + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,required,max=64 + soft_deleted: + description: Whether to soft delete (true) the folder or restore it (false) + type: boolean + type: object + User: + description: Represent a user + properties: + user_id: + description: ID of the user + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: uuid + username: + description: Username of the user + maxLength: 128 + type: string + required: + - user_id + - username + type: object + ValidationError: + properties: + message: + type: string + reason: + type: string + required: + - message + - reason + type: object + body_expression: + properties: + expression: + description: Content of the body of a message, variables are allowed + maxLength: 1000 + type: string + variables: + description: Variables used by the expression + items: + $ref: '#/components/schemas/variable' + type: array + required: + - expression + title: body_expression + type: object + clone: + properties: + overrides: + description: 'The overrides to apply to the cloned dashboard. An override is a tuple of ids: the id of the thing to override and the id of the new thing to link' + items: + $ref: '#/components/schemas/override' + type: array + title: clone + type: object + create-action: + properties: + description: + description: The description of the trigger + type: string + email: + $ref: '#/components/schemas/email_action' + kind: + description: The kind of the action + enum: + - NOTIFY-EMAIL + - NOTIFY-PUSH + example: NOTIFY-EMAIL + type: string + name: + description: The name of the action + type: string + organization_id: + description: Id of the organization the trigger belongs to + format: uuid + type: string + push_notification: + $ref: '#/components/schemas/push_action' + trigger_id: + description: Id of the trigger the action is associated to + format: uuid + type: string + required: + - kind + - name + title: create-action + type: object + dashboardshare: + properties: + user_id: + description: The userID of the user you want to share the dashboard with + format: uuid + type: string + username: + description: The username of the user you want to share the dashboard with + type: string + title: dashboardshare + type: object + dashboardv2: + description: DashboardV2Payload describes a dashboard + properties: + cover_image: + description: The cover image of the dashboard + maxLength: 1024 + type: string + name: + description: The friendly name of the dashboard + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + widgets: + description: Widgets attached to this dashboard + items: + $ref: '#/components/schemas/widget' + type: array + title: dashboardv2 + type: object + device_status_source: + properties: + criteria: + description: The matching criteria of the trigger, this allows to interpret device_ids as an inclusion or exclusion list + enum: + - INCLUDE + - EXCLUDE + type: string + device_ids: + description: A list of device IDs to be included in or excluded from the trigger (see criteria). Mutually exclusive with property_id. + items: + format: uuid + type: string + type: array + grace_period_offline: + description: Amount of seconds the trigger will wait before the device will be considered disconnected (requires 'device_id') + maximum: 1.2096e+06 + minimum: 0 + type: integer + grace_period_online: + description: Amount of seconds the trigger will wait before the device will be considered connected (requires 'device_id') + maximum: 1.2096e+06 + minimum: 0 + type: integer + required: + - criteria + title: device_status_source + type: object + devicev2: + description: DeviceV2 describes a device. + properties: + connection_type: + description: The type of the connections selected by the user when multiple connections are available + enum: + - wifi + - eth + - wifiandsecret + - gsm + - nb + - lora + - catm1 + - cellular + type: string + fqbn: + description: The fully qualified board name + type: string + name: + description: The friendly name of the device + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + serial: + description: The serial uuid of the device + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + type: + description: The type of the device + enum: + - mkrwifi1010 + - mkr1000 + - nano_33_iot + - mkrgsm1400 + - mkrnb1500 + - login_and_secretkey_wifi + - envie_m7 + - nanorp2040connect + - nicla_vision + - phone + - portenta_x8 + - opta + - giga + - generic_device_secretkey + - portenta_c33 + - unor4wifi + - nano_nora + type: string + user_id: + description: The user_id associated to the device. If absent it will be inferred from the authentication header + format: uuid + type: string + wifi_fw_version: + description: The version of the NINA/WIFI101 firmware running on the device + maxLength: 10 + pattern: ^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$ + type: string + title: devicev2 + type: object + devicev2.cert: + properties: + ca: + description: The Certification Authority you want to use + type: string + csr: + description: The certificate request in pem format + example: |- + -----BEGIN CERTIFICATE----- + MIIBeDCCAR4CAQAwgY0xCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRl + MQ8wDQYDVQQHEwZNeUNpdHkxFDASBgNVBAoTC0NvbXBhbnkgTHRkMQswCQYDVQQL + EwJJVDEUMBIGA1UEAxMLZXhhbXBsZS5jb20xHzAdBgkqhkiG9w0BCQEMEHRlc3RA + ZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATf6J9Gk79XGJ2I + +v6p/r0UmPufUcUwtlx7gx87+DaI8Vpj9R5KN71HsHYw5uq+Lm0cr0CZIdtZU4cP + upd6jDQToC4wLAYJKoZIhvcNAQkOMR8wHTAbBgNVHREEFDASgRB0ZXN0QGV4YW1w + bGUuY29tMAoGCCqGSM49BAMCA0gAMEUCIGQqtlGzYdjPwYZYJ41albMBcdrKI7+8 + oiNSNWyDxJSGAiEAqQPPxMdr6vaXCCjr5s1J01WLKHzGoPFCR40rqAPs8eQ= + -----END CERTIFICATE----- + + maxLength: 1024 + type: string + enabled: + description: Whether the certificate is enabled + type: boolean + title: devicev2.cert + type: object + devicev2.otabinaryurl: + properties: + async: + default: true + description: If false, wait for the full OTA process, until it gets a result from the device + type: boolean + binary_key: + description: The object key of the binary + pattern: ^ota/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+.ota$ + type: string + expire_in_mins: + default: 10 + description: Binary expire time in minutes, default 10 mins + format: int64 + type: integer + required: + - binary_key + title: devicev2.otabinaryurl + type: object + devicev2.otaurlpyalod: + properties: + binary_key: + description: The object key of the binary + pattern: ^ota/[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+.ota$ + type: string + sha256: + description: The sha256 of the binary + pattern: ^[a-fA-F0-9]{64}$ + type: string + user_id: + description: The id of the user who is requesting the url + format: uuid + type: string + title: devicev2.otaurlpyalod + type: object + devicev2.pass: + properties: + password: + description: The password for the device + type: string + title: devicev2.pass + type: object + email_action: + properties: + body: + $ref: '#/components/schemas/body_expression' + delivery: + $ref: '#/components/schemas/email_delivery_opts' + subject: + $ref: '#/components/schemas/title_expression' + required: + - delivery + - subject + - body + title: email_action + type: object + email_delivery_opts: + properties: + bcc: + description: The "bcc:" field of an e-mail + items: + $ref: '#/components/schemas/user_recipient' + type: array + cc: + description: The "cc:" field of an e-mail + items: + $ref: '#/components/schemas/user_recipient' + type: array + to: + description: The "to:" field of an e-mail + items: + $ref: '#/components/schemas/user_recipient' + minItems: 1 + type: array + required: + - to + title: email_delivery_opts + type: object + error: + description: Error response media type (default view) + properties: + code: + description: an application-specific error code, expressed as a string value. + example: invalid_value + type: string + detail: + description: a human-readable explanation specific to this occurrence of the problem. + example: Value of ID must be an integer + type: string + id: + description: a unique identifier for this particular occurrence of the problem. + example: 3F1FKVRR + type: string + meta: + additionalProperties: true + description: a meta object containing non-standard meta-information about the error. + example: + timestamp: 1.458609066e+09 + type: object + status: + description: the HTTP status code applicable to this problem + example: 400 + format: int64 + type: integer + title: 'Mediatype identifier: application/vnd.goa.error+json; view=default' + type: object + override: + properties: + new_thing_id: + description: The id of the new thing to link + format: uuid + type: string + old_thing_id: + description: The id of the thing to override + format: uuid + type: string + required: + - old_thing_id + - new_thing_id + title: override + type: object + propertiesValue: + properties: + name: + description: The name of the property + type: string + type: + default: infer + description: The type of the property + enum: + - infer + - base64 + - hex + - json + type: string + value: + description: The last value of the property + required: + - name + - value + - type + title: propertiesValue + type: object + propertiesValues: + properties: + input: + default: false + description: If true, send property values to device's input topic. + type: boolean + properties: + items: + $ref: '#/components/schemas/propertiesValue' + type: array + required: + - properties + title: propertiesValues + type: object + property: + description: PropertyPayload describes a property of a thing. No field is mandatory + properties: + max_value: + description: Maximum value of this property + format: double + type: number + min_value: + description: Minimum value of this property + format: double + type: number + name: + description: The friendly name of the property + type: string + permission: + description: The permission of the property + enum: + - READ_ONLY + - READ_WRITE + type: string + persist: + default: true + description: If true, data will persist into a timeseries database + type: boolean + tag: + description: The integer id of the property + format: int64 + type: integer + type: + description: The type of the property + enum: + - ANALOG + - CHARSTRING + - FLOAT + - INT + - LENGHT_C + - LENGHT_I + - LENGHT_M + - PERCENTAGE + - STATUS + - TEMPERATURE_C + - TEMPERATURE_F + - METER + - KILOGRAM + - GRAM + - SECOND + - AMPERE + - KELVIN + - CANDELA + - MOLE + - HERTZ + - RADIAN + - STERADIAN + - NEWTON + - PASCAL + - JOULE + - WATT + - COULOMB + - VOLT + - FARAD + - OHM + - SIEMENS + - WEBER + - TESLA + - HENRY + - DEGREES_CELSIUS + - LUMEN + - LUX + - BECQUEREL + - GRAY + - SIEVERT + - KATAL + - SQUARE_METER + - CUBIC_METER + - LITER + - METER_PER_SECOND + - METER_PER_SQUARE_SECOND + - CUBIC_METER_PER_SECOND + - LITER_PER_SECOND + - WATT_PER_SQUARE_METER + - CANDELA_PER_SQUARE_METER + - BIT + - BIT_PER_SECOND + - DEGREES_LATITUDE + - DEGREES_LONGITUDE + - PH_VALUE + - DECIBEL + - DECIBEL_1W + - BEL + - COUNT + - RATIO_DIV + - RATIO_MOD + - PERCENTAGE_RELATIVE_HUMIDITY + - PERCENTAGE_BATTERY_LEVEL + - SECONDS_BATTERY_LEVEL + - EVENT_RATE_SECOND + - EVENT_RATE_MINUTE + - HEART_RATE + - HEART_BEATS + - SIEMENS_PER_METER + - LOCATION + - COLOR_HSB + - COLOR_RGB + - GENERIC_COMPLEX_PROPERTY + - HOME_COLORED_LIGHT + - HOME_DIMMED_LIGHT + - HOME_LIGHT + - HOME_CONTACT_SENSOR + - HOME_MOTION_SENSOR + - HOME_SMART_PLUG + - HOME_TEMPERATURE + - HOME_TEMPERATURE_C + - HOME_TEMPERATURE_F + - HOME_SWITCH + - HOME_TELEVISION + - GOOGLE_HOME_COLORED_LIGHT + - GOOGLE_HOME_DIMMED_LIGHT + - GOOGLE_HOME_LIGHT + - GOOGLE_HOME_CONTACT_SENSOR + - GOOGLE_HOME_MOTION_SENSOR + - GOOGLE_HOME_SMART_PLUG + - GOOGLE_HOME_TEMPERATURE + - GOOGLE_HOME_TEMPERATURE_C + - GOOGLE_HOME_TEMPERATURE_F + - GOOGLE_HOME_SWITCH + - SMART_HOME_COLORED_LIGHT + - SMART_HOME_DIMMED_LIGHT + - SMART_HOME_LIGHT + - SMART_HOME_CONTACT_SENSOR + - SMART_HOME_MOTION_SENSOR + - SMART_HOME_SMART_PLUG + - SMART_HOME_TEMPERATURE + - SMART_HOME_TEMPERATURE_C + - SMART_HOME_TEMPERATURE_F + - SMART_HOME_SWITCH + - SMART_HOME_TELEVISION + - ENERGY + - FORCE + - TEMPERATURE + - POWER + - ELECTRIC_CURRENT + - ELECTRIC_POTENTIAL + - ELECTRICAL_RESISTANCE + - CAPACITANCE + - TIME + - FREQUENCY + - DATA_RATE + - ACCELERATION + - AREA + - LENGTH + - VELOCITY + - MASS + - VOLUME + - FLOW_RATE + - ANGLE + - ILLUMINANCE + - LUMINOUS_FLUX + - LUMINANCE + - LUMINOUS_INTENSITY + - LOGARITHMIC_QUANTITY + - PRESSURE + - INFORMATION_CONTENT + - SCHEDULE + type: string + update_parameter: + description: The update frequency in seconds, or the amount of the property has to change in order to trigger an update + format: double + type: number + update_strategy: + description: The update strategy for the property value + enum: + - ON_CHANGE + - TIMED + type: string + variable_name: + description: The sketch variable name of the property + maxLength: 64 + pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ + type: string + required: + - name + - type + - permission + - update_strategy + title: property + type: object + propertyValue: + description: PropertyValuePayload describes a property value + properties: + device_id: + description: The device who send the property + format: uuid + type: string + value: + description: The property value + required: + - value + title: propertyValue + type: object + push_action: + properties: + body: + $ref: '#/components/schemas/body_expression' + delivery: + $ref: '#/components/schemas/push_delivery_opts' + title: + $ref: '#/components/schemas/title_expression' + required: + - delivery + - title + - body + title: push_action + type: object + push_delivery_opts: + properties: + to: + description: The recipient of a push notification + items: + $ref: '#/components/schemas/user_recipient' + minItems: 1 + type: array + required: + - to + title: push_delivery_opts + type: object + sharerequest: + properties: + message: + description: The message the user want to send to the dashboard owner + type: string + title: sharerequest + type: object tag: - description: The integer id of the property - format: int64 - type: integer - type: - description: The type of the property - enum: - - ANALOG - - CHARSTRING - - FLOAT - - INT - - LENGHT_C - - LENGHT_I - - LENGHT_M - - PERCENTAGE - - STATUS - - TEMPERATURE_C - - TEMPERATURE_F - - METER - - KILOGRAM - - GRAM - - SECOND - - AMPERE - - KELVIN - - CANDELA - - MOLE - - HERTZ - - RADIAN - - STERADIAN - - NEWTON - - PASCAL - - JOULE - - WATT - - COULOMB - - VOLT - - FARAD - - OHM - - SIEMENS - - WEBER - - TESLA - - HENRY - - DEGREES_CELSIUS - - LUMEN - - LUX - - BECQUEREL - - GRAY - - SIEVERT - - KATAL - - SQUARE_METER - - CUBIC_METER - - LITER - - METER_PER_SECOND - - METER_PER_SQUARE_SECOND - - CUBIC_METER_PER_SECOND - - LITER_PER_SECOND - - WATT_PER_SQUARE_METER - - CANDELA_PER_SQUARE_METER - - BIT - - BIT_PER_SECOND - - DEGREES_LATITUDE - - DEGREES_LONGITUDE - - PH_VALUE - - DECIBEL - - DECIBEL_1W - - BEL - - COUNT - - RATIO_DIV - - RATIO_MOD - - PERCENTAGE_RELATIVE_HUMIDITY - - PERCENTAGE_BATTERY_LEVEL - - SECONDS_BATTERY_LEVEL - - EVENT_RATE_SECOND - - EVENT_RATE_MINUTE - - HEART_RATE - - HEART_BEATS - - SIEMENS_PER_METER - - LOCATION - - COLOR_HSB - - COLOR_RGB - - GENERIC_COMPLEX_PROPERTY - - HOME_COLORED_LIGHT - - HOME_DIMMED_LIGHT - - HOME_LIGHT - - HOME_CONTACT_SENSOR - - HOME_MOTION_SENSOR - - HOME_SMART_PLUG - - HOME_TEMPERATURE - - HOME_TEMPERATURE_C - - HOME_TEMPERATURE_F - - HOME_SWITCH - - HOME_TELEVISION - - GOOGLE_HOME_COLORED_LIGHT - - GOOGLE_HOME_DIMMED_LIGHT - - GOOGLE_HOME_LIGHT - - GOOGLE_HOME_CONTACT_SENSOR - - GOOGLE_HOME_MOTION_SENSOR - - GOOGLE_HOME_SMART_PLUG - - GOOGLE_HOME_TEMPERATURE - - GOOGLE_HOME_TEMPERATURE_C - - GOOGLE_HOME_TEMPERATURE_F - - GOOGLE_HOME_SWITCH - - SMART_HOME_COLORED_LIGHT - - SMART_HOME_DIMMED_LIGHT - - SMART_HOME_LIGHT - - SMART_HOME_CONTACT_SENSOR - - SMART_HOME_MOTION_SENSOR - - SMART_HOME_SMART_PLUG - - SMART_HOME_TEMPERATURE - - SMART_HOME_TEMPERATURE_C - - SMART_HOME_TEMPERATURE_F - - SMART_HOME_SWITCH - - SMART_HOME_TELEVISION - - ENERGY - - FORCE - - TEMPERATURE - - POWER - - ELECTRIC_CURRENT - - ELECTRIC_POTENTIAL - - ELECTRICAL_RESISTANCE - - CAPACITANCE - - TIME - - FREQUENCY - - DATA_RATE - - ACCELERATION - - AREA - - LENGTH - - VELOCITY - - MASS - - VOLUME - - FLOW_RATE - - ANGLE - - ILLUMINANCE - - LUMINOUS_FLUX - - LUMINANCE - - LUMINOUS_INTENSITY - - LOGARITHMIC_QUANTITY - - PRESSURE - - INFORMATION_CONTENT - - SCHEDULE - type: string - update_parameter: - description: The update frequency in seconds, or the amount of the property - has to change in order to trigger an update - format: double - type: number - update_strategy: - description: The update strategy for the property value - enum: - - ON_CHANGE - - TIMED - type: string - variable_name: - description: The sketch variable name of the property - maxLength: 64 - pattern: ^[a-zA-Z_][a-zA-Z0-9_]*$ - type: string - required: - - name - - type - - permission - - update_strategy - title: property - type: object - propertyValue: - description: PropertyValuePayload describes a property value - properties: - device_id: - description: The device who send the property - format: uuid - type: string - value: - description: The property value - required: - - value - title: propertyValue - type: object - sharerequest: - properties: - message: - description: The message the user want to send to the dashboard owner - type: string - title: sharerequest - type: object - tag: - properties: - key: - description: Key of the tag - maxLength: 64 - pattern: ^[a-zA-Z0-9_.@-]+$ - type: string - value: - description: Value of the tag - maxLength: 64 - pattern: ^[a-zA-Z0-9_.@-]+$ - type: string - required: - - key - - value - title: tag - type: object - template: - description: TemplatePayload describes the needed attribute to apply a template - properties: - custom_template_id: - description: The name of the directory on S3 bucket containing the user's - template - type: string - prefix_name: - description: The prefix to apply to the names of the generated resources - maxLength: 45 - pattern: ^[a-zA-Z0-9_. -]+$ - type: string - template_name: - description: The name of the directory on S3 bucket containing the template - example: remote-controlled-lights - type: string - things_options: - additionalProperties: true - type: object - required: - - template_name - title: template - type: object - thingSketch: - description: ThingSketchPayload describes a sketch of a thing - properties: - sketch_version: - description: The autogenerated sketch version - enum: - - v1 - - v2 - type: string - title: thingSketch - type: object - thingUpdate: - description: Payload to update an existing thing - properties: - assistant: - description: The kind of voice assistant the thing is connected to, it can - be ALEXA | GOOGLE | NONE - enum: - - ALEXA - - GOOGLE - - NONE - type: string - device_id: - description: The arn of the associated device - format: uuid - type: string - id: - description: The id of the thing - format: uuid - type: string - name: - description: The friendly name of the thing - maxLength: 64 - pattern: ^[a-zA-Z0-9_. -]+$ - type: string - properties: - description: The properties of the thing - items: - $ref: '#/components/schemas/property' - type: array - timezone: - description: |- - A time zone name. - Check /v2/timezones for a list of valid names. - type: string - webhook_active: - description: Webhook uri - type: boolean - webhook_uri: - description: Webhook uri - type: string - title: thingUpdate - type: object - updateSketch: - properties: - sketch_version: - description: The autogenerated sketch version - enum: - - v1 - - v2 - type: string - title: updateSketch - type: object - widget: - description: Widget describes a dashboard widget - properties: - height: - description: Widget current height for desktop - format: int64 - type: integer - height_mobile: - description: Widget current height for mobile - format: int64 - type: integer - id: - description: The UUID of the widget, set by client - format: uuid - type: string - name: - description: The name of the widget - type: string - options: - additionalProperties: true - description: Widget options - type: object - type: - description: The type of the widget - type: string - variables: - items: - format: uuid - type: string - type: array - width: - description: Widget current width for desktop - format: int64 - type: integer - width_mobile: - description: Widget current width for mobile - format: int64 - type: integer - x: - description: Widget x position for desktop - format: int64 - type: integer - x_mobile: - description: Widget x position for mobile - format: int64 - type: integer - "y": - description: Widget y position for desktop - format: int64 - type: integer - y_mobile: - description: Widget y position for mobile - format: int64 - type: integer - required: - - id - - type - - width - - height - - x - - "y" - - options - title: widget - type: object - widgetlink: - properties: - variables: - items: - format: uuid - type: string - type: array - title: widgetlink - type: object + properties: + key: + description: Key of the tag + maxLength: 64 + pattern: ^[a-zA-Z0-9_.@-]+$ + type: string + value: + description: Value of the tag + maxLength: 64 + pattern: ^[a-zA-Z0-9_.@-]+$ + type: string + required: + - key + - value + title: tag + type: object + template: + description: TemplatePayload describes the needed attribute to apply a template + properties: + custom_template_id: + description: The name of the directory on S3 bucket containing the user's template + type: string + prefix_name: + description: The prefix to apply to the names of the generated resources + maxLength: 45 + pattern: ^[a-zA-Z0-9_. -]+$ + type: string + template_name: + description: The name of the directory on S3 bucket containing the template + example: remote-controlled-lights + type: string + things_options: + additionalProperties: true + type: object + required: + - template_name + title: template + type: object + thingSketch: + description: ThingSketchPayload describes a sketch of a thing + properties: + sketch_version: + description: The autogenerated sketch version + enum: + - v1 + - v2 + type: string + title: thingSketch + type: object + thingUpdate: + description: Payload to update an existing thing + properties: + assistant: + description: The kind of voice assistant the thing is connected to, it can be ALEXA | GOOGLE | NONE + enum: + - ALEXA + - GOOGLE + - NONE + type: string + device_id: + description: The arn of the associated device + format: uuid + type: string + id: + description: The id of the thing + format: uuid + type: string + name: + description: The friendly name of the thing + maxLength: 64 + pattern: ^[a-zA-Z0-9_. -]+$ + type: string + properties: + description: The properties of the thing + items: + $ref: '#/components/schemas/property' + type: array + timezone: + description: |- + A time zone name. + Check /v2/timezones for a list of valid names. + type: string + webhook_active: + description: Webhook uri + type: boolean + webhook_uri: + description: Webhook uri + type: string + title: thingUpdate + type: object + title_expression: + properties: + expression: + description: Content of the title (or subject) of a message, variables are allowed + maxLength: 100 + type: string + variables: + description: Variables used by the expression + items: + $ref: '#/components/schemas/variable' + type: array + required: + - expression + title: title_expression + type: object + trigger: + properties: + actions: + description: A list of actions to be associated with the trigger + items: + $ref: '#/components/schemas/create-action' + type: array + active: + description: Is true if the trigger is enabled + type: boolean + description: + description: The description of the trigger + type: string + device_status_source: + $ref: '#/components/schemas/device_status_source' + id: + description: The id of the trigger + format: uuid + type: string + name: + description: The name of the trigger + type: string + property_id: + description: Id of the property the trigger is associated to (mutually exclusive with 'device_status_source') + format: uuid + type: string + title: trigger + type: object + update-action: + properties: + description: + description: The description of the trigger + type: string + email: + $ref: '#/components/schemas/email_action' + name: + description: The name of the action + type: string + push_notification: + $ref: '#/components/schemas/push_action' + trigger_id: + description: Id of the trigger the action is associated to + format: uuid + type: string + title: update-action + type: object + updateSketch: + properties: + sketch_version: + description: The autogenerated sketch version + enum: + - v1 + - v2 + type: string + title: updateSketch + type: object + user_recipient: + properties: + email: + description: The email address of the user + type: string + id: + description: The id of the user + format: uuid + type: string + username: + description: The username of the user + type: string + required: + - id + title: user_recipient + type: object + variable: + properties: + attribute: + description: The template expression that extracts the value from the respective entity + enum: + - ID + - NAME + - VALUE + - TIMESTAMP + - USERNAME + - EMAIL + - STATUS + example: PROPERTY + type: string + entity: + description: Type of the entity being referenced + enum: + - RECIPIENT + - USER + - DEVICE + - THING + - PROPERTY + - TRIGGERING_DEVICE + example: PROPERTY + type: string + id: + description: The ID of the referenced entity + format: uuid + type: string + placeholder: + description: Name of the variable as referenced by the expression + type: string + property_id: + description: The ID of the property referenced entity + type: string + thing_id: + description: The ID of the thing referenced entity + type: string + required: + - placeholder + - entity + - attribute + title: variable + type: object + widget: + description: Widget describes a dashboard widget + properties: + height: + description: Widget current height for desktop + format: int64 + type: integer + height_mobile: + description: Widget current height for mobile + format: int64 + type: integer + id: + description: The UUID of the widget, set by client + format: uuid + type: string + name: + description: The name of the widget + type: string + options: + additionalProperties: true + description: Widget options + type: object + type: + description: The type of the widget + type: string + variables: + items: + format: uuid + type: string + type: array + width: + description: Widget current width for desktop + format: int64 + type: integer + width_mobile: + description: Widget current width for mobile + format: int64 + type: integer + x: + description: Widget x position for desktop + format: int64 + type: integer + x_mobile: + description: Widget x position for mobile + format: int64 + type: integer + "y": + description: Widget y position for desktop + format: int64 + type: integer + y_mobile: + description: Widget y position for mobile + format: int64 + type: integer + required: + - id + - type + - width + - height + - x + - "y" + - options + title: widget + type: object + widgetlink: + properties: + variables: + items: + format: uuid + type: string + type: array + title: widgetlink + type: object + securitySchemes: + jwt_bearer_authentication: + description: Bearer authentication + scheme: bearer + type: http info: - description: |2- + description: |4- + Provides a set of endpoints to manage Arduino IoT Cloud **Devices**, **Things**, **Properties** and **Timeseries**. This API can be called just with any HTTP Client, or using one of these clients: - Provides a set of endpoints to manage Arduino IoT Cloud **Devices**, **Things**, **Properties** and **Timeseries**. This API can be called just with any HTTP Client, or using one of these clients: + * [Javascript NPM package](https://www.npmjs.com/package/@arduino/arduino-iot-client) - * [Javascript NPM package](https://www.npmjs.com/package/@arduino/arduino-iot-client) + * [Python PYPI Package](https://pypi.org/project/arduino-iot-client/) - * [Python PYPI Package](https://pypi.org/project/arduino-iot-client/) - - * [Golang Module](https://github.com/arduino/iot-client-go) - title: Arduino IoT Cloud API - version: "2.0" + * [Golang Module](https://github.com/arduino/iot-client-go) + title: Arduino IoT Cloud API + version: "2.0" openapi: 3.0.3 paths: - /v1/lora-devices/: - put: - description: Create a new lora device. Its info are saved on our database, and - on the lora provider network. Creates a device_v2 automatically - operationId: lora_devices_v1#create - parameters: - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLoraDevicesV1Payload' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CreateLoraDevicesV1Payload' - required: true - x-originalParamName: payload - responses: - "201": - content: - application/vnd.arduino.loradevicev1+json: - schema: - $ref: '#/components/schemas/ArduinoLoradevicev1' - description: Created - summary: create lora_devices_v1 - tags: - - lora_devices_v1 - /v1/lora-freq-plans/: - get: - description: List the lora frequency plans supported - operationId: lora_freq_plan_v1#list - responses: - "200": - content: - application/vnd.arduino.lorafreqplansv1+json: - schema: - $ref: '#/components/schemas/ArduinoLorafreqplansv1' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoLorafreqplansv1' - description: OK - "401": - content: - application/vnd.arduino.lorafreqplansv1+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "500": - content: - application/vnd.arduino.lorafreqplansv1+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - summary: list lora_freq_plan_v1 - tags: - - lora_freq_plan_v1 - /v1/network_credentials/{type}: - get: - description: Show required network credentials depending on device type - operationId: network_credentials_v1#show - parameters: - - description: Connection used by the device - in: query - name: connection - schema: - enum: - - wifi - - eth - - wifiandsecret - - gsm - - nb - - lora - - catm1 - - cellular - type: string - - description: Device type - in: path - name: type - required: true - schema: - enum: - - mkrwifi1010 - - mkr1000 - - nano_33_iot - - mkrgsm1400 - - mkrwan1310 - - mkrwan1300 - - mkrnb1500 - - lora-device - - login_and_secretkey_wifi - - envie_m7 - - nanorp2040connect - - nicla_vision - - opta - - giga - - portenta_c33 - - unor4wifi - - nano_nora - type: string - responses: - "200": - content: - application/vnd.arduino.credentialsv1+json; type=collection: - schema: - $ref: '#/components/schemas/ArduinoCredentialsv1Collection' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoCredentialsv1Collection' - description: OK - "401": - content: - application/vnd.arduino.credentialsv1+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - summary: show network_credentials_v1 - tags: - - network_credentials_v1 - /v1/network_credentials/{type}/connections: - get: - description: Show available connection types depending on device type - operationId: network_credentials_v1#showByDevice - parameters: - - description: Device type - in: path - name: type - required: true - schema: - enum: - - mkrwifi1010 - - mkr1000 - - nano_33_iot - - mkrgsm1400 - - mkrwan1310 - - mkrwan1300 - - mkrnb1500 - - lora-device - - login_and_secretkey_wifi - - envie_m7 - - nanorp2040connect - - nicla_vision - - opta - - giga - - portenta_c33 - - unor4wifi - - nano_nora - type: string - responses: - "200": - description: OK - "401": - content: - application/json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - summary: showByDevice network_credentials_v1 - tags: - - network_credentials_v1 - /v1/property_types: - get: - description: Returns the list of available property types - operationId: property_types_v1#listTypes - responses: - "200": - content: - application/vnd.arduino.propertytype+json; type=collection: - schema: - $ref: '#/components/schemas/ArduinoPropertytypeCollection' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoPropertytypeCollection' - description: OK - "500": - content: - application/vnd.arduino.propertytype+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: listTypes property_types_v1 - tags: - - property_types_v1 - /v1/templates: - put: - description: Apply an existing cloud template and generate all the needed resources - operationId: templates#apply - parameters: - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/template' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/template' - description: TemplatePayload describes the needed attribute to apply a template - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.template+json: - schema: - $ref: '#/components/schemas/ArduinoTemplate' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoTemplate' - description: OK - "400": - content: - application/vnd.arduino.template+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.template+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - content: - application/vnd.arduino.template+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Not Found - "409": - content: - application/vnd.arduino.template+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Conflict - "500": - content: - application/vnd.arduino.template+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - summary: apply templates - tags: - - templates - /v2/dashboards: - get: - description: Returns the list of dashboards - operationId: dashboards_v2#list - parameters: - - description: The name of the dashboard - in: query - name: name - schema: - maxLength: 64 - pattern: '[a-zA-Z0-9_.@-]+' - type: string - - description: The user_id of the dashboard's owner - in: query - name: user_id - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.dashboardv2+json; type=collection: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2Collection' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2Collection' - description: OK - "400": - content: - application/vnd.arduino.dashboardv2+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.dashboardv2+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.dashboardv2+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "500": - content: - application/vnd.arduino.dashboardv2+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: list dashboards_v2 - tags: - - dashboards_v2 - post: - description: Create a new dashboard - operationId: dashboards_v2#create - parameters: - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/dashboardv2' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/dashboardv2' - description: DashboardV2Payload describes a dashboard - required: true - x-originalParamName: payload - responses: - "201": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2' - description: Created - "400": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "500": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: create dashboards_v2 - tags: - - dashboards_v2 - /v2/dashboards/{id}: - delete: - description: Delete a dashboard - operationId: dashboards_v2#delete - parameters: - - description: The id of the dashboard - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - description: OK - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: delete dashboards_v2 - tags: - - dashboards_v2 - get: - description: Show a dashboard - operationId: dashboards_v2#show - parameters: - - description: The id of the dashboard - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2' - description: OK - "401": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: show dashboards_v2 - tags: - - dashboards_v2 - put: - description: Updates an existing dashboard - operationId: dashboards_v2#update - parameters: - - description: The id of the dashboard - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/dashboardv2' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/dashboardv2' - description: DashboardV2Payload describes a dashboard - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2' - description: OK - "400": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: update dashboards_v2 - tags: - - dashboards_v2 - /v2/dashboards/{id}/clone: - put: - description: Clone an existing dashboard - operationId: dashboards_v2#clone - parameters: - - description: The id of the dashboard - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/clone' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/clone' - required: true - x-originalParamName: payload - responses: - "201": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2' - description: Created - "400": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.dashboardv2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: clone dashboards_v2 - tags: - - dashboards_v2 - /v2/dashboards/{id}/share_request: - put: - description: Request access to a dashboard - operationId: dashboards_v2#requestAccess - parameters: - - description: The id of the dashboard - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/sharerequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/sharerequest' - required: true - x-originalParamName: payload - responses: - "200": - description: OK - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: requestAccess dashboards_v2 - tags: - - dashboards_v2 - /v2/dashboards/{id}/shares: - get: - description: List of users the dashboard has been shared with - operationId: dashboards_v2#listShares - parameters: - - description: The id of the dashboard - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.dashboardshare+json; type=collection: - schema: - $ref: '#/components/schemas/ArduinoDashboardshareCollection' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardshareCollection' - description: OK - "400": - content: - application/vnd.arduino.dashboardshare+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.dashboardshare+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.dashboardshare+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.dashboardshare+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: listShares dashboards_v2 - tags: - - dashboards_v2 - put: - description: Share a dashboard - operationId: dashboards_v2#share - parameters: - - description: The id of the dashboard - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/dashboardshare' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/dashboardshare' - required: true - x-originalParamName: payload - responses: - "200": - description: OK - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: share dashboards_v2 - tags: - - dashboards_v2 - /v2/dashboards/{id}/shares/{user_id}: - delete: - description: Delete a user the dashboard has been shared with - operationId: dashboards_v2#deleteShare - parameters: - - description: The id of the dashboard - in: path - name: id - required: true - schema: - type: string - - description: The id of the user - in: path - name: user_id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - description: OK - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: deleteShare dashboards_v2 - tags: - - dashboards_v2 - /v2/dashboards/{id}/template: - get: - description: Get a template of the dashboard - operationId: dashboards_v2#template - parameters: - - description: The id of the dashboard - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.dashboardv2template+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2template' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDashboardv2template' - description: OK - "400": - content: - application/vnd.arduino.dashboardv2template+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.dashboardv2template+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.dashboardv2template+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.dashboardv2template+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: template dashboards_v2 - tags: - - dashboards_v2 - /v2/dashboards/{id}/widgets/{widgetId}/variables: - put: - description: Link or detach widget variables - operationId: dashboards_v2#link - parameters: - - description: The id of the dashboard - in: path - name: id - required: true - schema: - type: string - - description: The id of the widget - in: path - name: widgetId - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/widgetlink' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/widgetlink' - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.variableslinks+json: - schema: - $ref: '#/components/schemas/ArduinoVariableslinks' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoVariableslinks' - description: OK - "400": - content: - application/vnd.arduino.variableslinks+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.variableslinks+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.variableslinks+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.variableslinks+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: link dashboards_v2 - tags: - - dashboards_v2 - /v2/devices: - get: - description: Returns the list of devices associated to the user - operationId: devices_v2#list - parameters: - - description: If true, returns all the devices - in: query - name: across_user_ids - schema: - default: false - type: boolean - - description: Filter by device serial number - in: query - name: serial - schema: - type: string - - description: Filter by tags - in: query - name: tags - schema: - items: - maxLength: 129 - pattern: ^[a-zA-Z0-9_.@-]+:[a-zA-Z0-9_.@-]+$ - type: string - type: array - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.devicev2+json; type=collection: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Collection' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Collection' - description: OK - "400": - content: - application/vnd.arduino.devicev2+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.devicev2+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.devicev2+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "500": - content: - application/vnd.arduino.devicev2+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: list devices_v2 - tags: - - devices_v2 - put: - description: Creates a new device associated to the user. - operationId: devices_v2#create - parameters: - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateDevicesV2Payload' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CreateDevicesV2Payload' - description: DeviceV2 describes a device. - required: true - x-originalParamName: payload - responses: - "201": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2' - description: Created - "401": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "412": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Precondition Failed - "500": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: create devices_v2 - tags: - - devices_v2 - /v2/devices/{id}: - delete: - description: Removes a device associated to the user - operationId: devices_v2#delete - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - description: OK - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: delete devices_v2 - tags: - - devices_v2 - get: - description: Returns the device requested by the user - operationId: devices_v2#show - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2' - description: OK - "401": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: show devices_v2 - tags: - - devices_v2 - post: - description: Updates a device associated to the user - operationId: devices_v2#update - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/devicev2' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/devicev2' - description: DeviceV2 describes a device. - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2' - description: OK - "400": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: update devices_v2 - tags: - - devices_v2 - /v2/devices/{id}/certs: - get: - description: Returns the list of certs associated to the device - operationId: devices_v2_certs#list - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.devicev2.cert+json; type=collection: - schema: - $ref: '#/components/schemas/ArduinoDevicev2CertCollection' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2CertCollection' - description: OK - "401": - content: - application/vnd.arduino.devicev2.cert+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2.cert+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: list devices_v2_certs - tags: - - devices_v2_certs - put: - description: Creates a new cert associated to a device. The csr is signed and - saved in database. The CommonName will be replaced with the device id. - operationId: devices_v2_certs#create - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateDevicesV2CertsPayload' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CreateDevicesV2CertsPayload' - required: true - x-originalParamName: payload - responses: - "201": - content: - application/vnd.arduino.devicev2.cert+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Cert' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Cert' - description: Created - "400": - content: - application/vnd.arduino.devicev2.cert+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.devicev2.cert+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2.cert+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: create devices_v2_certs - tags: - - devices_v2_certs - /v2/devices/{id}/certs/{cid}: - delete: - description: Removes a cert associated to a device - operationId: devices_v2_certs#delete - parameters: - - description: The id of the cert - in: path - name: cid - required: true - schema: - type: string - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - responses: - "200": - description: OK - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: delete devices_v2_certs - tags: - - devices_v2_certs - get: - description: Returns the cert requested by the user - operationId: devices_v2_certs#show - parameters: - - description: The id of the cert - in: path - name: cid - required: true - schema: - type: string - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.devicev2.cert+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Cert' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Cert' - description: OK - "401": - content: - application/vnd.arduino.devicev2.cert+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2.cert+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: show devices_v2_certs - tags: - - devices_v2_certs - post: - description: Updates a cert associated to a device. The csr is signed and saved - in database. The CommonName will be replaced with the device id. - operationId: devices_v2_certs#update - parameters: - - description: The id of the cert - in: path - name: cid - required: true - schema: - type: string - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/devicev2.cert' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/devicev2.cert' - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.devicev2.cert+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Cert' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Cert' - description: OK - "400": - content: - application/vnd.arduino.devicev2.cert+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.devicev2.cert+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2.cert+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: update devices_v2_certs - tags: - - devices_v2_certs - /v2/devices/{id}/events: - get: - description: GET device events - operationId: devices_v2#getEvents - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - - description: The number of events to select - in: query - name: limit - schema: - type: integer - - description: The time at which to start selecting events - in: query - name: start - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.devicev2.event.properties+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2EventProperties' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2EventProperties' - description: OK - "401": - content: - application/vnd.arduino.devicev2.event.properties+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.devicev2.event.properties+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2.event.properties+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - "503": - content: - application/vnd.arduino.devicev2.event.properties+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Service Unavailable - security: - - oauth2: [] - summary: getEvents devices_v2 - tags: - - devices_v2 - /v2/devices/{id}/ota: - post: - description: Upload a binary and send it to a device - operationId: devices_v2_ota#upload - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - multipart/form-data: - schema: - properties: - async: - default: true - description: If false, wait for the full OTA process, until it gets - a result from the device - type: boolean - x-formData-name: async - expire_in_mins: - default: 10 - description: Binary expire time in minutes, default 10 mins - type: integer - x-formData-name: expire_in_mins - ota_file: - description: OTA file - format: binary - required: - - ota_file - type: string - x-formData-name: ota_file - required: - - ota_file - type: object - responses: - "200": - content: - application/vnd.arduino.devicev2.otaupload+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Otaupload' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Otaupload' - description: OK - "202": - content: - application/vnd.arduino.devicev2.otaupload+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Otaupload' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Otaupload' - description: Accepted - "400": - content: - application/vnd.arduino.devicev2.otaupload+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.devicev2.otaupload+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.devicev2.otaupload+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - content: - application/vnd.arduino.devicev2.otaupload+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Not Found - "409": - description: Conflict - "410": - content: - application/vnd.arduino.devicev2.otaupload+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Gone - "412": - content: - application/vnd.arduino.devicev2.otaupload+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Precondition Failed - "500": - content: - application/vnd.arduino.devicev2.otaupload+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: upload devices_v2_ota - tags: - - devices_v2_ota - put: - description: Send a binary url to a device - operationId: devices_v2_ota#send - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/devicev2.otabinaryurl' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/devicev2.otabinaryurl' - required: true - x-originalParamName: payload - responses: - "200": - description: OK - "202": - description: Accepted - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Not Found - "410": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Gone - "412": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Precondition Failed - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: send devices_v2_ota - tags: - - devices_v2_ota - /v2/devices/{id}/ota/url: - post: - description: Generate a url for downloading a binary - operationId: devices_v2_ota#url - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/devicev2.otaurlpyalod' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/devicev2.otaurlpyalod' - required: true - x-originalParamName: payload - responses: - "200": - description: OK - "202": - description: Accepted - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Not Found - "410": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Gone - "412": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Precondition Failed - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: url devices_v2_ota - tags: - - devices_v2_ota - /v2/devices/{id}/pass: - delete: - description: Removes the password for the device. - operationId: devices_v2_pass#delete - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - responses: - "200": - description: OK - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: delete devices_v2_pass - tags: - - devices_v2_pass - get: - description: Returns whether the password for this device is set or not. It - doesn't return the password. - operationId: devices_v2_pass#get - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - - description: If true, return a suggested password - in: query - name: suggested_password - schema: - default: false - type: boolean - responses: - "200": - content: - application/vnd.arduino.devicev2.pass+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Pass' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Pass' - description: OK - "401": - content: - application/vnd.arduino.devicev2.pass+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2.pass+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: get devices_v2_pass - tags: - - devices_v2_pass - post: - description: Check if the password matches. - operationId: devices_v2_pass#check - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CheckDevicesV2PassPayload' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CheckDevicesV2PassPayload' - required: true - x-originalParamName: payload - responses: - "200": - description: OK - "400": - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: check devices_v2_pass - tags: - - devices_v2_pass - put: - description: Sets the password for the device. It can never be read back. - operationId: devices_v2_pass#set - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/devicev2.pass' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/devicev2.pass' - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.devicev2.pass+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Pass' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2Pass' - description: OK - "400": - content: - application/vnd.arduino.devicev2.pass+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.devicev2.pass+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2.pass+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: set devices_v2_pass - tags: - - devices_v2_pass - /v2/devices/{id}/properties: - get: - description: GET device properties - operationId: devices_v2#getProperties - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - - description: If true, shows the soft deleted properties - in: query - name: show_deleted - schema: - default: false - type: boolean - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.devicev2properties+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2properties' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2properties' - description: OK - "401": - content: - application/vnd.arduino.devicev2properties+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.devicev2properties+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2properties+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: getProperties devices_v2 - tags: - - devices_v2 - put: - description: Update device properties last values - operationId: devices_v2#updateProperties - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/propertiesValues' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/propertiesValues' - required: true - x-originalParamName: payload - responses: - "200": - description: OK - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: updateProperties devices_v2 - tags: - - devices_v2 - /v2/devices/{id}/properties/{pid}: - get: - description: GET device properties values in a range of time - operationId: devices_v2#timeseries - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - - description: The number of properties to select - in: query - name: limit - schema: - type: integer - - description: The id of the property - in: path - name: pid - required: true - schema: - type: string - - description: The time at which to start selecting properties - in: query - name: start - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.devicev2propertyvalues+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2propertyvalues' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2propertyvalues' - description: OK - "400": - content: - application/vnd.arduino.devicev2propertyvalues+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.devicev2propertyvalues+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.devicev2propertyvalues+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2propertyvalues+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: timeseries devices_v2 - tags: - - devices_v2 - /v2/devices/{id}/status: - get: - description: GET connection status events - operationId: devices_v2#GetStatusEvents - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - - description: The number of events to select - in: query - name: limit - schema: - default: 30 - type: integer - - description: The time at which to start selecting events - in: query - name: start - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.devicev2.status.events+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2StatusEvents' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoDevicev2StatusEvents' - description: OK - "400": - content: - application/vnd.arduino.devicev2.status.events+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.devicev2.status.events+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.devicev2.status.events+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.devicev2.status.events+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - "503": - content: - application/vnd.arduino.devicev2.status.events+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Service Unavailable - security: - - oauth2: [] - summary: GetStatusEvents devices_v2 - tags: - - devices_v2 - /v2/devices/{id}/tags: - get: - description: List tags associated to the device. - operationId: devices_v2_tags#list - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.tags+json: - schema: - $ref: '#/components/schemas/ArduinoTags' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoTags' - description: OK - "401": - content: - application/vnd.arduino.tags+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "500": - content: - application/vnd.arduino.tags+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: list devices_v2_tags - tags: - - devices_v2_tags - put: - description: Creates or updates a tag associated to the device. - operationId: devices_v2_tags#upsert - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/tag' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/tag' - required: true - x-originalParamName: payload - responses: - "200": - description: OK - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: upsert devices_v2_tags - tags: - - devices_v2_tags - /v2/devices/{id}/tags/{key}: - delete: - description: Delete a tag associated to the device given its key. - operationId: devices_v2_tags#delete - parameters: - - description: The id of the device - in: path - name: id - required: true - schema: - type: string - - description: The key of the tag - in: path - name: key - required: true - schema: - maxLength: 64 - pattern: ^[a-zA-Z0-9_.@-]+$ - type: string - responses: - "200": - description: OK - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: delete devices_v2_tags - tags: - - devices_v2_tags - /v2/series/batch_query: - post: - description: Returns the batch of time-series aggregated samples - operationId: series_v2#batch_query - parameters: - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BatchQueryRequestsMediaV1' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/BatchQueryRequestsMediaV1' - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.series.batch+json: - schema: - $ref: '#/components/schemas/ArduinoSeriesBatch' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoSeriesBatch' - description: OK - "400": - content: - application/vnd.arduino.series.batch+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.series.batch+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.series.batch+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "501": - description: Not Implemented - "503": - content: - application/vnd.arduino.series.batch+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Service Unavailable - security: - - oauth2: [] - summary: batch_query series_v2 - tags: - - series_v2 - /v2/series/batch_query_raw: - post: - description: Returns the batch of time-series raw samples - operationId: series_v2#batch_query_raw - parameters: - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BatchQueryRawRequestsMediaV1' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/BatchQueryRawRequestsMediaV1' - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.series.raw.batch+json: - schema: - $ref: '#/components/schemas/ArduinoSeriesRawBatch' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoSeriesRawBatch' - description: OK - "400": - content: - application/vnd.arduino.series.raw.batch+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.series.raw.batch+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.series.raw.batch+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "501": - description: Not Implemented - "503": - content: - application/vnd.arduino.series.raw.batch+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Service Unavailable - security: - - oauth2: [] - summary: batch_query_raw series_v2 - tags: - - series_v2 - /v2/series/batch_query_raw/lastvalue: - post: - description: Returns the batch of time-series data raw - operationId: series_v2#batch_query_raw_last_value - parameters: - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BatchLastValueRequestsMediaV1' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/BatchLastValueRequestsMediaV1' - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.series.raw.batch.lastvalue+json: - schema: - $ref: '#/components/schemas/ArduinoSeriesRawBatchLastvalue' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoSeriesRawBatchLastvalue' - description: OK - "401": - content: - application/vnd.arduino.series.raw.batch.lastvalue+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.series.raw.batch.lastvalue+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "501": - description: Not Implemented - "503": - content: - application/vnd.arduino.series.raw.batch.lastvalue+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Service Unavailable - security: - - oauth2: [] - summary: batch_query_raw_last_value series_v2 - tags: - - series_v2 - /v2/series/batch_query_sampling: - post: - description: 'Returns a batch of time-series sampled samples. To be used for - types that does not support mathematic aggregation. Types supported: strings, - complex types.' - operationId: series_v2#batch_query_sampling - parameters: - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BatchQuerySampledRequestsMediaV1' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/BatchQuerySampledRequestsMediaV1' - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.series.batch.sampled+json: - schema: - $ref: '#/components/schemas/ArduinoSeriesBatchSampled' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoSeriesBatchSampled' - description: OK - "400": - content: - application/vnd.arduino.series.batch.sampled+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.series.batch.sampled+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.series.batch.sampled+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "501": - description: Not Implemented - "503": - content: - application/vnd.arduino.series.batch.sampled+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Service Unavailable - security: - - oauth2: [] - summary: batch_query_sampling series_v2 - tags: - - series_v2 - /v2/series/historic_data: - post: - description: Request sending of historical data of properties by email - operationId: series_v2#historic_data - parameters: - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/HistoricDataRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/HistoricDataRequest' - required: true - x-originalParamName: payload - responses: - "202": - description: Accepted - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: historic_data series_v2 - tags: - - series_v2 - /v2/things: - get: - description: Returns the list of things associated to the user - operationId: things_v2#list - parameters: - - description: If true, returns all the things - in: query - name: across_user_ids - schema: - default: false - type: boolean - - description: The id of the device you want to filter - in: query - name: device_id - schema: - type: string - - description: Filter only the desired things - in: query - name: ids - schema: - items: - type: string - type: array - - description: If true, shows the soft deleted things - in: query - name: show_deleted - schema: - default: false - type: boolean - - description: If true, returns things with their properties, and last values - in: query - name: show_properties - schema: - default: false - type: boolean - - description: Filter by tags - in: query - name: tags - schema: - items: - maxLength: 129 - pattern: ^[a-zA-Z0-9_.@-]+:[a-zA-Z0-9_.@-]+$ - type: string - type: array - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.thing+json; type=collection: - schema: - $ref: '#/components/schemas/ArduinoThingCollection' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoThingCollection' - description: OK - "400": - content: - application/vnd.arduino.thing+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.thing+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.thing+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "500": - content: - application/vnd.arduino.thing+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: list things_v2 - tags: - - things_v2 - put: - description: Creates a new thing associated to the user - operationId: things_v2#create - parameters: - - description: If true, detach device from the other thing, and attach to this - thing - in: query - name: force - schema: - default: false - type: boolean - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ThingCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ThingCreate' - description: Payload to create a new thing - required: true - x-originalParamName: payload - responses: - "201": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - description: Created - "400": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "409": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Conflict - "412": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Precondition Failed - "500": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: create things_v2 - tags: - - things_v2 - /v2/things/{id}: - delete: - description: Removes a thing associated to the user - operationId: things_v2#delete - parameters: - - description: If true, hard delete the thing - in: query - name: force - schema: - default: false - type: boolean - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - description: OK - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: delete things_v2 - tags: - - things_v2 - get: - description: Returns the thing requested by the user - operationId: things_v2#show - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - description: If true, shows the soft deleted thing - in: query - name: show_deleted - schema: - default: false - type: boolean - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - description: OK - "401": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: show things_v2 - tags: - - things_v2 - post: - description: Updates a thing associated to the user - operationId: things_v2#update - parameters: - - description: If true, detach device from the other thing, and attach to this - thing - in: query - name: force - schema: - default: false - type: boolean - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/thingUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/thingUpdate' - description: Payload to update an existing thing - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - description: OK - "400": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "409": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Conflict - "412": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Precondition Failed - "500": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: update things_v2 - tags: - - things_v2 - /v2/things/{id}/clone: - put: - description: Clone a given thing - operationId: things_v2#clone - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ThingClone' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ThingClone' - description: Payload to clone a new thing from an existing one - required: true - x-originalParamName: payload - responses: - "201": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - description: OK - "400": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: clone things_v2 - tags: - - things_v2 - /v2/things/{id}/properties: - get: - description: Returns the list of properties associated to the thing - operationId: properties_v2#list - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - description: If true, shows the soft deleted properties - in: query - name: show_deleted - schema: - default: false - type: boolean - - description: The id of the organization - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.property+json; type=collection: - schema: - $ref: '#/components/schemas/ArduinoPropertyCollection' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoPropertyCollection' - description: OK - "401": - content: - application/vnd.arduino.property+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - content: - application/vnd.arduino.property+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Not Found - "500": - content: - application/vnd.arduino.property+json; type=collection: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: list properties_v2 - tags: - - properties_v2 - put: - description: Creates a new property associated to a thing - operationId: properties_v2#create - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - description: The id of the organization - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/property' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/property' - description: PropertyPayload describes a property of a thing. No field is - mandatory - required: true - x-originalParamName: payload - responses: - "201": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/ArduinoProperty' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoProperty' - description: Created - "400": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "412": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Precondition Failed - "500": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: create properties_v2 - tags: - - properties_v2 - /v2/things/{id}/properties/{pid}: - delete: - description: Removes a property associated to a thing - operationId: properties_v2#delete - parameters: - - description: If true, hard delete the property - in: query - name: force - schema: - default: false - type: boolean - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - description: The id of the property - in: path - name: pid - required: true - schema: - type: string - - description: The id of the organization - in: header - name: X-Organization - schema: - type: string - responses: - "200": - description: OK - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: delete properties_v2 - tags: - - properties_v2 - get: - description: Returns the property requested by the user - operationId: properties_v2#show - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - description: The id of the property - in: path - name: pid - required: true - schema: - type: string - - description: If true, shows the soft deleted properties - in: query - name: show_deleted - schema: - default: false - type: boolean - - description: The id of the organization - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/ArduinoProperty' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoProperty' - description: OK - "401": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Not Found - "500": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: show properties_v2 - tags: - - properties_v2 - post: - description: Updates a property associated to a thing - operationId: properties_v2#update - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - description: The id of the property - in: path - name: pid - required: true - schema: - type: string - - description: The id of the organization - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/property' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/property' - description: PropertyPayload describes a property of a thing. No field is - mandatory - required: true - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/ArduinoProperty' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoProperty' - description: OK - "400": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Not Found - "500": - content: - application/vnd.arduino.property+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: update properties_v2 - tags: - - properties_v2 - /v2/things/{id}/properties/{pid}/publish: - put: - description: Publish a property value to MQTT - operationId: properties_v2#publish - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - description: The id of the property - in: path - name: pid - required: true - schema: - type: string - - description: The id of the organization - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/propertyValue' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/propertyValue' - description: PropertyValuePayload describes a property value - required: true - x-originalParamName: payload - responses: - "200": - description: OK - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: publish properties_v2 - tags: - - properties_v2 - /v2/things/{id}/properties/{pid}/timeseries: - get: - description: 'Get numerical property''s historic data binned on a specified - time interval (note: the total number of data points should NOT be greater - than 1000 otherwise the result will be truncated)' - operationId: properties_v2#timeseries - parameters: - - description: Samples aggregation statistic. Supported aggregations AVG|MAX|MIN|COUNT|SUM|PCT_99|PCT_95|PCT_90|PCT_75|PCT_50|PCT_15|PCT_5 - in: query - name: aggregation - schema: - enum: - - AVG - - MIN - - MAX - - SUM - - COUNT - - PCT_99 - - PCT_95 - - PCT_90 - - PCT_75 - - PCT_50 - - PCT_15 - - PCT_5 - type: string - - description: Whether data's ordering (by time) should be descending - in: query - name: desc - schema: - default: false - type: boolean - - description: 'Get data with a timestamp >= to this date (default: 2 weeks - ago, min: 1842-01-01T00:00:00Z, max: 2242-01-01T00:00:00Z)' - in: query - name: from - schema: - type: string - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - description: 'Binning interval in seconds (defaut: the smallest possible value - compatibly with the limit of 1000 data points in the response)' - in: query - name: interval - schema: - minimum: 1 - type: integer - - description: ID of a numerical property - in: path - name: pid - required: true - schema: - type: string - - description: 'Get data with a timestamp < to this date (default: now, min: - 1842-01-01T00:00:00Z, max: 2242-01-01T00:00:00Z)' - in: query - name: to - schema: - type: string - - description: The id of the organization - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.timeseriesmedia+json: - schema: - $ref: '#/components/schemas/ArduinoTimeseriesmedia' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoTimeseriesmedia' - description: OK - "400": - content: - application/vnd.arduino.timeseriesmedia+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.timeseriesmedia+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "404": - description: Not Found - "500": - content: - application/vnd.arduino.timeseriesmedia+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: timeseries properties_v2 - tags: - - properties_v2 - /v2/things/{id}/sketch: - delete: - operationId: things_v2#deleteSketch - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - description: OK - "401": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: deleteSketch things_v2 - tags: - - things_v2 - put: - description: Creates a new sketch thing associated to the thing - operationId: things_v2#createSketch - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/thingSketch' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/thingSketch' - description: ThingSketchPayload describes a sketch of a thing - required: true - x-originalParamName: payload - responses: - "201": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - description: Created - "400": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "412": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Precondition Failed - "500": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: createSketch things_v2 - tags: - - things_v2 - /v2/things/{id}/sketch/{sketchId}: - put: - description: Update an existing thing sketch - operationId: things_v2#updateSketch - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - description: The id of the sketch - in: path - name: sketchId - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/updateSketch' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/updateSketch' - x-originalParamName: payload - responses: - "200": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoThing' - description: OK - "400": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Not Found - "412": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Precondition Failed - "500": - content: - application/vnd.arduino.thing+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: updateSketch things_v2 - tags: - - things_v2 - /v2/things/{id}/tags: - get: - description: List tags associated to the thing. - operationId: things_v2_tags#list - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.tags+json: - schema: - $ref: '#/components/schemas/ArduinoTags' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoTags' - description: OK - "401": - content: - application/vnd.arduino.tags+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.tags+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.tags+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: list things_v2_tags - tags: - - things_v2_tags - put: - description: Creates or updates a tag associated to the thing. - operationId: things_v2_tags#upsert - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/tag' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/tag' - required: true - x-originalParamName: payload - responses: - "200": - description: OK - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: upsert things_v2_tags - tags: - - things_v2_tags - /v2/things/{id}/tags/{key}: - delete: - description: Delete a tag associated to the thing given its key. - operationId: things_v2_tags#delete - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - description: The key of the tag - in: path - name: key - required: true - schema: - maxLength: 64 - type: string - responses: - "200": - description: OK - "400": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - text/plain: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: delete things_v2_tags - tags: - - things_v2_tags - /v2/things/{id}/template: - get: - description: Extract template from the given thing - operationId: things_v2#template - parameters: - - description: The id of the thing - in: path - name: id - required: true - schema: - type: string - - in: header - name: X-Organization - schema: - type: string - responses: - "200": - content: - application/vnd.arduino.thingtemplate+json: - schema: - $ref: '#/components/schemas/ArduinoThingtemplate' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/ArduinoThingtemplate' - description: OK - "400": - content: - application/vnd.arduino.thingtemplate+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Bad Request - "401": - content: - application/vnd.arduino.thingtemplate+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Unauthorized - "403": - content: - application/vnd.arduino.thingtemplate+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Forbidden - "404": - description: Not Found - "500": - content: - application/vnd.arduino.thingtemplate+json: - schema: - $ref: '#/components/schemas/error' - application/vnd.goa.error+json: - schema: - $ref: '#/components/schemas/error' - description: Internal Server Error - security: - - oauth2: [] - summary: template things_v2 - tags: - - things_v2 + /groups/v1/all: + get: + description: Returns all the resources matching the provided filters + operationId: ListAllResources + parameters: + - description: Allows to retrieve resources contained in a parent folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: query + name: parent_id + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to filter resources by name + in: query + name: name_like + schema: + maxLength: 64 + minLength: 3 + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/IoTResource' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Get all the available resources + tags: + - views + /groups/v1/dashboards: + get: + description: Returns all dashboards to which user has access to + operationId: ListDashboards + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Dashboard' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Get all dashboards + tags: + - views + /groups/v1/devices: + get: + description: Returns all devices to which user has access to + operationId: ListDevices + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Device' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Get all devices + tags: + - views + /groups/v1/folders: + get: + description: Lists the available folders + operationId: ListFolders + parameters: + - description: Used to retrieve the folder containing the resource whose ID is provided + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: query + name: parent_id + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Used to retrieve the folder containing the resource whose ID is provided + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: query + name: child_id + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Specifies to return only root folders + in: query + name: root + schema: + type: boolean + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Folder' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Access denied + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: List folders + tags: + - folders + post: + description: Creates a new folder under the specified path, if provided + operationId: CreateFolder + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFolderRequest' + description: Create folder request body + required: true + responses: + "201": + content: + application/json: + schema: + $ref: '#/components/schemas/Folder' + description: Created + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Creates a new folder + tags: + - folders + /groups/v1/folders/{folder_id}: + delete: + description: Deletes a folder by its ID + operationId: DeleteFolder + parameters: + - description: The ID of the folder to delete + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: path + name: folder_id + required: true + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: required,uuid + - description: If true, the folder is deleted permanently + in: query + name: hard + schema: + default: false + type: boolean + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + responses: + "204": + description: Deleted + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Delete a folder + tags: + - folders + get: + description: Retrieves a folder's metadata by its ID + operationId: GetFolder + parameters: + - description: The ID of the folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: path + name: folder_id + required: true + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: required,uuid + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/Folder' + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Get a folder by its ID + tags: + - folders + patch: + description: Updates a folder's metadata + operationId: UpdateFolder + parameters: + - description: The ID of the folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: path + name: folder_id + required: true + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: required,uuid + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFolderRequest' + description: Update folder request body + required: true + responses: + "200": + content: + application/json: + schema: + $ref: '#/components/schemas/Folder' + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Update a folder + tags: + - folders + /groups/v1/folders/{folder_id}/content/{resource_kind}/{resource_id}: + delete: + description: Remove a resource from a folder + operationId: RemoveResourceFromFolder + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: path + name: folder_id + required: true + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: required,uuid + - description: Kind of the resource to be associated + example: devices + in: path + name: resource_kind + required: true + schema: + $ref: '#/components/schemas/ResourceKind' + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: path + name: resource_id + required: true + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: required,uuid + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + responses: + "204": + description: Resource removed + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Remove a resource from a folder + tags: + - folders + post: + description: Add the specified resource to a target folder. If the resource is already under a folder, it will be moved to the new target folder. + operationId: MoveResourceToFolder + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: path + name: folder_id + required: true + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: required,uuid + - description: Kind of the resource to be associated + example: device + in: path + name: resource_kind + required: true + schema: + $ref: '#/components/schemas/ResourceKind' + x-oapi-codegen-extra-tags: + validate: required + - description: Id of the resource to be associated + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: path + name: resource_id + required: true + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: required,uuid + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + responses: + "204": + description: Resource added + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/APIError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Move a resource under a folder + tags: + - folders + /groups/v1/search: + get: + description: Returns all the resources matching the provided search criteria + operationId: SearchResources + parameters: + - description: Allows to retrieve resources contained in a parent folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: query + name: parent_id + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to filter resources by name + in: query + name: name_like + schema: + maxLength: 64 + minLength: 3 + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: One or more resource kinds to be kept in the results + examples: + MultipleKinds: + summary: Example of multiple kinds + value: + - DEVICE + - THING + OneKind: + summary: Example of a single kind + value: + - DEVICE + explode: false + in: query + name: kind + schema: + items: + $ref: '#/components/schemas/ResourceKindFilter' + type: array + style: form + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/IoTResource' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Get all the available resources matching the search criteria + tags: + - views + /groups/v1/search/dashboards: + get: + description: Returns all dashboards matching the provided search criteria + operationId: SearchDashboards + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to retrieve resources contained in a parent folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: query + name: parent_id + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to filter resources by name + in: query + name: name_like + schema: + maxLength: 64 + minLength: 3 + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Dashboard' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Search among all dashboards + tags: + - views + /groups/v1/search/devices: + get: + description: Returns all devices matching the provided search criteria + operationId: SearchDevices + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to retrieve resources contained in a parent folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: query + name: parent_id + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to filter resources by name + in: query + name: name_like + schema: + maxLength: 64 + minLength: 3 + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Device' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Search among all devices + tags: + - views + /groups/v1/search/sketches: + get: + description: Returns all sketches matching the provided search criteria + operationId: SearchSketches + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to retrieve resources contained in a parent folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: query + name: parent_id + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to filter resources by name + in: query + name: name_like + schema: + maxLength: 64 + minLength: 3 + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Sketch' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Search among all sketches + tags: + - views + /groups/v1/search/things: + get: + description: Returns all things matching the provided search criteria + operationId: SearchThings + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to retrieve resources contained in a parent folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: query + name: parent_id + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to filter resources by name + in: query + name: name_like + schema: + maxLength: 64 + minLength: 3 + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Thing' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Search among all things + tags: + - views + /groups/v1/search/triggers: + get: + description: Returns all triggers matching the provided search criteria + operationId: SearchTriggers + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to retrieve resources contained in a parent folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: query + name: parent_id + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to filter resources by name + in: query + name: name_like + schema: + maxLength: 64 + minLength: 3 + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/TriggerDefinition' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Search among all triggers + tags: + - views + /groups/v1/things: + get: + description: Returns all things to which user has access to + operationId: ListThings + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/Thing' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Get all things + tags: + - views + /groups/v1/trash: + get: + description: Returns all the resources that have been deleted + operationId: ListTrashedResources + parameters: + - description: Allows to retrieve resources contained in a parent folder + example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: query + name: parent_id + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + - description: Allows to filter resources by name + in: query + name: name_like + schema: + maxLength: 64 + minLength: 3 + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,min=3,max=64 + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/DeletedResource' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Get all the deleted resources + tags: + - views + /groups/v1/triggers: + get: + description: Returns all triggers to which user has access to + operationId: ListTriggers + parameters: + - example: D3FB5026-7337-4AB3-B203-2E6792C7C65B + in: header + name: X-Organization + schema: + format: uuid + type: string + x-oapi-codegen-extra-tags: + validate: omitnil,uuid + responses: + "200": + content: + application/json: + schema: + items: + $ref: '#/components/schemas/TriggerDefinition' + type: array + description: Success + "400": + content: + application/json: + schema: + $ref: '#/components/schemas/ValidationError' + description: Bad request + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Authentication failed + "403": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Access denied + "404": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Not found + "500": + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Internal server error + default: + content: + application/json: + schema: + $ref: '#/components/schemas/GenericError' + description: Default error + security: + - jwt_bearer_authentication: [] + summary: Get all triggers + tags: + - views + /iot/v1/actions: + get: + description: Returns the list of actions + operationId: actions_v1#list + parameters: + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.action+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoActionCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoActionCollection' + description: OK + "401": + content: + application/vnd.arduino.action+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.action+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.action+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list actions_v1 + tags: + - triggers_v1 + post: + description: Creates a new action + operationId: actions_v1#create + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/create-action' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/create-action' + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + description: Created + "400": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "412": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create actions_v1 + tags: + - triggers_v1 + /iot/v1/actions/{id}: + delete: + description: Removes an action + operationId: actions_v1#delete + parameters: + - description: The id of the action + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete actions_v1 + tags: + - triggers_v1 + get: + description: Returns an action + operationId: actions_v1#show + parameters: + - description: The id of the action + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + description: OK + "401": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show actions_v1 + tags: + - triggers_v1 + put: + description: Updates an action + operationId: actions_v1#update + parameters: + - description: The id of the action + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/update-action' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/update-action' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoAction' + description: OK + "400": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.action+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update actions_v1 + tags: + - triggers_v1 + /iot/v1/lora-devices/: + put: + description: Create a new lora device. Its info are saved on our database, and on the lora provider network. Creates a device_v2 automatically + operationId: lora_devices_v1#create + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLoraDevicesV1Payload' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CreateLoraDevicesV1Payload' + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.loradevicev1+json: + schema: + $ref: '#/components/schemas/ArduinoLoradevicev1' + description: Created + summary: create lora_devices_v1 + tags: + - lora_devices_v1 + /iot/v1/lora-freq-plans/: + get: + description: List the lora frequency plans supported + operationId: lora_freq_plan_v1#list + responses: + "200": + content: + application/vnd.arduino.lorafreqplansv1+json: + schema: + $ref: '#/components/schemas/ArduinoLorafreqplansv1' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoLorafreqplansv1' + description: OK + "401": + content: + application/vnd.arduino.lorafreqplansv1+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "500": + content: + application/vnd.arduino.lorafreqplansv1+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + summary: list lora_freq_plan_v1 + tags: + - lora_freq_plan_v1 + /iot/v1/network_credentials/{type}: + get: + description: Show required network credentials depending on device type + operationId: network_credentials_v1#show + parameters: + - description: Connection used by the device + in: query + name: connection + schema: + enum: + - wifi + - eth + - wifiandsecret + - gsm + - nb + - lora + - catm1 + - cellular + type: string + - description: Device type + in: path + name: type + required: true + schema: + enum: + - mkrwifi1010 + - mkr1000 + - nano_33_iot + - mkrgsm1400 + - mkrwan1310 + - mkrwan1300 + - mkrnb1500 + - lora-device + - login_and_secretkey_wifi + - envie_m7 + - nanorp2040connect + - nicla_vision + - opta + - giga + - portenta_c33 + - unor4wifi + - nano_nora + type: string + responses: + "200": + content: + application/vnd.arduino.credentialsv1+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoCredentialsv1Collection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoCredentialsv1Collection' + description: OK + "401": + content: + application/vnd.arduino.credentialsv1+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + summary: show network_credentials_v1 + tags: + - network_credentials_v1 + /iot/v1/network_credentials/{type}/connections: + get: + description: Show available connection types depending on device type + operationId: network_credentials_v1#showByDevice + parameters: + - description: Device type + in: path + name: type + required: true + schema: + enum: + - mkrwifi1010 + - mkr1000 + - nano_33_iot + - mkrgsm1400 + - mkrwan1310 + - mkrwan1300 + - mkrnb1500 + - lora-device + - login_and_secretkey_wifi + - envie_m7 + - nanorp2040connect + - nicla_vision + - opta + - giga + - portenta_c33 + - unor4wifi + - nano_nora + type: string + responses: + "200": + description: OK + "401": + content: + application/json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + summary: showByDevice network_credentials_v1 + tags: + - network_credentials_v1 + /iot/v1/property_types: + get: + description: Returns the list of available property types + operationId: property_types_v1#listTypes + responses: + "200": + content: + application/vnd.arduino.propertytype+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoPropertytypeCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoPropertytypeCollection' + description: OK + "500": + content: + application/vnd.arduino.propertytype+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: listTypes property_types_v1 + tags: + - property_types_v1 + /iot/v1/templates: + put: + description: Apply an existing cloud template and generate all the needed resources + operationId: templates#apply + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/template' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/template' + description: TemplatePayload describes the needed attribute to apply a template + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/ArduinoTemplate' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTemplate' + description: OK + "400": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "409": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Conflict + "500": + content: + application/vnd.arduino.template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + summary: apply templates + tags: + - templates + /iot/v1/triggers: + get: + description: Returns the list of triggers + operationId: triggers_v1#list + parameters: + - description: The id of the device associated with the triggers (mutually exclusive with 'property_id') + in: query + name: device_id + schema: + type: string + - description: The id of the property associated with the triggers (mutually exclusive with 'device_id') + in: query + name: property_id + schema: + type: string + - description: The source type of the trigger, could be PROPERTY, DEVICE_INCLUDE or DEVICE_EXCLUDE + in: query + name: source_type + schema: + enum: + - PROPERTY + - DEVICE_INCLUDE + - DEVICE_EXCLUDE + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.trigger+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoTriggerCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTriggerCollection' + description: OK + "400": + content: + application/vnd.arduino.trigger+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.trigger+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.trigger+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.trigger+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list triggers_v1 + tags: + - triggers_v1 + put: + description: Creates a new trigger + operationId: triggers_v1#create + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trigger' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/trigger' + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + description: Created + "400": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "412": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create triggers_v1 + tags: + - triggers_v1 + /iot/v1/triggers/{id}: + delete: + description: Removes a trigger + operationId: triggers_v1#delete + parameters: + - description: The id of the trigger + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete triggers_v1 + tags: + - triggers_v1 + get: + description: Returns a trigger + operationId: triggers_v1#show + parameters: + - description: The id of the trigger + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.trigger_with_linked_entities+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger_with_linked_entities' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger_with_linked_entities' + description: OK + "401": + content: + application/vnd.arduino.trigger_with_linked_entities+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.trigger_with_linked_entities+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.trigger_with_linked_entities+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show triggers_v1 + tags: + - triggers_v1 + patch: + description: Patch a trigger + operationId: triggers_v1#patch + parameters: + - description: The id of the trigger + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trigger' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/trigger' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + description: OK + "400": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: patch triggers_v1 + tags: + - triggers_v1 + post: + description: Updates a trigger + operationId: triggers_v1#update + parameters: + - description: The id of the trigger + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trigger' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/trigger' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger' + description: OK + "400": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.trigger+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update triggers_v1 + tags: + - triggers_v1 + /iot/v1/triggers/{id}/template: + get: + description: Extract template from the given trigger + operationId: triggers_v1#template + parameters: + - description: The id of the trigger + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.trigger_template+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger_template' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTrigger_template' + description: OK + "400": + content: + application/vnd.arduino.trigger_template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.trigger_template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.trigger_template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.trigger_template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: template triggers_v1 + tags: + - triggers_v1 + /iot/v2/dashboards: + get: + description: Returns the list of dashboards + operationId: dashboards_v2#list + parameters: + - description: The name of the dashboard + in: query + name: name + schema: + maxLength: 64 + pattern: '[a-zA-Z0-9_.@-]+' + type: string + - description: The user_id of the dashboard's owner + in: query + name: user_id + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.dashboardv2+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2Collection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2Collection' + description: OK + "400": + content: + application/vnd.arduino.dashboardv2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardv2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "500": + content: + application/vnd.arduino.dashboardv2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list dashboards_v2 + tags: + - dashboards_v2 + post: + description: Create a new dashboard + operationId: dashboards_v2#create + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/dashboardv2' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/dashboardv2' + description: DashboardV2Payload describes a dashboard + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + description: Created + "400": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "500": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create dashboards_v2 + tags: + - dashboards_v2 + /iot/v2/dashboards/{id}: + delete: + description: Delete a dashboard + operationId: dashboards_v2#delete + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete dashboards_v2 + tags: + - dashboards_v2 + get: + description: Show a dashboard + operationId: dashboards_v2#show + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + description: OK + "401": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show dashboards_v2 + tags: + - dashboards_v2 + put: + description: Updates an existing dashboard + operationId: dashboards_v2#update + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/dashboardv2' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/dashboardv2' + description: DashboardV2Payload describes a dashboard + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + description: OK + "400": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update dashboards_v2 + tags: + - dashboards_v2 + /iot/v2/dashboards/{id}/clone: + put: + description: Clone an existing dashboard + operationId: dashboards_v2#clone + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/clone' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/clone' + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2' + description: Created + "400": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.dashboardv2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: clone dashboards_v2 + tags: + - dashboards_v2 + /iot/v2/dashboards/{id}/share_request: + put: + description: Request access to a dashboard + operationId: dashboards_v2#requestAccess + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/sharerequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/sharerequest' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: requestAccess dashboards_v2 + tags: + - dashboards_v2 + /iot/v2/dashboards/{id}/shares: + get: + description: List of users the dashboard has been shared with + operationId: dashboards_v2#listShares + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.dashboardshare+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoDashboardshareCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardshareCollection' + description: OK + "400": + content: + application/vnd.arduino.dashboardshare+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardshare+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardshare+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.dashboardshare+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: listShares dashboards_v2 + tags: + - dashboards_v2 + put: + description: Share a dashboard + operationId: dashboards_v2#share + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/dashboardshare' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/dashboardshare' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: share dashboards_v2 + tags: + - dashboards_v2 + /iot/v2/dashboards/{id}/shares/{user_id}: + delete: + description: Delete a user the dashboard has been shared with + operationId: dashboards_v2#deleteShare + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - description: The id of the user + in: path + name: user_id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: deleteShare dashboards_v2 + tags: + - dashboards_v2 + /iot/v2/dashboards/{id}/template: + get: + description: Get a template of the dashboard + operationId: dashboards_v2#template + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.dashboardv2template+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2template' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDashboardv2template' + description: OK + "400": + content: + application/vnd.arduino.dashboardv2template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.dashboardv2template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.dashboardv2template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.dashboardv2template+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: template dashboards_v2 + tags: + - dashboards_v2 + /iot/v2/dashboards/{id}/widgets/{widgetId}/variables: + put: + description: Link or detach widget variables + operationId: dashboards_v2#link + parameters: + - description: The id of the dashboard + in: path + name: id + required: true + schema: + type: string + - description: The id of the widget + in: path + name: widgetId + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/widgetlink' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/widgetlink' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.variableslinks+json: + schema: + $ref: '#/components/schemas/ArduinoVariableslinks' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoVariableslinks' + description: OK + "400": + content: + application/vnd.arduino.variableslinks+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.variableslinks+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.variableslinks+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.variableslinks+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: link dashboards_v2 + tags: + - dashboards_v2 + /iot/v2/devices: + get: + description: Returns the list of devices associated to the user + operationId: devices_v2#list + parameters: + - description: If true, returns all the devices + in: query + name: across_user_ids + schema: + default: false + type: boolean + - description: Filter by device serial number + in: query + name: serial + schema: + type: string + - description: Filter by tags + in: query + name: tags + schema: + items: + maxLength: 129 + pattern: ^[a-zA-Z0-9_.@-]+:[a-zA-Z0-9_.@-]+$ + type: string + type: array + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Collection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Collection' + description: OK + "400": + content: + application/vnd.arduino.devicev2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "500": + content: + application/vnd.arduino.devicev2+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list devices_v2 + tags: + - devices_v2 + put: + description: Creates a new device associated to the user. + operationId: devices_v2#create + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDevicesV2Payload' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CreateDevicesV2Payload' + description: DeviceV2 describes a device. + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + description: Created + "401": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "412": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create devices_v2 + tags: + - devices_v2 + /iot/v2/devices/{id}: + delete: + description: Removes a device associated to the user + operationId: devices_v2#delete + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete devices_v2 + tags: + - devices_v2 + get: + description: Returns the device requested by the user + operationId: devices_v2#show + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + description: OK + "401": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show devices_v2 + tags: + - devices_v2 + post: + description: Updates a device associated to the user + operationId: devices_v2#update + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devicev2' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/devicev2' + description: DeviceV2 describes a device. + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2' + description: OK + "400": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update devices_v2 + tags: + - devices_v2 + /iot/v2/devices/{id}/certs: + get: + description: Returns the list of certs associated to the device + operationId: devices_v2_certs#list + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2.cert+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoDevicev2CertCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2CertCollection' + description: OK + "401": + content: + application/vnd.arduino.devicev2.cert+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.cert+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list devices_v2_certs + tags: + - devices_v2_certs + put: + description: Creates a new cert associated to a device. The csr is signed and saved in database. The CommonName will be replaced with the device id. + operationId: devices_v2_certs#create + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDevicesV2CertsPayload' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CreateDevicesV2CertsPayload' + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + description: Created + "400": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create devices_v2_certs + tags: + - devices_v2_certs + /iot/v2/devices/{id}/certs/{cid}: + delete: + description: Removes a cert associated to a device + operationId: devices_v2_certs#delete + parameters: + - description: The id of the cert + in: path + name: cid + required: true + schema: + type: string + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete devices_v2_certs + tags: + - devices_v2_certs + get: + description: Returns the cert requested by the user + operationId: devices_v2_certs#show + parameters: + - description: The id of the cert + in: path + name: cid + required: true + schema: + type: string + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + description: OK + "401": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show devices_v2_certs + tags: + - devices_v2_certs + post: + description: Updates a cert associated to a device. The csr is signed and saved in database. The CommonName will be replaced with the device id. + operationId: devices_v2_certs#update + parameters: + - description: The id of the cert + in: path + name: cid + required: true + schema: + type: string + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devicev2.cert' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/devicev2.cert' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Cert' + description: OK + "400": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.cert+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update devices_v2_certs + tags: + - devices_v2_certs + /iot/v2/devices/{id}/events: + get: + description: GET device events + operationId: devices_v2#getEvents + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: The number of events to select + in: query + name: limit + schema: + type: integer + - description: The time at which to start selecting events + in: query + name: start + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2.event.properties+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2EventProperties' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2EventProperties' + description: OK + "401": + content: + application/vnd.arduino.devicev2.event.properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2.event.properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.event.properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + "503": + content: + application/vnd.arduino.devicev2.event.properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: getEvents devices_v2 + tags: + - devices_v2 + /iot/v2/devices/{id}/ota: + post: + description: Upload a binary and send it to a device + operationId: devices_v2_ota#upload + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + multipart/form-data: + schema: + properties: + async: + default: true + description: If false, wait for the full OTA process, until it gets a result from the device + type: boolean + x-formData-name: async + expire_in_mins: + default: 10 + description: Binary expire time in minutes, default 10 mins + type: integer + x-formData-name: expire_in_mins + ota_file: + description: OTA file + format: binary + required: + - ota_file + type: string + x-formData-name: ota_file + required: + - ota_file + type: object + responses: + "200": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Otaupload' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Otaupload' + description: OK + "202": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Otaupload' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Otaupload' + description: Accepted + "400": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "409": + description: Conflict + "410": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Gone + "412": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.devicev2.otaupload+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: upload devices_v2_ota + tags: + - devices_v2_ota + put: + description: Send a binary url to a device + operationId: devices_v2_ota#send + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devicev2.otabinaryurl' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/devicev2.otabinaryurl' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "202": + description: Accepted + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "410": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Gone + "412": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: send devices_v2_ota + tags: + - devices_v2_ota + /iot/v2/devices/{id}/ota/url: + post: + description: Generate a url for downloading a binary + operationId: devices_v2_ota#url + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devicev2.otaurlpyalod' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/devicev2.otaurlpyalod' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "202": + description: Accepted + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "410": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Gone + "412": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: url devices_v2_ota + tags: + - devices_v2_ota + /iot/v2/devices/{id}/pass: + delete: + description: Removes the password for the device. + operationId: devices_v2_pass#delete + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete devices_v2_pass + tags: + - devices_v2_pass + get: + description: Returns whether the password for this device is set or not. It doesn't return the password. + operationId: devices_v2_pass#get + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: If true, return a suggested password + in: query + name: suggested_password + schema: + default: false + type: boolean + responses: + "200": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Pass' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Pass' + description: OK + "401": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: get devices_v2_pass + tags: + - devices_v2_pass + post: + description: Check if the password matches. + operationId: devices_v2_pass#check + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CheckDevicesV2PassPayload' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CheckDevicesV2PassPayload' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: check devices_v2_pass + tags: + - devices_v2_pass + put: + description: Sets the password for the device. It can never be read back. + operationId: devices_v2_pass#set + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devicev2.pass' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/devicev2.pass' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Pass' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2Pass' + description: OK + "400": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.pass+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: set devices_v2_pass + tags: + - devices_v2_pass + /iot/v2/devices/{id}/properties: + get: + description: GET device properties + operationId: devices_v2#getProperties + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: If true, shows the soft deleted properties + in: query + name: show_deleted + schema: + default: false + type: boolean + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2properties+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2properties' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2properties' + description: OK + "401": + content: + application/vnd.arduino.devicev2properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2properties+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: getProperties devices_v2 + tags: + - devices_v2 + put: + description: Update device properties last values + operationId: devices_v2#updateProperties + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/propertiesValues' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/propertiesValues' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: updateProperties devices_v2 + tags: + - devices_v2 + /iot/v2/devices/{id}/properties/{pid}: + get: + description: GET device properties values in a range of time + operationId: devices_v2#timeseries + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: The number of properties to select + in: query + name: limit + schema: + type: integer + - description: The id of the property + in: path + name: pid + required: true + schema: + type: string + - description: The time at which to start selecting properties + in: query + name: start + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2propertyvalues+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2propertyvalues' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2propertyvalues' + description: OK + "400": + content: + application/vnd.arduino.devicev2propertyvalues+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2propertyvalues+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2propertyvalues+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2propertyvalues+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: timeseries devices_v2 + tags: + - devices_v2 + /iot/v2/devices/{id}/status: + get: + description: GET connection status events + operationId: devices_v2#GetStatusEvents + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: The number of events to select + in: query + name: limit + schema: + default: 30 + type: integer + - description: The time at which to start selecting events + in: query + name: start + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2StatusEvents' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoDevicev2StatusEvents' + description: OK + "400": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + "503": + content: + application/vnd.arduino.devicev2.status.events+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: GetStatusEvents devices_v2 + tags: + - devices_v2 + /iot/v2/devices/{id}/tags: + get: + description: List tags associated to the device. + operationId: devices_v2_tags#list + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/ArduinoTags' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTags' + description: OK + "401": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "500": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list devices_v2_tags + tags: + - devices_v2_tags + put: + description: Creates or updates a tag associated to the device. + operationId: devices_v2_tags#upsert + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/tag' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/tag' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: upsert devices_v2_tags + tags: + - devices_v2_tags + /iot/v2/devices/{id}/tags/{key}: + delete: + description: Delete a tag associated to the device given its key. + operationId: devices_v2_tags#delete + parameters: + - description: The id of the device + in: path + name: id + required: true + schema: + type: string + - description: The key of the tag + in: path + name: key + required: true + schema: + maxLength: 64 + pattern: ^[a-zA-Z0-9_.@-]+$ + type: string + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete devices_v2_tags + tags: + - devices_v2_tags + /iot/v2/series/batch_query: + post: + description: Returns the batch of time-series aggregated samples + operationId: series_v2#batch_query + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchQueryRequestsMediaV1' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/BatchQueryRequestsMediaV1' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.series.batch+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesBatch' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesBatch' + description: OK + "400": + content: + application/vnd.arduino.series.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.series.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.series.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "501": + description: Not Implemented + "503": + content: + application/vnd.arduino.series.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: batch_query series_v2 + tags: + - series_v2 + /iot/v2/series/batch_query_raw: + post: + description: Returns the batch of time-series raw samples + operationId: series_v2#batch_query_raw + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchQueryRawRequestsMediaV1' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/BatchQueryRawRequestsMediaV1' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.series.raw.batch+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesRawBatch' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesRawBatch' + description: OK + "400": + content: + application/vnd.arduino.series.raw.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.series.raw.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.series.raw.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "501": + description: Not Implemented + "503": + content: + application/vnd.arduino.series.raw.batch+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: batch_query_raw series_v2 + tags: + - series_v2 + /iot/v2/series/batch_query_raw/lastvalue: + post: + description: Returns the batch of time-series data raw + operationId: series_v2#batch_query_raw_last_value + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchLastValueRequestsMediaV1' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/BatchLastValueRequestsMediaV1' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.series.raw.batch.lastvalue+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesRawBatchLastvalue' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesRawBatchLastvalue' + description: OK + "401": + content: + application/vnd.arduino.series.raw.batch.lastvalue+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.series.raw.batch.lastvalue+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "501": + description: Not Implemented + "503": + content: + application/vnd.arduino.series.raw.batch.lastvalue+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: batch_query_raw_last_value series_v2 + tags: + - series_v2 + /iot/v2/series/batch_query_sampling: + post: + description: 'Returns a batch of time-series sampled samples. To be used for types that does not support mathematic aggregation. Types supported: strings, complex types.' + operationId: series_v2#batch_query_sampling + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BatchQuerySampledRequestsMediaV1' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/BatchQuerySampledRequestsMediaV1' + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.series.batch.sampled+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesBatchSampled' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoSeriesBatchSampled' + description: OK + "400": + content: + application/vnd.arduino.series.batch.sampled+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.series.batch.sampled+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.series.batch.sampled+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "501": + description: Not Implemented + "503": + content: + application/vnd.arduino.series.batch.sampled+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Service Unavailable + security: + - oauth2: [] + summary: batch_query_sampling series_v2 + tags: + - series_v2 + /iot/v2/series/historic_data: + post: + description: Request sending of historical data of properties by email + operationId: series_v2#historic_data + parameters: + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HistoricDataRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/HistoricDataRequest' + required: true + x-originalParamName: payload + responses: + "202": + description: Accepted + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: historic_data series_v2 + tags: + - series_v2 + /iot/v2/things: + get: + description: Returns the list of things associated to the user + operationId: things_v2#list + parameters: + - description: If true, returns all the things + in: query + name: across_user_ids + schema: + default: false + type: boolean + - description: The id of the device you want to filter + in: query + name: device_id + schema: + type: string + - description: Filter only the desired things + in: query + name: ids + schema: + items: + type: string + type: array + - description: If true, shows the soft deleted things + in: query + name: show_deleted + schema: + default: false + type: boolean + - description: If true, returns things with their properties, and last values + in: query + name: show_properties + schema: + default: false + type: boolean + - description: Filter by tags + in: query + name: tags + schema: + items: + maxLength: 129 + pattern: ^[a-zA-Z0-9_.@-]+:[a-zA-Z0-9_.@-]+$ + type: string + type: array + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.thing+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoThingCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThingCollection' + description: OK + "400": + content: + application/vnd.arduino.thing+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "500": + content: + application/vnd.arduino.thing+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list things_v2 + tags: + - things_v2 + put: + description: Creates a new thing associated to the user + operationId: things_v2#create + parameters: + - description: If true, detach device from the other thing, and attach to this thing + in: query + name: force + schema: + default: false + type: boolean + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ThingCreate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ThingCreate' + description: Payload to create a new thing + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: Created + "400": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "409": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Conflict + "412": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create things_v2 + tags: + - things_v2 + /iot/v2/things/{id}: + delete: + description: Removes a thing associated to the user + operationId: things_v2#delete + parameters: + - description: If true, hard delete the thing + in: query + name: force + schema: + default: false + type: boolean + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete things_v2 + tags: + - things_v2 + get: + description: Returns the thing requested by the user + operationId: things_v2#show + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: If true, shows the soft deleted thing + in: query + name: show_deleted + schema: + default: false + type: boolean + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: OK + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show things_v2 + tags: + - things_v2 + post: + description: Updates a thing associated to the user + operationId: things_v2#update + parameters: + - description: If true, detach device from the other thing, and attach to this thing + in: query + name: force + schema: + default: false + type: boolean + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/thingUpdate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/thingUpdate' + description: Payload to update an existing thing + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: OK + "400": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "409": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Conflict + "412": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update things_v2 + tags: + - things_v2 + /iot/v2/things/{id}/clone: + put: + description: Clone a given thing + operationId: things_v2#clone + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ThingClone' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ThingClone' + description: Payload to clone a new thing from an existing one + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: OK + "400": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: clone things_v2 + tags: + - things_v2 + /iot/v2/things/{id}/properties: + get: + description: Returns the list of properties associated to the thing + operationId: properties_v2#list + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: If true, shows the soft deleted properties + in: query + name: show_deleted + schema: + default: false + type: boolean + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.property+json; type=collection: + schema: + $ref: '#/components/schemas/ArduinoPropertyCollection' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoPropertyCollection' + description: OK + "401": + content: + application/vnd.arduino.property+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.property+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.property+json; type=collection: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list properties_v2 + tags: + - properties_v2 + put: + description: Creates a new property associated to a thing + operationId: properties_v2#create + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/property' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/property' + description: PropertyPayload describes a property of a thing. No field is mandatory + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + description: Created + "400": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "412": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: create properties_v2 + tags: + - properties_v2 + /iot/v2/things/{id}/properties/{pid}: + delete: + description: Removes a property associated to a thing + operationId: properties_v2#delete + parameters: + - description: If true, hard delete the property + in: query + name: force + schema: + default: false + type: boolean + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the property + in: path + name: pid + required: true + schema: + type: string + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + responses: + "200": + description: OK + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete properties_v2 + tags: + - properties_v2 + get: + description: Returns the property requested by the user + operationId: properties_v2#show + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the property + in: path + name: pid + required: true + schema: + type: string + - description: If true, shows the soft deleted properties + in: query + name: show_deleted + schema: + default: false + type: boolean + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + description: OK + "401": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: show properties_v2 + tags: + - properties_v2 + post: + description: Updates a property associated to a thing + operationId: properties_v2#update + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the property + in: path + name: pid + required: true + schema: + type: string + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/property' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/property' + description: PropertyPayload describes a property of a thing. No field is mandatory + required: true + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoProperty' + description: OK + "400": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "500": + content: + application/vnd.arduino.property+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: update properties_v2 + tags: + - properties_v2 + /iot/v2/things/{id}/properties/{pid}/publish: + put: + description: Publish a property value to MQTT + operationId: properties_v2#publish + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the property + in: path + name: pid + required: true + schema: + type: string + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/propertyValue' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/propertyValue' + description: PropertyValuePayload describes a property value + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: publish properties_v2 + tags: + - properties_v2 + /iot/v2/things/{id}/properties/{pid}/timeseries: + get: + description: 'Get numerical property''s historic data binned on a specified time interval (note: the total number of data points should NOT be greater than 1000 otherwise the result will be truncated)' + operationId: properties_v2#timeseries + parameters: + - description: Samples aggregation statistic. Supported aggregations AVG|MAX|MIN|COUNT|SUM|PCT_99|PCT_95|PCT_90|PCT_75|PCT_50|PCT_15|PCT_5 + in: query + name: aggregation + schema: + enum: + - AVG + - MIN + - MAX + - SUM + - COUNT + - PCT_99 + - PCT_95 + - PCT_90 + - PCT_75 + - PCT_50 + - PCT_15 + - PCT_5 + type: string + - description: Whether data's ordering (by time) should be descending + in: query + name: desc + schema: + default: false + type: boolean + - description: 'Get data with a timestamp >= to this date (default: 2 weeks ago, min: 1842-01-01T00:00:00Z, max: 2242-01-01T00:00:00Z)' + in: query + name: from + schema: + type: string + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: 'Binning interval in seconds (defaut: the smallest possible value compatibly with the limit of 1000 data points in the response)' + in: query + name: interval + schema: + minimum: 1 + type: integer + - description: ID of a numerical property + in: path + name: pid + required: true + schema: + type: string + - description: 'Get data with a timestamp < to this date (default: now, min: 1842-01-01T00:00:00Z, max: 2242-01-01T00:00:00Z)' + in: query + name: to + schema: + type: string + - description: The id of the organization + in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.timeseriesmedia+json: + schema: + $ref: '#/components/schemas/ArduinoTimeseriesmedia' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTimeseriesmedia' + description: OK + "400": + content: + application/vnd.arduino.timeseriesmedia+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.timeseriesmedia+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "404": + description: Not Found + "500": + content: + application/vnd.arduino.timeseriesmedia+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: timeseries properties_v2 + tags: + - properties_v2 + /iot/v2/things/{id}/sketch: + delete: + operationId: things_v2#deleteSketch + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: OK + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: deleteSketch things_v2 + tags: + - things_v2 + put: + description: Creates a new sketch thing associated to the thing + operationId: things_v2#createSketch + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/thingSketch' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/thingSketch' + description: ThingSketchPayload describes a sketch of a thing + required: true + x-originalParamName: payload + responses: + "201": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: Created + "400": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "412": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: createSketch things_v2 + tags: + - things_v2 + /iot/v2/things/{id}/sketch/{sketchId}: + put: + description: Update an existing thing sketch + operationId: things_v2#updateSketch + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The id of the sketch + in: path + name: sketchId + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/updateSketch' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/updateSketch' + x-originalParamName: payload + responses: + "200": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThing' + description: OK + "400": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Not Found + "412": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Precondition Failed + "500": + content: + application/vnd.arduino.thing+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: updateSketch things_v2 + tags: + - things_v2 + /iot/v2/things/{id}/tags: + get: + description: List tags associated to the thing. + operationId: things_v2_tags#list + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/ArduinoTags' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoTags' + description: OK + "401": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.tags+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: list things_v2_tags + tags: + - things_v2_tags + put: + description: Creates or updates a tag associated to the thing. + operationId: things_v2_tags#upsert + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/tag' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/tag' + required: true + x-originalParamName: payload + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: upsert things_v2_tags + tags: + - things_v2_tags + /iot/v2/things/{id}/tags/{key}: + delete: + description: Delete a tag associated to the thing given its key. + operationId: things_v2_tags#delete + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - description: The key of the tag + in: path + name: key + required: true + schema: + maxLength: 64 + type: string + responses: + "200": + description: OK + "400": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + text/plain: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: delete things_v2_tags + tags: + - things_v2_tags + /iot/v2/things/{id}/template: + get: + description: Extract template from the given thing + operationId: things_v2#template + parameters: + - description: The id of the thing + in: path + name: id + required: true + schema: + type: string + - in: header + name: X-Organization + schema: + type: string + responses: + "200": + content: + application/vnd.arduino.thingtemplate+json: + schema: + $ref: '#/components/schemas/ArduinoThingtemplate' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/ArduinoThingtemplate' + description: OK + "400": + content: + application/vnd.arduino.thingtemplate+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Bad Request + "401": + content: + application/vnd.arduino.thingtemplate+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Unauthorized + "403": + content: + application/vnd.arduino.thingtemplate+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Forbidden + "404": + description: Not Found + "500": + content: + application/vnd.arduino.thingtemplate+json: + schema: + $ref: '#/components/schemas/error' + application/vnd.goa.error+json: + schema: + $ref: '#/components/schemas/error' + description: Internal Server Error + security: + - oauth2: [] + summary: template things_v2 + tags: + - things_v2 diff --git a/template-patches/README.md b/template-patches/README.md new file mode 100644 index 0000000..22554ec --- /dev/null +++ b/template-patches/README.md @@ -0,0 +1,11 @@ +## How to generate a patch for a generator + +Patch has to be created starting from generator's git repo. +Read this guide for more info: https://openapi-generator.tech/docs/templating/ + +* clone openapi https://github.com/OpenAPITools/openapi-generator +* move to generator module and modify related mustache templata (for example, this the the path where go templates are stored: ``openapi-generator/modules/openapi-generator/src/main/resources/go/go.mod.mustache``) +* modify file +* move to modules path: ``openapi-generator/modules/openapi-generator/src/main/resources/`` +* create diff file with command: ``git diff --relative > /path/to/diff-file.patch`` +* \ No newline at end of file