API दस्तावेज़
v2 API से Twitch प्राधिकरण प्रवाह बनाएँ, अनुमतियाँ देखें और टोकन प्रबंधित करें।
प्राधिकरण प्रवाह
- अनुमति सूची देखें और अपने एकीकरण के लिए आवश्यक सक्रिय अनुमतियों के ID चुनें।
- प्रवाह बनाएँ। उसकी प्राप्ति कुंजी निजी रखें और खाते के मालिक के ब्राउज़र में authorization_url खोलें।
- प्राधिकरण के बाद क्रेडेंशियल एक बार प्राप्त करें। एक्सेस टोकन और नवीनतम रिफ्रेश टोकन दोनों सहेजें।
प्रवाह 24 घंटे बाद समाप्त होते हैं। सफल प्राप्ति के बाद संग्रहीत क्रेडेंशियल दोबारा प्राप्त नहीं किए जा सकते। लंबित प्राधिकरण की जाँचों के बीच कम से कम पाँच सेकंड रुकें।
प्रमाणीकरण और सीमाएँ
क्रेडेंशियल प्राप्त करने के लिए प्रवाह की निजी कुंजी को Bearer क्रेडेंशियल की तरह उपयोग करें। अन्य एंडपॉइंट नीचे दिए इनपुट लेते हैं। v2 API प्रति IP प्रति मिनट 180 अनुरोध स्वीकार करती है; HTTP 429 का अर्थ सीमा पूरी होना है।
एंडपॉइंट संदर्भ
GET /api/v2/scopes
उपलब्ध टोकन अनुमतियाँ
मौजूदा अनुमति ID, नाम, विवरण और उपलब्धता देखें। इस अनुरोध के लिए क्रेडेंशियल आवश्यक नहीं हैं।
पैरामीटर
include_sensitiveवैकल्पिकboolean· क्वेरीसूची में संवेदनशील चिह्नित अनुमतियाँ शामिल करें।
प्रतिक्रिया
HTTP 200- सफल प्रतिक्रिया
application/jsonउदाहरण प्रतिक्रिया
{ "scopes": [ { "active": true, "api_set": "helix", "description": "View live Stream Chat and Rooms messages.", "id": 28, "scope": "chat:read", "secret": false } ], "success": true } HTTP 429- अनुरोध सीमा पूरी हुई
application/jsonउदाहरण प्रतिक्रिया
{ "message": "rate limit exceeded", "success": false } HTTP 503- सेवा अस्थायी रूप से उपलब्ध नहीं है
application/jsonउदाहरण प्रतिक्रिया
{ "message": "service temporarily unavailable", "success": false }
POST /api/v2/workflows
प्राधिकरण प्रवाह बनाएँ
TTG के साझा Twitch ऐप में 24 घंटे का प्रवाह बनाता है। प्रतिक्रिया में सार्वजनिक प्राधिकरण URL और निजी प्राप्ति कुंजी अलग होती हैं।
पैरामीटर
ai_agentवैकल्पिकstring· बॉडीवैकल्पिक AI क्लाइंट नाम, नियंत्रण अक्षरों के बिना अधिकतम 64 UTF-8 बाइट। यह स्रोत पहचानने के लिए है, प्रमाणीकरण के लिए नहीं।
is_aiवैकल्पिकboolean· बॉडीप्रवाह को AI-सहायता प्राप्त चिह्नित करें।
redirect_urlवैकल्पिकstring· बॉडीप्राधिकरण के बाद वैकल्पिक पूर्ण HTTP या HTTPS गंतव्य। URL में क्रेडेंशियल नहीं होने चाहिए।
scope_idsवैकल्पिकarray· बॉडीसूची के संख्यात्मक ID। सक्रिय अनुमतियाँ चुनें; अधिकतम 150 अलग अनुमतियाँ।
titleवैकल्पिकstring· बॉडीऐप का नाम, अधिकतम 500 UTF-8 बाइट।
JSON अनुरोध बॉडी
{
"scope_ids": [
28,
29
],
"title": "Example integration"
}
प्रतिक्रिया
HTTP 201- बनाया गया
application/jsonउदाहरण प्रतिक्रिया
{ "authorization_url": "https://twitchtokengenerator.com/api/example0000000000000", "expires_at": "2030-01-01T12:00:00Z", "id": "example0000000000000", "retrieval_key": "example000000000000000000000000000000000", "status_url": "https://twitchtokengenerator.com/api/v2/workflows/example0000000000000", "success": true } HTTP 400- अमान्य अनुरोध
application/jsonउदाहरण प्रतिक्रिया
{ "message": "invalid request", "success": false } HTTP 429- अनुरोध सीमा पूरी हुई
application/jsonउदाहरण प्रतिक्रिया
{ "message": "rate limit exceeded", "success": false } HTTP 500- अनुरोध संसाधित नहीं हो सका
application/jsonउदाहरण प्रतिक्रिया
{ "message": "unable to process request", "success": false }
GET /api/v2/workflows/{id}
प्रवाह के क्रेडेंशियल प्राप्त करें
प्राधिकरण के बाद क्रेडेंशियल एक बार लौटाता है। प्रवाह की कुंजी को Bearer क्रेडेंशियल के रूप में भेजें। सफल प्राप्ति के बाद संग्रहीत क्रेडेंशियल दोबारा नहीं मिलते।
पैरामीटर
idआवश्यकstring· पथप्रवाह बनाते समय लौटाया गया उसका ID।
Authorizationआवश्यकBearer· हेडरप्रवाह बनाते समय लौटाई गई निजी प्राप्ति कुंजी। इसे सार्वजनिक लिंक में शामिल न करें।
प्रतिक्रिया
HTTP 200- सफल प्रतिक्रिया
application/jsonउदाहरण प्रतिक्रिया
{ "access_token": "EXAMPLE_ACCESS_TOKEN", "client_id": "EXAMPLE_CLIENT_ID", "refresh_token": "EXAMPLE_REFRESH_TOKEN", "scopes": [ "chat:read", "chat:edit" ], "status": "authorized", "success": true, "user_id": "123456789", "username": "exampleuser" } HTTP 202- प्राधिकरण अभी लंबित है
application/jsonउदाहरण प्रतिक्रिया
{ "expires_at": "2030-01-01T12:00:00Z", "status": "pending", "success": false } HTTP 401- अमान्य टोकन या प्राप्ति कुंजी
application/jsonउदाहरण प्रतिक्रिया
{ "message": "invalid retrieval key", "success": false } HTTP 404- प्रवाह नहीं मिला
application/jsonउदाहरण प्रतिक्रिया
{ "message": "workflow not found", "success": false } HTTP 410- क्रेडेंशियल समाप्त हो गए या पहले ही प्राप्त किए जा चुके हैं
application/jsonउदाहरण प्रतिक्रिया
{ "message": "workflow credentials are no longer available", "status": "expired", "success": false } HTTP 429- अनुरोध सीमा पूरी हुई
application/jsonउदाहरण प्रतिक्रिया
{ "message": "rate limit exceeded", "success": false } HTTP 500- अनुरोध संसाधित नहीं हो सका
application/jsonउदाहरण प्रतिक्रिया
{ "message": "unable to process request", "success": false } HTTP 503- सेवा अस्थायी रूप से उपलब्ध नहीं है
application/jsonउदाहरण प्रतिक्रिया
{ "message": "service temporarily unavailable", "success": false }
GET /api/v2/ai/workflows/create
GET से AI प्रवाह बनाएँ
केवल URL पढ़ सकने वाले क्लाइंट के लिए GET विकल्प। अनुमति नामों से प्रवाह बनाता है और निजी प्राप्ति URL लौटाता है। JSON प्रतिक्रिया text/plain के रूप में मिलती है।
पैरामीटर
scopesआवश्यकstring· क्वेरीअल्पविराम से अलग अनुमति नाम। पैरामीटर मौजूद होना चाहिए; खाली मान किसी अनुमति का अनुरोध नहीं करता।
ai_agentवैकल्पिकstring· क्वेरीवैकल्पिक AI क्लाइंट नाम, नियंत्रण अक्षरों के बिना अधिकतम 64 UTF-8 बाइट। यह स्रोत पहचानने के लिए है, प्रमाणीकरण के लिए नहीं।
nonceवैकल्पिकstring· क्वेरीकैश से बचने का वैकल्पिक मान, अधिकतम 128 UTF-8 बाइट। यह आइडेम्पोटेंसी कुंजी नहीं है।
प्रतिक्रिया
HTTP 200- सफल प्रतिक्रिया
text/plainउदाहरण प्रतिक्रिया
{ "authorization_url": "https://twitchtokengenerator.com/api/example0000000000000", "expires_at": "2030-01-01T12:00:00Z", "id": "example0000000000000", "retrieval_notice": "Keep retrieval_url private: it grants one-time access to the generated credentials. Give the user only authorization_url. Retrieve after they finish authorizing.", "retrieval_url": "https://twitchtokengenerator.com/api/v2/ai/workflows/example0000000000000/example000000000000000000000000000000000", "success": true } HTTP 400- अमान्य अनुरोध
text/plainउदाहरण प्रतिक्रिया
{ "message": "invalid request", "success": false } HTTP 429- अनुरोध सीमा पूरी हुई
text/plainउदाहरण प्रतिक्रिया
{ "message": "rate limit exceeded", "success": false } HTTP 500- अनुरोध संसाधित नहीं हो सका
text/plainउदाहरण प्रतिक्रिया
{ "message": "unable to process request", "success": false }
GET /api/v2/ai/workflows/{id}/{key}
GET से AI क्रेडेंशियल प्राप्त करें
URL में प्राप्ति कुंजी वाला GET विकल्प। JSON प्रतिक्रिया text/plain के रूप में मिलती है। सफल प्राप्ति के बाद संग्रहीत क्रेडेंशियल दोबारा नहीं मिलते।
पैरामीटर
idआवश्यकstring· पथप्रवाह बनाते समय लौटाया गया उसका ID।
keyआवश्यकstring· पथप्रवाह बनाते समय लौटाई गई निजी प्राप्ति कुंजी। इसे सार्वजनिक लिंक में शामिल न करें।
प्रतिक्रिया
HTTP 200- सफल प्रतिक्रिया
text/plainउदाहरण प्रतिक्रिया
{ "access_token": "EXAMPLE_ACCESS_TOKEN", "client_id": "EXAMPLE_CLIENT_ID", "refresh_token": "EXAMPLE_REFRESH_TOKEN", "scopes": [ "chat:read", "chat:edit" ], "status": "authorized", "success": true, "user_id": "123456789", "username": "exampleuser" } HTTP 202- प्राधिकरण अभी लंबित है
text/plainउदाहरण प्रतिक्रिया
{ "expires_at": "2030-01-01T12:00:00Z", "status": "pending", "success": false } HTTP 401- अमान्य टोकन या प्राप्ति कुंजी
text/plainउदाहरण प्रतिक्रिया
{ "message": "invalid retrieval key", "success": false } HTTP 404- प्रवाह नहीं मिला
text/plainउदाहरण प्रतिक्रिया
{ "message": "workflow not found", "success": false } HTTP 410- क्रेडेंशियल समाप्त हो गए या पहले ही प्राप्त किए जा चुके हैं
text/plainउदाहरण प्रतिक्रिया
{ "message": "workflow credentials are no longer available", "status": "expired", "success": false } HTTP 429- अनुरोध सीमा पूरी हुई
text/plainउदाहरण प्रतिक्रिया
{ "message": "rate limit exceeded", "success": false } HTTP 500- अनुरोध संसाधित नहीं हो सका
text/plainउदाहरण प्रतिक्रिया
{ "message": "unable to process request", "success": false } HTTP 503- सेवा अस्थायी रूप से उपलब्ध नहीं है
text/plainउदाहरण प्रतिक्रिया
{ "message": "service temporarily unavailable", "success": false }
POST /api/v2/tokens/refresh
एक्सेस टोकन रिफ़्रेश करें
रिफ्रेश टोकन से एक्सेस टोकन नवीनीकृत करता है। अपने Twitch ऐप के टोकन के लिए client_id और client_secret दोनों दें।
पैरामीटर
client_idवैकल्पिकstring· बॉडीTwitch ऐप का क्लाइंट ID। TTG का साझा ऐप उपयोग करने के लिए इसे छोड़ दें।
client_secretवैकल्पिकstring· बॉडीTwitch ऐप का क्लाइंट सीक्रेट। रिफ्रेश अनुरोध में इसे client_id के साथ दें।
refresh_tokenआवश्यकstring· बॉडीखाते और Twitch ऐप का नवीनतम रिफ्रेश टोकन।
JSON अनुरोध बॉडी
{
"refresh_token": "EXAMPLE_REFRESH_TOKEN"
}
प्रतिक्रिया
HTTP 200- सफल प्रतिक्रिया
application/jsonउदाहरण प्रतिक्रिया
{ "access_token": "EXAMPLE_ACCESS_TOKEN", "client_id": "EXAMPLE_CLIENT_ID", "expires_in": 3600, "refresh_token": "EXAMPLE_REFRESH_TOKEN", "scopes": [ "chat:read", "chat:edit" ], "success": true } HTTP 400- अमान्य अनुरोध
application/jsonउदाहरण प्रतिक्रिया
{ "message": "invalid request", "success": false } HTTP 429- अनुरोध सीमा पूरी हुई
application/jsonउदाहरण प्रतिक्रिया
{ "message": "rate limit exceeded", "success": false } HTTP 502- Twitch अनुरोध विफल हुआ
application/jsonउदाहरण प्रतिक्रिया
{ "message": "Twitch request failed", "success": false }
POST /api/v2/tokens/revoke
अपना एक्सेस टोकन रद्द करें
दिए गए एक्सेस टोकन को अमान्य करता है। यदि उसका ऐप TTG के साझा ऐप से अलग है तो उसका client_id दें।
पैरामीटर
access_tokenआवश्यकstring· बॉडीदेखने या रद्द करने वाला Twitch एक्सेस टोकन, oauth: उपसर्ग के बिना।
client_idवैकल्पिकstring· बॉडीTwitch ऐप का क्लाइंट ID। TTG का साझा ऐप उपयोग करने के लिए इसे छोड़ दें।
JSON अनुरोध बॉडी
{
"access_token": "EXAMPLE_ACCESS_TOKEN"
}
प्रतिक्रिया
HTTP 200- सफल प्रतिक्रिया
application/jsonउदाहरण प्रतिक्रिया
{ "success": true } HTTP 400- अमान्य अनुरोध
application/jsonउदाहरण प्रतिक्रिया
{ "message": "invalid request", "success": false } HTTP 429- अनुरोध सीमा पूरी हुई
application/jsonउदाहरण प्रतिक्रिया
{ "message": "rate limit exceeded", "success": false } HTTP 502- Twitch अनुरोध विफल हुआ
application/jsonउदाहरण प्रतिक्रिया
{ "message": "Twitch request failed", "success": false }
POST /api/v2/tokens/validate
टोकन की जाँच करें
टोकन का खाता, ऐप, मिली अनुमतियाँ और बचा हुआ वैधता समय दिखाता है।
पैरामीटर
access_tokenआवश्यकstring· बॉडीदेखने या रद्द करने वाला Twitch एक्सेस टोकन, oauth: उपसर्ग के बिना।
JSON अनुरोध बॉडी
{
"access_token": "EXAMPLE_ACCESS_TOKEN"
}
प्रतिक्रिया
HTTP 200- सफल प्रतिक्रिया
application/jsonउदाहरण प्रतिक्रिया
{ "client_id": "EXAMPLE_CLIENT_ID", "expires_in": 3600, "scope_details": [ { "active": true, "api_set": "helix", "description": "View live Stream Chat and Rooms messages.", "id": 28, "scope": "chat:read", "secret": false } ], "scopes": [ "chat:read" ], "success": true, "user_id": "123456789", "username": "exampleuser" } HTTP 400- अमान्य अनुरोध
application/jsonउदाहरण प्रतिक्रिया
{ "message": "invalid request", "success": false } HTTP 401- अमान्य टोकन या प्राप्ति कुंजी
application/jsonउदाहरण प्रतिक्रिया
{ "message": "invalid retrieval key", "success": false } HTTP 429- अनुरोध सीमा पूरी हुई
application/jsonउदाहरण प्रतिक्रिया
{ "message": "rate limit exceeded", "success": false } HTTP 502- Twitch अनुरोध विफल हुआ
application/jsonउदाहरण प्रतिक्रिया
{ "message": "Twitch request failed", "success": false }
POST /api/v2/quick-links
क्विक लिंक जनरेटर
चुनी अनुमति ID से दोबारा उपयोग योग्य लिंक बनाता है। auth=stay जनरेटर खोलता है; auth=authorize Twitch प्राधिकरण शुरू करता है।
पैरामीटर
authवैकल्पिकstring· बॉडीstay जनरेटर खोलता है। authorize और संगतता उपनाम auth_auth तुरंत प्राधिकरण शुरू करते हैं।
scope_idsवैकल्पिकarray· बॉडीसूची के संख्यात्मक ID। सक्रिय अनुमतियाँ चुनें; अधिकतम 150 अलग अनुमतियाँ।
JSON अनुरोध बॉडी
{
"auth": "stay",
"scope_ids": [
28,
29
]
}
प्रतिक्रिया
HTTP 201- बनाया गया
application/jsonउदाहरण प्रतिक्रिया
{ "id": "example000", "success": true, "url": "https://twitchtokengenerator.com/quick/example000" } HTTP 400- अमान्य अनुरोध
application/jsonउदाहरण प्रतिक्रिया
{ "message": "invalid request", "success": false } HTTP 429- अनुरोध सीमा पूरी हुई
application/jsonउदाहरण प्रतिक्रिया
{ "message": "rate limit exceeded", "success": false } HTTP 500- अनुरोध संसाधित नहीं हो सका
application/jsonउदाहरण प्रतिक्रिया
{ "message": "unable to process request", "success": false }
POST /api/v2/token-requests
उपयोगकर्ता से टोकन माँगें
प्राधिकरण अनुरोध लिंक बनाता है। खाते का मालिक प्राधिकरण पूरा करने पर क्रेडेंशियल my_email पर भेजे जाते हैं।
पैरामीटर
my_emailआवश्यकstring· बॉडीअनुरोध पूरा होने पर क्रेडेंशियल प्राप्त करने वाला ईमेल पता।
my_nameआवश्यकstring· बॉडीअनुरोधकर्ता का नाम, अधिकतम 128 UTF-8 बाइट।
scope_idsवैकल्पिकarray· बॉडीसूची के संख्यात्मक ID। सक्रिय अनुमतियाँ चुनें; अधिकतम 150 अलग अनुमतियाँ।
JSON अनुरोध बॉडी
{
"my_email": "developer@example.com",
"my_name": "Example developer",
"scope_ids": [
28,
29
]
}
प्रतिक्रिया
HTTP 201- बनाया गया
application/jsonउदाहरण प्रतिक्रिया
{ "id": "example-request", "success": true, "url": "https://twitchtokengenerator.com/request/example-request" } HTTP 400- अमान्य अनुरोध
application/jsonउदाहरण प्रतिक्रिया
{ "message": "invalid request", "success": false } HTTP 429- अनुरोध सीमा पूरी हुई
application/jsonउदाहरण प्रतिक्रिया
{ "message": "rate limit exceeded", "success": false }
पुरानी API के साथ संगतता
मौजूदा /api/ रूट समर्थित हैं। नए एकीकरण के लिए v2 एंडपॉइंट उपयोग करें; प्रतिक्रिया प्रारूप और प्राप्ति का प्रमाणीकरण अलग हैं।
| पुराना रूट | v2 विकल्प |
|---|---|
GET /api/scopes/{type} | GET /api/v2/scopes |
GET /api/create/{title}/{scopes} | POST /api/v2/workflows |
GET /api/status/{id} | GET /api/v2/workflows/{id} |
GET /api/forgot/{token} | POST /api/v2/tokens/validate |
GET /api/refresh/{token} | POST /api/v2/tokens/refresh |
GET /api/revoke/{token} | POST /api/v2/tokens/revoke |