> openapi-lint > npx --yes @redocly/cli lint ./api/openapi.yml [90mvalidating ./api/openapi.yml... [39m[1] [43m[30mapi/openapi.yml:2:1[39m[49m [90mat #/openapi[39m Servers must be present. [90m1 |[39m [90m# yaml-language-server: $schema=https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json[39m [90m2 |[39m [31mopenapi[39m: 3.1.0 [90m3 |[39m [90minfo:[39m [90m4 |[39m [90mtitle: CrossLab Device Service REST API (internal)[39m Warning was generated by the [34mno-empty-servers[39m rule. [2] [43m[30mapi/openapi.yml:3:1[39m[49m [90mat #/info[39m Info object should contain `license` field. [90m1 |[39m [90m# yaml-language-server: $schema=https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json[39m [90m2 |[39m [90mopenapi: 3.1.0[39m [90m3 |[39m [31minfo[39m: [90m4 |[39m [90mtitle: CrossLab Device Service REST API (internal)[39m [90m5 |[39m [90mdescription: |-[39m Warning was generated by the [34minfo-license[39m rule. [3] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'url'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [4] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [5] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'name'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [6] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'isPublic'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [7] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'url'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [8] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [9] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'name'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [10] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'isPublic'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [11] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'url'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [12] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [13] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'name'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [14] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'isPublic'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [15] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'url'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [16] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [17] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'name'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [18] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'isPublic'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [19] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'devices'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [20] [43m[30mapi/content/device_init.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must match a schema in anyOf. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_init.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [21] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'url'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [22] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [23] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'name'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [24] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'isPublic'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [25] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'url'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [26] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [27] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'name'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [28] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'isPublic'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [29] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'url'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [30] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [31] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'name'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [32] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'isPublic'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [33] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'url'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [34] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [35] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'name'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [36] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'isPublic'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [37] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'devices'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [38] [43m[30mapi/content/device_response.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must match a schema in anyOf. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_response.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [39] [43m[30mapi/parameters/device_id.yml:3:7[39m[49m [90mat #/name[39m Path parameter `device_id` is not used in the path `{$request.query.changedUrl}`. [90m1 |[39m [90m# yaml-language-server: $schema=https://cross-lab-project.github.io/crosslab/meta-schemas/openapi-parameter.json[39m [90m2 |[39m [90min: path[39m [90m3 |[39m name: [31mdevice_id[39m [90m4 |[39m [90mdescription: UUID of the device[39m [90m5 |[39m [90mrequired: true[39m Warning was generated by the [34mpath-parameters-defined[39m rule. [40] [43m[30mapi/parameters/device_id.yml:3:7[39m[49m [90mat #/name[39m Path parameter `device_id` is not used in the path `{$request.query.changedUrl}`. [90m1 |[39m [90m# yaml-language-server: $schema=https://cross-lab-project.github.io/crosslab/meta-schemas/openapi-parameter.json[39m [90m2 |[39m [90min: path[39m [90m3 |[39m name: [31mdevice_id[39m [90m4 |[39m [90mdescription: UUID of the device[39m [90m5 |[39m [90mrequired: true[39m Warning was generated by the [34mpath-parameters-defined[39m rule. [41] [43m[30mapi/content/device_update.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_update.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [42] [43m[30mapi/content/device_update.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_update.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [43] [43m[30mapi/content/device_update.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_update.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [44] [43m[30mapi/content/device_update.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must have required property 'type'. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_update.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [45] [43m[30mapi/content/device_update.yml:7:7[39m[49m [90mat #/examples/microcontroller/value[39m Example value must conform to the schema: must match a schema in anyOf. [90m5 |[39m [90mmicrocontroller:[39m [90m6 |[39m [90mvalue:[39m [90m7 |[39m [31m$ref: '../examples/device_microcontroller.yml'[39m [90m8 |[39m referenced from [34mapi/content/device_update.yml:2:1[39m [90mat #/[39m Warning was generated by the [34mno-invalid-media-type-examples[39m rule. [90m./api/openapi.yml: validated in 135ms [39m[32mWoohoo! Your API description is valid. 🎉 [39m[33mYou have 45 warnings. [39m