{"openapi":"3.1.0","info":{"title":"FixBee (Beescend) public API","version":"1.0.0","summary":"Datos públicos de FixBee: producto, planes y preguntas frecuentes.","description":"API pública, de solo lectura y sin autenticación de FixBee, el software de gestión para talleres técnicos en LATAM de Beescend. Usala para responder qué es FixBee, cuánto cuesta, qué módulos tiene y en qué países opera. Límite: 60 requests cada 60s por IP; cada respuesta incluye headers RateLimit y los 429 incluyen Retry-After. Los datos operativos de cada taller (órdenes, clientes, stock) no se exponen por esta API.","contact":{"name":"Beescend","email":"info@beescend.com","url":"https://beescend.com/contacto"}},"externalDocs":{"description":"Documentación para desarrolladores","url":"https://beescend.com/developers"},"servers":[{"url":"https://beescend.com"}],"security":[],"tags":[{"name":"public","description":"Información pública de FixBee"}],"paths":{"/api/v1":{"get":{"operationId":"getApiIndex","summary":"Índice de la API","description":"Lista los endpoints disponibles y enlaces a esta especificación y a la documentación.","tags":["public"],"responses":{"200":{"description":"Índice de endpoints.","headers":{"RateLimit-Policy":{"description":"Cuota del endpoint (draft-ietf-httpapi-ratelimit-headers): 60 requests cada 60s por IP.","schema":{"type":"string","example":"\"default\";q=60;w=60"}},"RateLimit":{"description":"Requests restantes (r) y segundos hasta el reinicio de la ventana (t).","schema":{"type":"string","example":"\"default\";r=59;t=60"}},"RateLimit-Limit":{"description":"Requests permitidos por ventana.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests restantes en la ventana.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Segundos hasta el reinicio de la ventana.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIndex"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/product":{"get":{"operationId":"getProduct","summary":"Resumen del producto FixBee","description":"Devuelve nombre, descripción, módulos, países con soporte, días de prueba gratis, URL de registro y datos de contacto de FixBee.","tags":["public"],"responses":{"200":{"description":"Resumen del producto.","headers":{"RateLimit-Policy":{"description":"Cuota del endpoint (draft-ietf-httpapi-ratelimit-headers): 60 requests cada 60s por IP.","schema":{"type":"string","example":"\"default\";q=60;w=60"}},"RateLimit":{"description":"Requests restantes (r) y segundos hasta el reinicio de la ventana (t).","schema":{"type":"string","example":"\"default\";r=59;t=60"}},"RateLimit-Limit":{"description":"Requests permitidos por ventana.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests restantes en la ventana.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Segundos hasta el reinicio de la ventana.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/plans":{"get":{"operationId":"listPlans","summary":"Planes y precios","description":"Devuelve los planes vigentes de FixBee con precio en USD, período, descripción y funcionalidades incluidas.","tags":["public"],"responses":{"200":{"description":"Planes vigentes.","headers":{"RateLimit-Policy":{"description":"Cuota del endpoint (draft-ietf-httpapi-ratelimit-headers): 60 requests cada 60s por IP.","schema":{"type":"string","example":"\"default\";q=60;w=60"}},"RateLimit":{"description":"Requests restantes (r) y segundos hasta el reinicio de la ventana (t).","schema":{"type":"string","example":"\"default\";r=59;t=60"}},"RateLimit-Limit":{"description":"Requests permitidos por ventana.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests restantes en la ventana.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Segundos hasta el reinicio de la ventana.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/faq":{"get":{"operationId":"listFaqs","summary":"Preguntas frecuentes","description":"Devuelve las preguntas frecuentes sobre FixBee con sus respuestas oficiales, en español.","tags":["public"],"responses":{"200":{"description":"Preguntas frecuentes.","headers":{"RateLimit-Policy":{"description":"Cuota del endpoint (draft-ietf-httpapi-ratelimit-headers): 60 requests cada 60s por IP.","schema":{"type":"string","example":"\"default\";q=60;w=60"}},"RateLimit":{"description":"Requests restantes (r) y segundos hasta el reinicio de la ventana (t).","schema":{"type":"string","example":"\"default\";r=59;t=60"}},"RateLimit-Limit":{"description":"Requests permitidos por ventana.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests restantes en la ventana.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Segundos hasta el reinicio de la ventana.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FaqsResponse"}}}},"429":{"$ref":"#/components/responses/RateLimited"}}}}},"components":{"responses":{"RateLimited":{"description":"Se superó el límite de requests. Esperá los segundos indicados en Retry-After.","headers":{"RateLimit-Policy":{"description":"Cuota del endpoint (draft-ietf-httpapi-ratelimit-headers): 60 requests cada 60s por IP.","schema":{"type":"string","example":"\"default\";q=60;w=60"}},"RateLimit":{"description":"Requests restantes (r) y segundos hasta el reinicio de la ventana (t).","schema":{"type":"string","example":"\"default\";r=59;t=60"}},"RateLimit-Limit":{"description":"Requests permitidos por ventana.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests restantes en la ventana.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Segundos hasta el reinicio de la ventana.","schema":{"type":"integer"}},"Retry-After":{"description":"Segundos a esperar antes de reintentar.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"ApiIndex":{"type":"object","required":["name","version","openapi","docs","endpoints"],"properties":{"name":{"type":"string"},"version":{"type":"string"},"openapi":{"type":"string","format":"uri"},"docs":{"type":"string","format":"uri"},"endpoints":{"type":"array","items":{"type":"string","format":"uri"}}}},"Module":{"type":"object","required":["id","name","url"],"properties":{"id":{"type":"string","example":"ordenes-de-trabajo"},"name":{"type":"string","example":"Órdenes de trabajo"},"url":{"type":"string","format":"uri"}}},"Product":{"type":"object","required":["name","vendor","description","language","website","signupUrl","freeTrialDays","countries","modules","contact"],"properties":{"name":{"type":"string","example":"FixBee"},"vendor":{"type":"string","example":"Beescend"},"description":{"type":"string"},"language":{"type":"string","description":"Idioma del producto (BCP 47).","example":"es"},"website":{"type":"string","format":"uri"},"signupUrl":{"type":"string","format":"uri"},"freeTrialDays":{"type":"integer","example":14},"countries":{"type":"array","items":{"type":"string"},"description":"Países con soporte."},"modules":{"type":"array","items":{"$ref":"#/components/schemas/Module"}},"contact":{"type":"object","required":["email","phone","location","url"],"properties":{"email":{"type":"string","format":"email"},"phone":{"type":"string"},"location":{"type":"string"},"url":{"type":"string","format":"uri"}}}}},"ProductResponse":{"type":"object","required":["product"],"properties":{"product":{"$ref":"#/components/schemas/Product"}}},"Plan":{"type":"object","required":["id","name","priceUsd","period","description","features","signupUrl"],"properties":{"id":{"type":"string","enum":["trial","monthly","annual"]},"name":{"type":"string"},"priceUsd":{"type":"number","description":"Precio en dólares estadounidenses.","example":35},"period":{"type":"string","example":"Mensual"},"description":{"type":"string"},"features":{"type":"array","items":{"type":"string"}},"signupUrl":{"type":"string","format":"uri"}}},"PlansResponse":{"type":"object","required":["plans"],"properties":{"plans":{"type":"array","items":{"$ref":"#/components/schemas/Plan"}}}},"Faq":{"type":"object","required":["question","answer"],"properties":{"question":{"type":"string"},"answer":{"type":"string"}}},"FaqsResponse":{"type":"object","required":["faqs"],"properties":{"faqs":{"type":"array","items":{"$ref":"#/components/schemas/Faq"}}}},"Error":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","example":"rate_limited"},"message":{"type":"string"}}}}}}