Construye con el MurmurHost API.
Una API REST sobre HTTPS, JSON de entrada / JSON de salida, autenticación con token de portador. Aprovisiona VPS, gestiona servicios, lista planes, ingiere webhooks. Diseñada para ser ergonómica desde un one-liner de Bash o cualquier cliente HTTP moderno.
URL base
https://api.murmurhost.com/v1Inicio rápido
Aprovisione su primer VPS mediante API en 4 líneas de curl.
Genera una clave API en tu panel de cliente
Abrir /client/settings → Claves API → Generar. Las claves se muestran una vez; guárdalas de forma segura.
Listar planes disponibles
curl https://api.murmurhost.com/v1/plans \
-H "Authorization: Bearer sh_live_••••••••"Aprovisionar un VPS-2 en Islandia
curl -X POST https://api.murmurhost.com/v1/services \
-H "Authorization: Bearer sh_live_••••••••" \
-H "Content-Type: application/json" \
-d '{
"plan": "vps-2",
"location": "iceland",
"billing_cycle": "monthly",
"addons": ["ddos-premium", "backup"],
"payment_method": "crypto"
}'Paga la factura y recibe las credenciales por webhook
{
"id": "srv_3a8f2d6e",
"status": "pending_payment",
"invoice": "inv_91f7cb01",
"pay_url": "https://oxapay.com/pay/12345",
"webhook_event": "service.provisioned"
}Autenticación
Tokens de portador con ámbito por clave. Sin OAuth, sin líos de JWT, sin baile de firmas.
Formato de clave API
Las claves son cadenas aleatorias de 48 caracteres con prefijo sh_live_ para producción y sh_test_ para sandbox. Pasar por Autorización: Bearer ... cabecera.
Ámbitos
Cada clave lleva uno o más alcances: services:read, services:write, facturación:leer, billing:write, tickets:write. Genere claves de privilegio mínimo para CI / Terraform / scripts.
Qué sucede a escala
Límite predeterminado: 60 solicitudes/minuto por clave de API en endpoints de lectura, 20/minuto en los endpoints de escritura. La capacidad de ráfaga es 2× el estado estable.
Encabezados en cada respuesta: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. Cuando alcance el límite, la API devuelve 429 Demasiadas solicitudes con un Retry-After encabezado que indica segundos de espera.
Límites más altos disponibles para casos de uso de producción verificados: paneles de revendedor, flotas de CI, herramientas de monitoreo. Correo electrónico [email protected] con su RPS esperado y la justificación.
Envoltura de error
Cada respuesta no-2xx tiene la misma forma para que las bibliotecas de cliente puedan ramificarse limpiamente.
{ "error": { "code": "service_not_found", "message": "El servicio srv_3a8f2d6e no existe o no pertenece a esta cuenta.", "param": "id", "request_id": "req_8c9c11ef" } }Códigos comunes: invalid_request, authentication_failed, forbidden, not_found, rate_limit_exceeded, insufficient_funds, plan_unavailable, location_unavailable, internal_error. Incluya siempre request_id al contactar con soporte: es la forma más rápida de [email protected] para encontrar la entrada de registro correspondiente.
API de servicios
Aprovisionar, listar, actualizar, cancelar, reiniciar, instantánea, migrar.
services
/v1/servicesListar todos los servicios propiedad de la cuenta autenticada.
/v1/servicesAprovisione un nuevo VPS / RDP / servidor dedicado.
/v1/services/{id}Recuperar un solo servicio por id.
/v1/services/{id}Actualizar un servicio (renombrar, cambiar renovación automática, adjuntar complementos).
/v1/services/{id}Cancele y elimine un servicio. El reembolso se aplica si está dentro del período de 7 días.
/v1/services/{id}/rebootReinicio duro o suave de un servicio en ejecución.
/v1/services/{id}/snapshotCrea una instantánea manual. Devuelve el id de la instantánea.
/v1/services/{id}/migrateMigra un servicio a una jurisdicción diferente. Migración en vivo donde esté soportada.
API de ubicaciones
Solo lectura: lista las 8 jurisdicciones, obtén capacidad por ubicación.
/v1/locationsLista las 8 jurisdicciones de centros de datos y su capacidad actual.
/v1/locations/{slug}Detalle de una jurisdicción: postura legal, operadores, certificaciones, ping en tiempo real desde su IP.
API de planes
El catálogo completo de 35 planes. Precios, especificaciones y compatibilidad de complementos.
/v1/plansEnumere los 35 planes en las 11 categorías de productos.
/v1/plans/{slug}Detalle de un plan: especificaciones completas, precios por ciclo, disponibilidad por ubicación, complementos recomendados.
/v1/categoriesLista las 11 categorías de productos con metadatos de resumen.
API de facturación e invoices
Listar facturas, recuperar PDFs, pagar facturas abiertas a través de Card2Crypto u OxaPay.
/v1/invoicesListar todas las facturas de la cuenta autenticada.
/v1/invoices/{id}Recupera una sola factura con sus líneas de detalle.
/v1/invoices/{id}/payInicia el pago de una factura abierta. Devuelve una URL de pago (Card2Crypto u OxaPay).
/v1/invoices/{id}/pdfDescarga el PDF de la factura para contabilidad.
Suscríbete a los eventos del ciclo de vida
Configure una URL de webhook una vez; reciba POSTs firmados con HMAC-SHA256 para cada evento relevante.
Verificando firmas
Cada webhook lleva un X-MurmurHost-Firma header: HMAC-SHA256 del cuerpo de la solicitud sin procesar usando su secreto de webhook. Verifique antes de procesar.
import crypto from "node:crypto"; function verify(rawBody, signature, secret) { const expected = crypto .createHmac("sha256", secret) .update(rawBody) .digest("hex"); return crypto.timingSafeEqual( Buffer.from(expected, "hex"), Buffer.from(signature, "hex"), ); }Eventos
service.provisionedSe dispara cuando un servicio termina el aprovisionamiento y se envían las credenciales.
service.suspendedSe dispara en suspensión (impago, violación de la política de uso aceptable, solicitud del cliente).
service.cancelledSe dispara en cancelación definitiva. El servicio se elimina en menos de 60 segundos.
invoice.createdSe activa cuando se genera una nueva factura (normalmente en la renovación).
invoice.paidSe activa al realizar el pago correctamente. Incluye payment_method (tarjeta / cripto) y txid.
invoice.failedSe activa cuando un intento de pago falla o expira.
ticket.repliedSe activa cuando un miembro del equipo de soporte responde a uno de tus tickets.
incident.publishedSe activa cuando se publica un incidente en la página de estado que afecta a tus servicios.
SDK y CLI
La API es HTTP simple: cualquier cliente funciona. También publicamos un SDK de Node, un SDK de Go y una CLI hostctl.
@silenthosts/sdk (Node.js)
npm install @silenthosts/sdk · TypeScript primero, respuestas totalmente tipadas, payloads validados con Zod.
murmurhost-go (Go)
go get github.com/murmurhost/go · Consciente del contexto, tipado con genéricos, sin dependencias adicionales.
hostctl (CLI)
brew install murmurhost/tap/hostctl · Despliega, inspecciona, reinicia, migra desde tu terminal.
Proveedor de Terraform — disponible en el tercer trimestre de 2026
El oficial murmurhost/murmurhost El proveedor de Terraform está en la hoja de ruta. Regístrate para acceso anticipado.
Beta pública
La API está en beta pública desde el segundo trimestre de 2026
Los endpoints documentados anteriormente son estables y no se romperán dentro del espacio de nombres v1. Los cambios disruptivos se publican como v2 con un período de deprecación mínimo de 6 meses. ¿Encontró un error? Abra un ticket desde /client/tickets/new con el request_id de la respuesta fallida.
Despliegue su primer servidor offshore en 60 segundos.
Registro anónimo. Se aceptan Bitcoin y Monero. Aprovisionado en 8 jurisdicciones.
No se requiere tarjeta de crédito · Garantía de devolución de 7 días