← 返回 API 密钥

草根云 API / v1

在用户中心创建 API 密钥,使用 Bearer 认证。密钥仅展示一次,可撤销、设定有效期和只读权限。每个密钥每分钟限 60 次请求,超限返回 429 和 Retry-After。网页与 API 共用余额、会员门槛、指定资源池和实例时长限制。

读取账户与配置

curl "$BASE/api/v1/config" \
  -H "Authorization: Bearer $API_KEY"

curl "$BASE/api/v1/account" \
  -H "Authorization: Bearer $API_KEY"

BASE 为本站地址,例如 https://caogenyun.com。配置响应包含套餐、镜像、资源费率、GPU 售价、会员门槛和当前账户权限。API 不提供管理员接口或上游凭据。

创建服务器

# 先 POST /api/v1/quote 获取 billing_version、预扣金额和资源可用状态
# 下方 billing_version 填写报价中返回的原始版本值
curl -X POST "$BASE/api/v1/quote" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"cpu":2,"mem_mb":2048,"minutes":10,"ports":[22,8080],"image_id":"debian13","data_disk":false,"network_budget_gib":1}'

# 确认报价后使用完全相同的资源配置创建
curl -X POST "$BASE/api/v1/servers" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: example-order-20261010-001" \
  -d '{"cpu":2,"mem_mb":2048,"minutes":10,"ports":[22,8080],"image_id":"debian13","data_disk":false,"network_budget_gib":1,"billing_ack":true,"billing_version":"报价返回的版本"}' 

需要 read + write 权限。CPU 为物理核,内存以 MiB 计,端口须含 22。GPU 增加 gpu_type 与 gpu_count,例如 T4、1,并选择对应 CUDA 镜像。B300 需 CUDA 13.1+。可选数据盘使用 data_disk:true 和 storage_budget_gib(1–1000);预算是预扣估算,按实际写入用量结算。

{"order_id":123,"price":0.04,"status":"queued"}

提交时预扣余额,异步创建。用 GET /servers/123 查看结果;创建失败自动退款。重试同一创建请求必须使用原 Idempotency-Key 和相同配置,返回原订单;修改配置须换新编号。请求编号必须为 16–100 个字母、数字、下划线或连字符。

服务器与账务

方法/api/v1 路径用途
GET/servers自己的服务器和订单
GET/servers/{id}订单状态、SSH、端口及系统密码
GET/servers/{id}/logs实例日志
GET/servers/{id}/statsLinux 资源状态
POST/servers/{id}/manageaction: reset_password 或 reload_ssh
POST/servers/{id}/destroy销毁运行中实例
POST/servers/{id}/close关闭实例并清理数据盘、结算
GET/membership当前等级与 GPU 门槛
GET/transactions余额流水
GET/recharge充值配置及自己的充值订单
POST/recharge创建充值订单,同样要求 Idempotency-Key
POST/quote创建配置报价:计算费、用量预扣、资源额度与规则版本
GET/billing-rules完整计费规则
POST/servers/{id}/cancel取消尚未提交上游的排队订单并退款
GET/servers/{id}/events订单生命周期事件
POST/servers/{id}/snapshot保存文件系统快照,保留七天
GET/assets自己的保留数据卷和快照
GET/notifications费用和实例通知

USDT 充值

curl -X POST "$BASE/api/v1/recharge" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: example-recharge-20261009-001" \
  -d '{"amount":"1.000000","trade_type":"usdt.trc20"}'

最低充值 0.1 USDT,金额最多六位小数。返回 order.payment_url 和 order.expected_usdt,按应付完整金额付款。实际支付确认后才入账,网页返回地址不会触发加款。review 表示上游创建结果不确定,需要人工核查,原请求编号不会自动重复提交。

错误

错误返回 JSON {"error":"原因"}。401 为认证失效,403 为权限不足,400 为配置、余额或会员门槛不满足,404 为对象不存在,429 为限速,502 为上游操作失败。只可访问自己的实例和订单。

用量、网络与恢复

计算费为固定时长售价,主动提前关闭不退计算费;提前退出按尚未使用时长退回。数据盘预扣至少 60 分钟,流量预算停止后按采样结算。本站采样不是上游精确账单。用量占用汇总到可用余额,余额接近不足时自动回收。

可选 retain_volume:true 在停止后保留 /data 并持续计费;source_volume_id 挂载自己保存的卷,snapshot_id 从快照重建,均只匹配同工作区且有权限的凭据。快照不含数据卷与 GPU 内存。ssh_public_key 用于公钥登录;tls_ports 是 ports 的子集,不含 22;inbound_cidrs 是 IP/CIDR 数组。指定 region 会增加计算费。

manage 支持 stats、reload_ssh、reset_password、command(最多 15 秒)、file_list、file_read、file_write(最多 64 KiB)和 restart_service;文件内容使用 Base64,覆盖须 overwrite:true。快照恢复与数据卷挂载会创建另一个收费订单。