基础信息

API 基础URL

https://www.chenyu.cn/api/open/v2

认证方式

部分API请求都需要在HTTP头中包含认证信息:
Authorization: Bearer YOUR_API_KEY

请求格式

  • Content-Type: application/json
  • 字符编码: UTF-8
  • 请求方法: GET、POST

响应格式

所有API响应都采用统一的JSON格式:
{
  "code": 0,
  "msg": "操作成功",
  "data": {
    // 具体的响应数据
  }
}

API 概览

核心功能

实例管理

管理GPU实例的完整生命周期: 主要接口:
  • POST /api/open/v2/instance/create_by_pod - 通过Pod创建实例
  • POST /api/open/v2/instance/create_by_image - 通过镜像创建实例
  • GET /api/open/v2/instance/list - 获取实例列表
  • POST /api/open/v2/instance/startup - 启动实例
  • POST /api/open/v2/instance/shutdown_timer - 停止实例
  • POST /api/open/v2/instance/restart - 重启实例

计费管理

实时监控费用和管理预算:
  • GET /api/open/v2/balance/info - 查询账户余额
  • GET /api/open/v2/bill/list - 获取账单详情
  • GET /api/open/v2/recharge/list - 查询充值记录

资源管理

获取平台资源信息:
  • GET /api/open/v2/pod/list - 获取Pod列表
  • GET /api/open/v2/gpu/list - 获取GPU列表
  • GET /api/open/v2/image/market/list - 获取市场镜像列表

快速开始

1. 获取API Key

登录 晨羽智云控制台,在”API管理”页面创建新的API密钥。

2. 初始化客户端

import requests

url = "https://www.chenyu.cn/api/open/v2/balance/info"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}

# 获取账户信息
response = requests.get(url, headers=headers)
balance = response.json()
print(f"账户余额: {balance['data']['balance']} 元")

# 创建实例
create_url = "https://www.chenyu.cn/api/open/v2/instance/create_by_pod"
data = {
    "pod_uuid": "pod_xxx",
    "gpu_uuid": "gpu_xxx",
    "auto_start": 1
}
response = requests.post(create_url, headers=headers, json=data)
instance = response.json()
print(f"实例创建成功: {instance['data']['instance_uuid']}")

状态码说明

HTTP状态码

状态码描述说明
200OK请求成功
400Bad Request请求参数错误
401Unauthorized认证失败
403Forbidden权限不足
404Not Found资源不存在
429Too Many Requests请求过于频繁
500Internal Server Error服务器内部错误

错误处理

错误响应格式

{
  "code": 400,
  "message": "请求参数错误",
  "data": {
    "error": "invalid_parameter",
    "details": "pod_uuid参数不能为空",
    "field": "pod_uuid"
  }
}
import time
import random

def retry_with_backoff(func, max_retries=3):
    for attempt in range(max_retries):
        try:
            return func()
        except Exception as e:
            if attempt == max_retries - 1:
                raise e
            
            # 指数退避 + 随机抖动
            delay = (2 ** attempt) + random.uniform(0, 1)
            time.sleep(delay)

当前版本

  • API版本: v2
  • 发布日期: 2025-08-01

安全建议

  • API Key管理: 将API Key存储在环境变量中,不要硬编码
  • 定期轮换: 定期更新API Key以提高安全性

获取帮助