快速入门
通过API用4行curl开通您的第一个VPS。
在客户端面板中生成API密钥
打开 /client/settings → API密钥 → 生成。密钥仅显示一次;请安全存储。
列出可用套餐
curl https://api.murmurhost.com/v1/plans \
-H "Authorization: Bearer sh_live_••••••••"在冰岛开通VPS-2
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"
}'支付账单并通过webhook接收凭据
{
"id": "srv_3a8f2d6e",
"status": "pending_payment",
"invoice": "inv_91f7cb01",
"pay_url": "https://oxapay.com/pay/12345",
"webhook_event": "service.provisioned"
}身份验证
按密钥范围划分的Bearer令牌。没有OAuth,没有JWT花招,没有签名步骤。
API密钥格式
密钥是48字符随机字符串,前缀为 sh_live_ 用于生产环境及 sh_test_ 用于沙盒。通过 授权:Bearer ... 页头。
范围
每个密钥携带一个或多个作用域: 服务:读取, services:write, billing:read, 计费:写入, 工单:写入生成最小权限密钥,用于CI / Terraform / 脚本。
规模扩大时会发生什么
默认限制: 60次请求/分钟 每个API密钥在读取端点, 20/分钟 在写入端点上。突发容量为稳态的2倍。
每个响应上的标头: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset。当您达到限制时,API返回 429请求过多 附带 Retry-After 指示等待秒数的头部。
对于验证的生产用例——经销商仪表板、CI集群、监控工具,可提供更高限制。电子邮件 [email protected] 以及您预期的RPS和理由。
错误信封
所有非2xx响应具有相同结构,以便客户端库能够干净地分支处理。
{ "error": { "code": "service_not_found", "message": "服务srv_3a8f2d6e不存在或不属于此账户。", "param": "id", "request_id": "req_8c9c11ef" } }常见代码: invalid_request, authentication_failed, forbidden, not_found, rate_limit_exceeded, insufficient_funds, plan_unavailable, location_unavailable, internal_error。始终包含 request_id 联系支持时——这是最快的方式 [email protected] 以查找匹配的日志条目。
服务API
开通、列出、更新、取消、重启、快照、迁移。
services
/v1/services列出经过身份验证的账户拥有的所有服务。
/v1/services开通新的VPS/RDP/独立服务器。
/v1/services/{id}按id检索单个服务。
/v1/services/{id}更新服务(重命名、更改自动续费、附加附加项)。
/v1/services/{id}取消并拆除服务。若在7天期限内,则适用退款。
/v1/services/{id}/reboot硬重启或软重启运行中的服务。
/v1/services/{id}/snapshot创建手动快照。返回快照ID。
/v1/services/{id}/migrate将服务迁移到不同的司法管辖区。在支持的情况下进行实时迁移。
位置 API
只读 — 列出8个司法管辖区,获取每个地点的容量。
/v1/locations列出8个数据中心司法管辖区及其当前容量。
/v1/locations/{slug}一个司法管辖区的详情:法律立场、运营商、认证、从您的IP实时ping。
套餐API
完整的35个套餐目录。定价、规格和附加项兼容性。
/v1/plans列出11个产品类别中的全部35个套餐。
/v1/plans/{slug}一个套餐的详情:完整规格、每周期定价、各地点可用性、推荐附加项。
/v1/categories列出11个产品类别及摘要元数据。
账单与发票API
列出账单、检索PDF、通过Card2Crypto或OxaPay支付未结账单。
/v1/invoices列出已认证账户的所有账单。
/v1/invoices/{id}检索包含行项目的单个账单。
/v1/invoices/{id}/pay为未结账单发起支付。返回支付URL(Card2Crypto或OxaPay)。
/v1/invoices/{id}/pdf下载账单PDF用于记账。
订阅生命周期事件
配置一次webhook URL;为每个相关事件接收HMAC-SHA256签名的POST请求。
验证签名
每个webhook都携带 X-MurmurHost-签名 header——使用您的webhook密钥对原始请求体进行HMAC-SHA256。处理前验证。
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"), ); }事件
service.provisioned当服务完成开通并发送凭据时触发。
service.suspended在暂停时触发(未付款、违反AUP、客户请求)。
service.cancelled在硬取消时触发。服务将在60秒内拆除。
invoice.created当生成新账单时触发(通常在续费时)。
invoice.paid在成功付款后触发。包括 payment_method(card / crypto)和 txid。
invoice.failed当支付尝试失败或过期时触发。
ticket.replied当支持团队成员回复您的某个工单时触发。
incident.published当影响您服务的状态页事件发布时触发。
SDK和命令行工具
API是纯HTTP——任何客户端都可以使用。我们还发布了Node SDK、Go SDK和hostctl CLI。
@silenthosts/sdk (Node.js)
npm install @silenthosts/sdk · TypeScript优先,完全类型化的响应,Zod验证的负载。
murmurhost-go(Go)
go get github.com/murmurhost/go · 上下文感知,泛型类型,无额外依赖。
hostctl(命令行)
brew install murmurhost/tap/hostctl · 从终端部署、检查、重启、迁移。
Terraform 提供商 — 2026年第三季度推出
官方 murmurhost/murmurhost Terraform提供商在路线图上。注册以获取早期访问权限。
公开测试版
API自2026年第二季度起公开测试
上述文档化的端点在v1命名空间内稳定,不会中断。破坏性变更作为v2发布,并至少有6个月的弃用窗口。发现错误?从工单打开 /client/tickets/new 使用失败响应中的request_id。