主题
语言

通过 API 提交支持工单

POST /v1/tickets — 使用 API 密钥创建支持工单、阅读工单线程、跟进并关闭工单:字段、附件、状态、限制以及与 /v1/technical-feedback 的兼容性。

Tickets API 是唯一的支持渠道:通过 API 开启的工单会显示在控制台中,反之亦然。使用 API 密钥(Authorization: Bearer 或 X-API-Key)或控制台会话进行身份验证。你始终只能看到自己的工单。

提交工单

POSThttps://getvibeapi.com/v1/tickets
参数类型描述
subjectstring必填:3 到 200 个字符。
messagestring必填:10 到 8,000 个字符。
categorystringapi_error、performance、incorrect_response、integration、feature_request、other、billing、account 或 general(默认)。
requestIds字符串[]你账户中的可选请求 ID,最多 10 个(即 x-request-id 响应标头)。
clientIncidentIdstring你方可选的稳定系列 ID:具有相同 ID 的未结工单将被重复使用。
filesfile[]仅支持 multipart/form-data:最多 5 个 PNG、JPEG、GIF 或 WebP 图像,每个最大 10 MB,每个 ticket 最多 10 个。
curl https://getvibeapi.com/v1/tickets \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Stream stops after 30 seconds",
    "message": "stream=true on /v1/chat/completions stops after about 30 seconds; retrying does not help.",
    "category": "api_error",
    "requestIds": ["req_123"]
  }'

使用截图时的 multipart:

curl https://getvibeapi.com/v1/tickets \
  -H "Authorization: Bearer $API_KEY" \
  -F subject="Wrong response" \
  -F message="The model returns an empty answer, screenshot attached." \
  -F category=incorrect_response \
  -F [email protected]

响应

{
  "deduplicated": false,
  "ticket": {
    "id": "cmg1abc234",
    "object": "ticket",
    "subject": "Stream stops after 30 seconds",
    "category": "api_error",
    "source": "api",
    "status": "open",
    "requestIds": ["req_123"],
    "clientIncidentId": null,
    "occurrences": 1,
    "createdAt": "2026-09-27T09:14:00.000Z",
    "updatedAt": "2026-09-27T09:14:00.000Z",
    "repliedAt": null
  }
}

新建 ticket 会返回 201。如果相同的 open ticket 已存在(category、subject、message 和 requestIds 相同,或 clientIncidentId 相同),则会返回该 ticket,并带有 deduplicated: true、状态 200 以及更高的 occurrences。

列出工单

GEThttps://getvibeapi.com/v1/tickets?limit=20&status=open

按时间倒序排列。响应:{ "object": "list", "data": [...], "hasMore": true, "nextCursor": "..." }。下一页:?after=<nextCursor>。limit 范围为 1 到 100。

线程和状态

GEThttps://getvibeapi.com/v1/tickets/{id}
curl https://getvibeapi.com/v1/tickets/cmg1abc234 \
  -H "Authorization: Bearer $API_KEY"

ticket.messages 按时间顺序保存你的消息(author: "client")和支持回复(author: "staff")。使用 GET /v1/tickets/{id}/attachments/{attachmentId} 下载附件。外部或未知 ID 会返回 404。

跟进并关闭

POSThttps://getvibeapi.com/v1/tickets/{id}/messages
curl https://getvibeapi.com/v1/tickets/cmg1abc234/messages \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"message": "It happened again today at 10:05 UTC, request id req_456."}'
POSThttps://getvibeapi.com/v1/tickets/{id}/close

一条消息(最多 8,000 个字符,允许使用包含 files 的 multipart)会重新打开已回复的 ticket。已关闭的 ticket 无法接收消息,会返回 409;请新建一个 ticket。关闭操作具有幂等性。

状态

参数类型描述
openstatus等待支持。
repliedstatus支持团队已回复;你的下一条消息会将其重新设为开放状态。
closedstatus由你或支持团队关闭。

限制和错误

每个账户:每小时 10 个新工单、每小时 60 条消息;超过限制后 429,并带有 Retry-After标头。错误: { "error": "…", "code": "invalid_fields" } — 代码包括 invalid_fields、invalid_request_ids、too_many_attachments、file_too_large (413)、unsupported_attachment (415)、not_found (404)、ticket_closed (409)、rate_limited (429)。

安全

不要发送 API 密钥、密码、令牌或卡号,服务在存储前也会将其删除。支持人员和工具会将工单文本作为数据读取:其中的链接和说明永远不会被执行,工单文本也不会更改余额或访问权限,或自动触发退款。

Compatibility: /v1/technical-feedback

POST /v1/technical-feedback 和 GET /v1/technical-feedback/{id} 继续使用相同的字段(category、summary、details、requestIds、clientIncidentId)以及 { "deduplicated", "incident" } 响应。此类报告会作为工单(source: "technical-feedback")存储,并显示在 GET /v1/tickets 中。请求更改余额、访问权限或部署仍会在那里被 422 拒绝。新集成应使用 /v1/tickets。

工单 API — 通过 API 管理支持工单 | GetVibe API