跳转到内容
Rayrun
登录注册

凭证与密钥

模型凭证、SSH 公钥、API Token。 完整参数、请求 / 响应 schema 见下方(本页只渲染该组):

v0.1.0
OpenAPI 3.0.3

Rayrun API

Rayrun REST API —— 控制台与命令行(rayrun CLI)的统一接口,也是自托管部署的 第三方集成的接入点。共 13 组、93 个端点(分组见左侧栏或「介绍」页的接口一览)。 基地址与部署同源:<实例地址>/v1(如 https://rayrun.example.com/v1)。 认证:Bearer Token(控制台「设置 → 我的 API Token」或 rayrun login 创建) 或浏览器会话 Cookie;GET /health 免认证。详见「介绍」页的认证一节。

Server:https://api.rayrunos.com/v1

Rayrun 托管平台

Client Libraries

凭证与密钥

​

内置模型厂商目录(中国市场五家 + 自定义兼容端点)

​

Responses

  • application/json
  • application/json
  • application/json
  • application/json
Request Example for get/model-providers
curl https://api.rayrunos.com/v1/model-providers \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "providers": [
    {
      "id": "deepseek",
      "display_name": "DeepSeek(深度求索)",
      "credential_name": "ANTHROPIC_AUTH_TOKEN",
      "native_credential_names": [
        "DEEPSEEK_API_KEY"
      ],
      "base_url_env": "ANTHROPIC_BASE_URL",
      "model_env": "ANTHROPIC_MODEL",
      "base_url": "string",
      "models": [
        {
          "id": "deepseek-flash[1m]",
          "display_name": "DeepSeek Flash(1M 上下文)",
          "extra_config": {
            "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-flash[1m]"
          }
        }
      ],
      "default_model": "string",
      "base_url_hint": "string"
    }
  ]
}

存凭证(同名 upsert 覆盖 = 密钥轮换)

​

Headers

  • 幂等键;≤ 128 字符;命中则原样重放缓存响应

Body·

required
application/json
  • 凭证名(组织内唯一的身份,可自取,如 kimi-prod)。 多条模型连接并存靠的就是各自不同的名字。≤ 64 字符,无正则校验(以实现为准)。 注入时用的环境变量名不是它,而是槽位 —— 见 CredentialListItem.slot

  • 凭证本体;永不回显、不进审计响应

  • 非密参数:扁平 env 覆盖表,如 {"ANTHROPIC_BASE_URL": "https://api.moonshot.cn/anthropic", "ANTHROPIC_MODEL": "kimi-k2.5"}。 键必须 ⊆ 创建沙箱时该 agent 镜像该凭证名的 [[credentials]].config_env, 否则创建沙箱 400(details.field = credentials)—— 这是 D9「不静默失败」的延伸。 键名由厂商目录的 base_url_env / model_env 给出,前端不得硬编码

    Properties: 1
  • 厂商 id,取值见 GET /v1/model-providers;省略或空串 = 无厂商 归属的纯密钥(如 GITHUB_TOKEN)。取值域外 → 400

Responses

  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/credentials
curl https://api.rayrunos.com/v1/credentials \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "name": "",
  "provider": "",
  "config": {
    "additionalProperty": ""
  },
  "secret": ""
}'
{
  "name": "string",
  "provider": "string"
}

列出凭证元数据与注入规则

​

Responses

  • application/json
  • application/json
  • application/json
  • application/json
Request Example for get/credentials
curl https://api.rayrunos.com/v1/credentials \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "credentials": [
    {
      "name": "string",
      "provider": "string",
      "slot": "string",
      "secret_mask": "sk-ant-a…wxyz",
      "config": {
        "additionalProperty": "string"
      },
      "injection_rules": [
        {
          "agent": "claude-code",
          "version": "1",
          "method": "env",
          "path": "string"
        }
      ],
      "created_at": "2026-11-11T06:00:17.727Z",
      "updated_at": "2026-11-11T06:00:17.727Z"
    }
  ]
}

删除凭证(严格 404:删除后无痕迹,无幂等 204)

​

Path Parameters

  • 凭证名(同 POST 的 name 约束:非空、≤ 64;实现不做正则校验)

Responses

  • 已删除

  • application/json
  • application/json
  • application/json
  • application/json
Request Example for delete/credentials/{name}
curl 'https://api.rayrunos.com/v1/credentials/{name}' \
  --request DELETE \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
No Body

注册 / 轮换 SSH 公钥(同名 upsert 覆盖)

​

Headers

  • 幂等键;≤ 128 字符;命中则原样重放缓存响应

Body·

required
application/json
  • 公钥名(本组织内唯一)。 创建沙箱时通过 sandbox.ssh_keys[] 引用。

  • 一行 OpenSSH authorized_keys 格式公钥(公钥不是秘密,但仍属 用户资源 —— 全局审计 api.request 已覆盖,载荷本身不写入 journal, 纪律 1)。解析失败的细节由 400 details.field=public_key 给出。

Responses

  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/ssh-keys
curl https://api.rayrunos.com/v1/ssh-keys \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "name": "",
  "public_key": ""
}'
{
  "name": "string",
  "fingerprint": "string"
}

列出本组织 SSH 公钥元数据

​

Responses

  • application/json
  • application/json
  • application/json
  • application/json
Request Example for get/ssh-keys
curl https://api.rayrunos.com/v1/ssh-keys \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "ssh_keys": [
    {
      "name": "string",
      "fingerprint": "string",
      "created_at": "2026-11-11T06:00:17.727Z"
    }
  ]
}

删除 SSH 公钥

​

Path Parameters

  • 公钥名(同 POST 的 name 约束:非空、≤ 64)

Responses

  • 已删除

  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for delete/ssh-keys/{name}
curl 'https://api.rayrunos.com/v1/ssh-keys/{name}' \
  --request DELETE \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
No Body

创建 API token(明文仅在创建响应出现一次)

​

Body·

required
application/json
  • 可选;缺省 = 永不过期

  • 创建来源标记,缺省 web。cli 表示由命令行登录创建,网页会话 不能撤销该类 token(需在命令行执行 rayrun logout)。这是来源 标记,不是权限控制。

Responses

  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/tokens
curl https://api.rayrunos.com/v1/tokens \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "name": "",
  "expires_at": null,
  "source": "web"
}'
{
  "token": "string",
  "token_id": "string",
  "name": "string",
  "source": "web",
  "created_at": "2026-11-11T06:00:17.727Z",
  "expires_at": null
}

列出 token 元数据

​

Responses

  • application/json
  • application/json
  • application/json
  • application/json
Request Example for get/tokens
curl https://api.rayrunos.com/v1/tokens \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "tokens": [
    {
      "token_id": "string",
      "name": "string",
      "source": "web",
      "created_at": "2026-11-11T06:00:17.727Z",
      "expires_at": null,
      "last_used_at": null
    }
  ]
}

撤销 token(立即生效,Redis 即真相源;严格 404)

​

Path Parameters

  • token_id

Responses

  • 已撤销

  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for delete/tokens/{id}
curl 'https://api.rayrunos.com/v1/tokens/{id}' \
  --request DELETE \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
No Body

Models