SpeakNotes API प्रमाणीकरण
API तीन क्रेडेंशियल स्वीकार करता है: एक API कुंजी, एक OAuth एक्सेस टोकन, या साइन-इन सत्र से एक Firebase ID टोकन।
API कुंजियाँ
कुंजी को प्रत्येक अनुरोध पर बेयरर टोकन के रूप में भेजें। कोई भी साइन-इन खाता इसे बना सकता है, और यह तुरंत काम करता है।
curl https://api.speaknotes.io/v1/notes \ -H "Authorization: Bearer sn_live_YOUR_API_KEY"
लाइव कुंजियाँ sn_live_ से शुरू होती हैं और आपकी वास्तविक लाइब्रेरी पर काम करती हैं। सैंडबॉक्स कुंजियाँ sn_test_ से शुरू होती हैं और फिक्स्ड आउटपुट के खिलाफ चलती हैं। स्कोप के अस्तित्व में आने से पहले जारी की गई कुंजियाँ अभी भी काम करती हैं और पूर्ण एक्सेस प्रदान करती हैं।
स्कोप
प्रत्येक कुंजी और प्रत्येक OAuth टोकन में स्कोप होते हैं। पढ़ने का मतलब कभी भी लिखना नहीं होता है, इसलिए notes:read तक सीमित कुंजी कुछ भी हटा नहीं सकती है। स्कोप की कमी वाले अनुरोध को 403 त्रुटि मिलती है जो बताती है कि क्या गायब है।
notes:readRead notes, transcripts, and summaries.notes:writeCreate, update, and delete notes.folders:readRead folders.folders:writeCreate, update, and delete folders.transcriptions:writeTranscribe audio and video.summaries:writeGenerate summaries from audio, text, and YouTube URLs.usage:readRead credit balance and usage history.
रेट लिमिट्स
सीमाओं की गणना प्रति क्रेडेंशियल की जाती है, न कि प्रति IP, इसलिए एक एकीकरण दूसरे को प्रभावित नहीं कर सकता। प्रत्येक प्रतिक्रिया में X-RateLimit-Limit, X-RateLimit-Remaining, और X-RateLimit-Reset शामिल होते हैं, और 429 त्रुटि में Retry-After शामिल होता है।
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="SpeakNotes API", error="invalid_token",
resource_metadata="https://api.speaknotes.io/.well-known/oauth-protected-resource"
{
"error": {
"type": "authentication_error",
"code": "invalid_token",
"message": "The API key is invalid, expired, or revoked.",
"doc_url": "https://speaknotes.io/developers/errors#invalid_token"
}
}OAuth
क्या आप कुछ ऐसा बना रहे हैं जिसमें अन्य SpeakNotes उपयोगकर्ता साइन इन करते हैं? उन्हें कुंजी पेस्ट करने के लिए कहने के बजाय OAuth का उपयोग करें। /developers/oauth
रोटेटिंग और रिवोकिंग
एक कुंजी निर्माण के समय केवल एक बार दिखाई जाती है, और केवल हैश के रूप में संग्रहीत की जाती है। इसे रद्द करना तुरंत प्रभावी हो जाता है। कुंजियों को बनाते समय उन्हें समाप्ति तिथि भी दी जा सकती है।