{"openapi":"3.1.0","info":{"title":"HabboRank API","version":"1.0.0","description":"API pública de solo lectura del ranking mensual de HabboRank. Sin claves. Límite: 120 peticiones por minuto. Respuestas con ETag y CORS abierto."},"servers":[{"url":"https://habborank.com"}],"paths":{"/api/v1/ranking":{"get":{"summary":"Ranking del mes (o de un mes cerrado)","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":10}},{"name":"month","in":"query","description":"Mes en formato AAAA-MM. Si se omite, mes actual.","schema":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$"}}],"responses":{"200":{"description":"Clasificación","headers":{"ETag":{"schema":{"type":"string"}}}},"304":{"description":"Sin cambios (If-None-Match)"},"404":{"description":"Mes inexistente","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Demasiadas peticiones","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/hotels/{slug}":{"get":{"summary":"Datos públicos de un hotel","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Hotel"},"404":{"description":"No encontrado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/badge/{slug}.svg":{"get":{"summary":"Insignia SVG con el puesto del mes","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Imagen SVG"}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}}