API के ज़रिए सपोर्ट tickets
POST /v1/tickets — API key से support ticket खोलें, thread पढ़ें, follow up करें और उसे बंद करें: fields, attachments, statuses, limits और /v1/technical-feedback के साथ compatibility.
Tickets API ही एकमात्र support channel है: API पर खोला गया ticket dashboard में दिखता है और इसका उल्टा भी। API key (Authorization: Bearer या X-API-Key) या dashboard session से authenticate करें। आपको हमेशा केवल अपने ही tickets दिखते हैं।
ticket खोलें
| Parameter | Type | विवरण |
|---|---|---|
subject | string | आवश्यक: 3 से 200 characters। |
message | string | आवश्यक: 10 से 8,000 characters। |
category | string | api_error, performance, incorrect_response, integration, feature_request, other, billing, account या general (default)। |
requestIds | string[] | वैकल्पिक, आपके account से अधिकतम 10 request IDs (x-request-id response header)। |
clientIncidentId | string | आपकी ओर से वैकल्पिक stable series ID: उसी ID वाला खुला ticket दोबारा इस्तेमाल होता है। |
files | file[] | केवल multipart/form-data: अधिकतम 5 PNG, JPEG, GIF या WebP images, प्रत्येक 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"]
}'Screenshot के साथ — 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]Response
{
"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, status 200 और अधिक occurrences के साथ लौटाया जाता है।
Tickets की सूची
नवीनतम पहले। Response: { "object": "list", "data": [...], "hasMore": true, "nextCursor": "..." }। अगला पृष्ठ: ?after=<nextCursor>। limit 1 से 100 तक है।
Thread और status
curl https://getvibeapi.com/v1/tickets/cmg1abc234 \
-H "Authorization: Bearer $API_KEY"ticket.messages आपके messages (author: "client") और support replies (author: "staff") को समय के क्रम में रखता है। Attachments GET /v1/tickets/{id}/attachments/{attachmentId} से download करें। कोई foreign या unknown ID 404 return करता है।
Follow up करें और बंद करें
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."}'एक message (अधिकतम 8,000 characters, files के साथ multipart की अनुमति) किसी replied ticket को फिर से खोलता है। बंद ticket messages नहीं ले सकता — यह 409 लौटाता है; नया ticket खोलें। Closing idempotent है।
Statuses
| Parameter | Type | विवरण |
|---|---|---|
open | status | support की प्रतीक्षा में। |
replied | status | सपोर्ट ने जवाब दिया; आपका अगला message इसे वापस open पर सेट कर देगा। |
closed | status | आपके या support के ज़रिए बंद किया गया। |
सीमाएँ और errors
प्रति account: 10 नए tickets प्रति घंटा और 60 messages प्रति घंटा; उससे आगे 429 एक Retry-After header के साथ। Errors: { "error": "…", "code": "invalid_fields" } — codes invalid_fields, invalid_request_ids, too_many_attachments, file_too_large (413), unsupported_attachment (415), not_found (404), ticket_closed (409), rate_limited (429).
Security
Compatibility: /v1/technical-feedback
POST /v1/technical-feedback और GET /v1/technical-feedback/{id} उन्हीं fields के साथ काम करते रहते हैं (category, summary, details, requestIds, clientIncidentId) और { "deduplicated", "incident" } response के साथ। ऐसी report एक ticket (source: "technical-feedback") के रूप में संग्रहीत होती है और GET /v1/tickets में दिखाई देती है। balance, access या deployments बदलने के requests वहाँ अब भी 422 के साथ अस्वीकार किए जाते हैं। नए integrations को /v1/tickets इस्तेमाल करना चाहिए।