डेवलपर दस्तावेज़
सुरक्षा और डेटा
API keys और permissions सुरक्षित रूप से प्रबंधित करें और समझें कि हर integration किन नोट्स तक पहुंच सकती है।
API key प्रबंधन
- API keys (
alt_live_...) बनाते समय सिर्फ़ एक बार दिखती हैं। हम secret का सिर्फ़ keyed hash सेव करते हैं, इसलिए उसे दोबारा दिखाया नहीं जा सकता — खो जाए तो नई key जारी करनी होगी। - Webhook signing secrets (
whsec_...) भी सिर्फ़ एक बार दिखते हैं। इन्हें एन्क्रिप्टेड (AES-256-GCM) सेव किया जाता है और सिर्फ़ आउटगोइंग deliveries साइन करने के लिए डिक्रिप्ट किया जाता है — दोबारा कभी नहीं दिखाया जाता। बदलने के लिए endpoint फिर से बनाएं; इससे नया secret जारी होता है। - keys को secret manager में रखें। इन्हें क्लाइंट-साइड कोड, मोबाइल ऐप या रिपॉज़िटरी में कभी न डालें।
- Rotation कंसोल से करें: उसी integration पर नई key जारी करें, अपने सिस्टम नई key पर शिफ़्ट करें, फिर पुरानी key revoke कर दें। Revocation तुरंत लागू होता है।
- key बनाते समय चाहें तो expiration सेट कर सकते हैं; एक्सपायर हो चुकी keys अपने आप अस्वीकार कर दी जाती हैं।
- हर सिस्टम के लिए अलग key रखें। staging और production अलग रखें, ताकि एक को revoke करने से दूसरा न रुके।
- कोई sandbox या test mode नहीं है — जारी की गई हर key लाइव होती है और असली नोट्स पढ़ती है। staging और production के लिए अलग-अलग integration इस्तेमाल करें; और असली रिकॉर्डिंग का इंतज़ार किए बिना अपना receiver जाँचना हो, तो endpoint बनाते समय भेजे जाने वाले verification इवेंट का या कंसोल में "Send test" का सहारा लें।
हर integration के लिए उपलब्ध डेटा
- पर्सनल integration को सिर्फ़ मालिक के पर्सनल नोट्स दिखते हैं। teamspace integration को सिर्फ़ उस teamspace में शेयर किए गए नोट्स दिखते हैं — सदस्यों के पर्सनल नोट्स कभी नहीं।
- Teamspace integration सिर्फ़ teamspace का मालिक ही बना सकता है।
- credential की scope से बाहर के नोट्स
404लौटाते हैं — API यह तक नहीं बताता कि वे मौजूद हैं या नहीं। - जब कोई नोट आपकी scope से बाहर जाता है, तो आपको
note.deleted (reason: access_lost)मिलता है और वह नोट आपकी लिस्टिंग से गायब हो जाता है। अपनी सेव की हुई कॉपी हटा दें या उस तक पहुँच बंद कर दें।
अनुमति-क्षेत्र (scopes)
| अनुमति-क्षेत्र | क्या अनुमति मिलती है |
|---|---|
| notes:read | नोट्स लिस्ट करना और नोट का metadata पढ़ना। |
| transcripts:read | ट्रांसक्रिप्ट टेक्स्ट और speaker segments पढ़ना। |
| summaries:read | सारांश (Markdown) पढ़ना। |
| webhooks:manage | पब्लिक API से webhook endpoints बनाना, अपडेट करना, डिलीट करना और टेस्ट करना। |
कनेक्शन को केवल ज़रूरी अनुमति-क्षेत्र दें। API key को न दी गई अनुमति मांगने वाली request 403 insufficient_scope के साथ विफल होती है।
API request limits
- प्रति key प्रति मिनट 120 requests। इससे ज़्यादा पर
Retry-Afterहेडर के साथ429 rate_limitedमिलता है — कम से कम उतनी देर रुककर दोबारा कोशिश करें। - छोटे-छोटे अंतराल पर polling करने के बजाय webhooks और incremental sync (
updated_after) इस्तेमाल करें। - नोट, ट्रांसक्रिप्ट और सारांश पढ़ते समय
ETag/If-None-Matchका उपयोग करें —304रिस्पॉन्स दोनों तरफ़ सस्ते पड़ते हैं।
प्राइवेसी
- ट्रांसक्रिप्ट और सारांश यूज़र कंटेंट हैं और उनमें निजी जानकारी हो सकती है। अपने integration के लिए जितना ज़रूरी हो उतना ही लाएं, और जो सेव करें उसे सुरक्षित रखें।
- नोट के हटने को अपने सिस्टम में भी लागू करें।
note.deletedमिलने पर कारण चाहे जो हो, सेव की हुई कॉपी हटा दें या उस तक पहुंच बंद कर दें। छूटे इवेंट पकड़ने के लिए समय-समय पर पूरी नोट सूची भी जांचें। - Webhook URL पब्लिक HTTPS endpoints होने चाहिए। प्राइवेट, loopback और cloud-metadata पते अस्वीकार कर दिए जाते हैं, और redirect फ़ॉलो नहीं किए जाते।
- API एक्सेस के लिए integration के workspace पर एक्टिव सब्सक्रिप्शन ज़रूरी है; इसके बिना अनुरोध
403 plan_requiredके साथ विफल होते हैं। - Alt खुद यूज़र डेटा कैसे संभालता है, यह जानने के लिए हमारी प्राइवेसी पॉलिसी देखें।