{"openapi":"3.1.0","info":{"title":"Orbis Updates API","version":"1.0.0","description":"API de solo lectura del changelog público de Orbis IoT. Lista proyectos, novedades y a qué equipos aplica cada firmware. La versión estable es /api/v1. No hay fecha de sunset: los cambios incompatibles irán a /api/v2 y se anunciarán con cabeceras Deprecation y Sunset.","contact":{"name":"ORBIS TECNOLOGÍA ELÉCTRICA, S.A.","email":"info@orbis.es","url":"https://updates.orbis.com.es"}},"servers":[{"url":"https://updates.orbis.com.es"}],"paths":{"/api/v1/projects":{"get":{"operationId":"listProjects","summary":"Listar proyectos públicos","description":"Devuelve Orbis IoT Web, app, API y Firmware con slug, nombre y URL canónica.","parameters":[],"responses":{"200":{"description":"Lista de proyectos","content":{"application/json":{"schema":{"type":"object","properties":{"projects":{"type":"array","items":{"$ref":"#/components/schemas/Project"}}},"required":["projects"]}}}}}}},"/api/v1/releases":{"get":{"operationId":"listReleases","summary":"Listar novedades publicadas","description":"Filtra por proyecto y tipo. Pagina con limit y cursor.","parameters":[{"name":"project","in":"query","schema":{"type":"string","enum":["web","app","api","firmware"]},"description":"Slug del proyecto"},{"name":"type","in":"query","schema":{"type":"string","enum":["new","improvement","fix","security","breaking"]}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"cursor","in":"query","schema":{"type":"integer","minimum":0,"default":0}}],"responses":{"200":{"description":"Novedades","content":{"application/json":{"schema":{"type":"object","properties":{"releases":{"type":"array","items":{"$ref":"#/components/schemas/Release"}},"nextCursor":{"type":["integer","null"]},"total":{"type":"integer"}},"required":["releases","total"]}}}},"400":{"description":"Parámetro inválido","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/v1/releases/{project}/{slug}":{"get":{"operationId":"getRelease","summary":"Obtener una novedad","description":"Devuelve una novedad publicada por slug de proyecto y slug de versión.","parameters":[{"name":"project","in":"path","required":true,"description":"Slug del proyecto (web, app, api o firmware)","schema":{"type":"string","enum":["web","app","api","firmware"]}},{"name":"slug","in":"path","required":true,"description":"Slug de la versión, por ejemplo 6-2-16","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Novedad","content":{"application/json":{"schema":{"type":"object","properties":{"release":{"$ref":"#/components/schemas/Release"}},"required":["release"]}}}},"404":{"description":"No existe","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}},"/api/v1/firmware/devices":{"get":{"operationId":"listFirmwareDevices","summary":"Última versión de firmware por equipo","description":"Indica, para UNI, COMBI+, City+ y EXO, la última novedad que les aplica.","parameters":[],"responses":{"200":{"description":"Dispositivos","content":{"application/json":{"schema":{"type":"object","properties":{"devices":{"type":"array","items":{"$ref":"#/components/schemas/FirmwareDevice"}}},"required":["devices"]}}}}}}}},"components":{"schemas":{"Project":{"type":"object","required":["slug","name","kind","url"],"properties":{"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":["string","null"]},"kind":{"type":"string"},"color":{"type":"string"},"url":{"type":"string","format":"uri"}}},"Release":{"type":"object","required":["slug","version","title","type","devices","project","url"],"properties":{"slug":{"type":"string"},"version":{"type":"string"},"title":{"type":"string"},"summary":{"type":["string","null"]},"type":{"type":"string"},"publishedAt":{"type":["string","null"],"format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"devices":{"type":"array","items":{"type":"string"}},"project":{"$ref":"#/components/schemas/Project"},"url":{"type":"string","format":"uri"}}},"FirmwareDevice":{"type":"object","required":["device","version","slug","url"],"properties":{"device":{"type":"string"},"version":{"type":"string"},"slug":{"type":"string"},"publishedAt":{"type":["string","null"]},"url":{"type":"string","format":"uri"}}},"Problem":{"type":"object","required":["type","title","status","code","detail","resolution"],"properties":{"type":{"type":"string"},"title":{"type":"string"},"status":{"type":"integer"},"code":{"type":"string"},"detail":{"type":"string"},"resolution":{"type":"string"}}}}}}