客户端配置
cURL
用最小命令验证认证和模型。
准备:用 cURL 验证
cURL 能把 API 问题与客户端配置问题分开。Windows PowerShell 是本文基线:请写 curl.exe,因为 curl 在旧版 Windows PowerShell 中可能是 Invoke-WebRequest 的别名;macOS / Linux 才直接写 curl。
请在私密终端执行,不要在浏览器开发者工具或共享屏幕中输入。目标很简单:拿到一次模型列表响应和一次短请求的完成响应。两项结果确认前请保留终端,因为同一条命令最容易区分 API 问题和应用配置问题。
准备变量
本文的 <API_KEY> 替换为完整 Key,<MODEL> 替换为 GET /v1/models 返回的完整模型 ID;替换时不要输入尖括号。
Windows PowerShell:
$env:SUOXIE_API_KEY = '<API_KEY>'macOS / Linux:
export SUOXIE_API_KEY='<API_KEY>'操作一:检查模型列表
Windows PowerShell:
curl.exe --fail-with-body --show-error `
https://suoxie.codes/v1/models `
-H "Authorization: Bearer $env:SUOXIE_API_KEY"macOS / Linux:
curl --fail-with-body --show-error \
https://suoxie.codes/v1/models \
-H "Authorization: Bearer $SUOXIE_API_KEY"成功标志: HTTP 200,且 data 中至少出现一个模型。选择一个精确 id:
{
"object": "list",
"data": [
{ "id": "<MODEL>", "object": "model" }
]
}失败时先检查 Bearer 格式、Key 是否完整,以及 Key 的分组和余额/订阅。不要使用另一把 Key 的模型列表。
应复制什么: 从返回中任选一个 "id" 后面的完整文本,保持大小写和标点,并在下方赋给 SUOXIE_MODEL。不要使用截图、其他账户或旧客户端配置里的模型名称。
操作二:发送最小请求
设置模型变量:
$env:SUOXIE_MODEL = '<MODEL>'export SUOXIE_MODEL='<MODEL>'Windows PowerShell:
$body = @{
model = $env:SUOXIE_MODEL
input = 'Reply with OK'
store = $false
} | ConvertTo-Json -Compress
$body | curl.exe --fail-with-body --show-error `
https://suoxie.codes/v1/responses `
-H "Authorization: Bearer $env:SUOXIE_API_KEY" `
-H "Content-Type: application/json" `
--data-binary '@-'macOS / Linux:
curl --fail-with-body --show-error \
https://suoxie.codes/v1/responses \
-H "Authorization: Bearer $SUOXIE_API_KEY" \
-H "Content-Type: application/json" \
-d "{\"model\":\"$SUOXIE_MODEL\",\"input\":\"Reply with OK\",\"store\":false}"成功标志
成功标志: HTTP 200、status 为 completed,且 output 有模型回复。
{
"id": "resp_example",
"object": "response",
"status": "completed",
"model": "<MODEL>",
"output": [],
"usage": {
"input_tokens": 7,
"output_tokens": 2,
"total_tokens": 9
}
}示例省略了真实 output 细节。--fail-with-body 会保留 4xx/5xx 正文;旧版 cURL 不支持时可暂时移除,但必须人工检查 HTTP 状态。
继续前先读懂结果
- HTTP 200 加
status: "completed",说明 Base URL、Bearer Key、模型和最小 Responses 请求体已能一起工作。 - 模型列表返回 200、但 Responses 请求失败,问题范围就缩小到端点、请求体、模型能力,或该能力对应的账户/分组权限。
- 模型列表本身失败时,请先修复 URL、网络或认证。第三方客户端无法让这条基线命令成功。
两条命令都通过后,只在自己的记录中保留命令结构和状态。不要保存或分享完整 Key、Authorization 请求头,或包含它们的终端图片。
安全边界与响应头
- 为同一条最小请求临时添加
--include。 - 记录实际出现的
X-Request-ID、X-Client-Request-ID或Retry-After。 - 删除输出中的 Authorization 和完整 Key,再发送给支持。
失败时先检查 HTTP 状态和响应正文,不要只看终端最后一行。
失败时先检查
| 现象 | 先检查 |
|---|---|
| PowerShell 命令行为异常 | 是否误用了 curl 别名,而不是 curl.exe |
| 401 | Bearer 格式、Key 完整性和状态 |
| 403 | 余额/订阅、分组、模型或能力权限 |
| 404 | Base URL 是否重复 /v1,模型是否在同一 Key 的列表中 |
| 请求中断或超时 | 先查用量和任务记录,再决定是否重提 |
安全边界:不要用 -k 绕过 TLS,不把 Key 写入脚本、Git、截图或支持消息;共享电脑用完后清除环境变量和剪贴板。
下一步
cURL 成功后,可直接集成 Responses API,或配置 Codex、Cursor 等普通客户端。请保留这条通过的命令作为基线:同一把 Key 在 cURL 成功而客户端失败时,检查 Base URL、Provider、模型缓存和代理;若 cURL 之后也失败,则回到常见错误。
