La API salió de la versión beta el dos de julio. Se incluyó en la revisión 5.4 de la plataforma en junio, funcionó como beta por invitación desde febrero con poco más de cuatrocientas cuentas, y no ha cambiado de forma desde abril. Versionada, documentada y cubierta por el mismo compromiso de disponibilidad que el panel.
Llamarla tarde sería generoso. La razón no es misteriosa: una interfaz sobre un sistema de aprovisionamiento que necesitaba tres minutos y medio para construir un servidor habría sido una interfaz para sondear un spinner. Primero reescribimos la cola, en 2025, y el orden fue deliberado, no suerte.
Qué hace
| Grupo | Qué puedes hacer | Notas |
|---|---|---|
| Instancias | Crear, redimensionar, reconstruir, instantánea, restaurar, destruir | Redimensionar hacia arriba es en vivo, hacia abajo requiere un reinicio |
| Imágenes | Listar el catálogo de SO, registrar una ISO personalizada por URL | Las instalaciones con ISO personalizada siguen siendo manuales y lentas |
| Redes | Añadir IPv4, editar DNS inverso, solicitar un IPv6 /48 | Delegado, nunca proxy |
| Filtrado | Leer eventos de ataque, enviar reglas de capa 7 en DDoS Pro | El filtrado base no tiene nada que configurar |
| Facturación | Leer saldo, listar facturas, abrir una factura de recarga | Sin campos de tarjeta, porque no hay tarjetas |
| Eventos | Consultar el registro de eventos o registrar un webhook | Firmado con un secreto por cuenta |
Todo es JSON sobre HTTPS, y todo objeto que el panel puede mostrarte es un objeto que la API puede devolver. No hay ninguna capa de funcionalidad reservada para la interfaz web, lo cual nos cuesta algo: el panel ahora consume los mismos endpoints públicos que tú, así que una API rota es un panel roto y nos enteramos de inmediato.
Autenticación
Los tokens se crean en el panel, con ámbito, y se muestran exactamente una vez. Sin autenticación por contraseña, sin cookies de sesión, sin redirección a un proveedor de identidad en el que tendríamos que confiar con algo que hemos ido a considerable esfuerzo por no recopilar.
Un token lleva un ámbito de lectura, escritura o facturación, una restricción opcional a un solo sitio, una restricción opcional a una lista de instancias, y una caducidad que tú estableces. Sesenta días es el valor por defecto. Los tokens pueden revocarse individualmente y la revocación es efectiva en el borde en menos de dos segundos, lo cual importa más de lo que parece cuando un servidor de compilación es reconstruido por alguien que no sabía lo que había en él.
Debido a que una cuenta aquí es una dirección de correo electrónico y un hash de contraseña, no hay objeto de cliente que obtener. La API no tiene campo de nombre, ni de dirección, ni de empresa, ni fiscal, por exactamente la misma razón que el formulario de registro no los tiene.
Límites de tasa, idempotencia, errores
Seiscientas lecturas por minuto y sesenta escrituras, contadas por token en lugar de por cuenta, así que un script ruidoso no puede dejar sin recursos al resto de tu automatización. Los límites se devuelven en cabeceras en cada respuesta, incluidas las exitosas.
Cada escritura acepta una clave de idempotencia. Reintenta una creación con la misma clave y obtienes la instancia original en lugar de una segunda facturada junto a ella. Esta es la característica que los evaluadores beta más agradecieron, lo cual dice algo sobre cómo el resto de la industria maneja un tiempo de espera durante el aprovisionamiento.
Los errores son un código de máquina documentado, una frase que un humano puede leer, y un identificador de solicitud. Pega el identificador en un ticket y el soporte puede ver la misma solicitud que viste, sin pedirte que la reproduzcas.
Lo que deliberadamente no hace
- Sin dinero fiduciario, nunca. Los endpoints de facturación leen tu saldo y abren una factura de recarga. La liquidación permanece con OxaPay y la cadena que elegiste, exactamente como se describe en la página de pagos.
- Sin subcuentas ni roles. Solicitado constantemente. No construido, porque la implementación obvia significa mantener una estructura de quién-trabaja-para-quién, y preferimos enviar tokens con ámbito que caducan y dejar que mantengas tu organigrama para ti.
- Sin autoescalado. Las instancias son núcleos dedicados en silicio real, no un grupo que podamos conjurar. Puedes crear y destruir según tu propio horario; no vamos a fingir que hay una abstracción elástica debajo.
- Sin matriz de SDK. Un cliente de referencia, y HTTP puro como contrato. Seis enlaces de lenguaje a medio mantener envejecerían peor que la documentación.
Lo que nos gustaría que rompieras
La beta encontró nueve errores que valía la pena arreglar, tres de los cuales fueron nuestros de manera interesante y seis fueron mentiras de la documentación. Si encuentras un décimo, el abuso de un límite de tasa está bien y se espera durante las pruebas, y el soporte preferiría tener el identificador de solicitud antes que una captura de pantalla.
La referencia está en la documentación. El changelog de la revisión 5.4 lista los siete endpoints que cambiaron de forma entre febrero y abril, y esos son los únicos cambios importantes que habrá dentro de la versión uno.