> openapi-lint
> npx --yes @redocly/cli lint ./api/openapi.yml

validating ./api/openapi.yml...
[1] api/openapi.yml:2:1 at #/openapi

Servers must be present.

1 | # yaml-language-server: $schema=https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json
2 | openapi: 3.1.0
3 | info:
4 |   title: CrossLab Device Service REST API (internal)

Warning was generated by the no-empty-servers rule.


[2] api/openapi.yml:3:1 at #/info

Info object should contain `license` field.

1 | # yaml-language-server: $schema=https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json
2 | openapi: 3.1.0
3 | info:
4 |   title: CrossLab Device Service REST API (internal)
5 |   description: |-

Warning was generated by the info-license rule.


[3] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'url'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[4] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[5] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'name'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[6] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'isPublic'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[7] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'url'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[8] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[9] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'name'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[10] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'isPublic'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[11] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'url'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[12] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[13] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'name'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[14] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'isPublic'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[15] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'url'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[16] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[17] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'name'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[18] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'isPublic'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[19] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'devices'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[20] api/content/device_init.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must match a schema in anyOf.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_init.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[21] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'url'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[22] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[23] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'name'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[24] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'isPublic'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[25] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'url'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[26] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[27] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'name'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[28] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'isPublic'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[29] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'url'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[30] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[31] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'name'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[32] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'isPublic'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[33] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'url'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[34] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[35] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'name'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[36] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'isPublic'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[37] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'devices'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[38] api/content/device_response.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must match a schema in anyOf.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_response.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[39] api/parameters/device_id.yml:3:7 at #/name

Path parameter `device_id` is not used in the path `{$request.query.changedUrl}`.

1 | # yaml-language-server: $schema=https://cross-lab-project.github.io/crosslab/meta-schemas/openapi-parameter.json
2 | in: path
3 | name: device_id
4 | description: UUID of the device
5 | required: true

Warning was generated by the path-parameters-defined rule.


[40] api/parameters/device_id.yml:3:7 at #/name

Path parameter `device_id` is not used in the path `{$request.query.changedUrl}`.

1 | # yaml-language-server: $schema=https://cross-lab-project.github.io/crosslab/meta-schemas/openapi-parameter.json
2 | in: path
3 | name: device_id
4 | description: UUID of the device
5 | required: true

Warning was generated by the path-parameters-defined rule.


[41] api/content/device_update.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_update.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[42] api/content/device_update.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_update.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[43] api/content/device_update.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_update.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[44] api/content/device_update.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must have required property 'type'.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_update.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


[45] api/content/device_update.yml:7:7 at #/examples/microcontroller/value

Example value must conform to the schema: must match a schema in anyOf.

5 | microcontroller:
6 |   value:
7 |     $ref: '../examples/device_microcontroller.yml'
8 |

referenced from api/content/device_update.yml:2:1 at #/ 

Warning was generated by the no-invalid-media-type-examples rule.


./api/openapi.yml: validated in 140ms

Woohoo! Your API description is valid. 🎉
You have 45 warnings.