テーマ
言語

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(デフォルト)。
requestIdsstring[]省略可能。お客様のアカウントのリクエスト ID を最大 10 件まで指定できます (x-request-id レスポンスヘッダー)。
clientIncidentIdstringお客様側で任意に指定できる安定したシリーズ ID: 同じ ID の未クローズチケットは再利用されます。
filesfile[]multipart/form-data のみ: PNG、JPEG、GIF、WebP を最大 5 枚、各 10 MB、チケットあたり 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
  }
}

新しいチケットは 201 を返します。同じ開いているチケットがすでに存在する場合(同じカテゴリ、件名、メッセージ、requestIds、または同じ clientIncidentId)、そのチケットが 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 や不明な 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 が可能)は、返信済みのチケットを再オープンします。クローズされたチケットはメッセージを受け付けません — 409 を返します。新しいチケットを開いてください。クローズは冪等です。

ステータス

パラメータータイプ説明
openstatusサポートを待っています。
repliedstatusサポートが返信しました。次にメッセージを送るとステータスが open に戻ります。
closedstatusあなたまたはサポートによってクローズされました。

制限とエラー

アカウントごと: 1 時間あたり新規チケット 10 件、1 時間あたりメッセージ 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 を使用してください。

Tickets API — API経由のサポートチケット | GetVibe API