POST/v1/cards/archive
दस्तावेज़ों का आर्काइव अपलोड करें
upload_card_archive
multipart/form-data फ़ॉर्म के file फ़ील्ड में ZIP आर्काइव भेजें। अंदर की हर सपोर्ट होने वाली फ़ाइल एक अलग दस्तावेज़ बनती है, जैसे एक-एक अपलोड (POST /v1/cards) में। ASiC सिग्नेचर कंटेनर (.asice, .sce, .bdoc, .asics) भी आर्काइव हैं: उनकी डेटा फ़ाइलें दस्तावेज़ बनती हैं, META-INF/ छोड़ दिया जाता है, और सिग्नेचर नहीं जाँचा जाता। फ़ॉर्म के फ़ील्ड फ़ाइल अपलोड वाले ही हैं (कलेक्शन, टैग, ज़िम्मेदार व्यक्ति, कैटेगरी, संवेदनशीलता), प्रीव्यू के बिना।
आर्काइव सिग्नेचर से जाँचा जाता है (नाम बदला गया Office दस्तावेज़ आर्काइव नहीं माना जाता और 415 files.type_mismatch लौटाता है), इंस्टॉलेशन की अपलोड सीमा लागू होती है, और एंटीवायरस स्कैनिंग पूरे आर्काइव को कवर करती है।
विषय-सूची सिंक्रोनस रूप से जाँची जाती है। रिस्पॉन्स में प्लान (कौन-सी फ़ाइलें दस्तावेज़ बनती हैं, कौन-सी छोड़ी जाती हैं और क्यों) और निकालने का जॉब (job_id, batch_id) होता है। जॉब अंदर के आर्काइव खोलता है (डिफ़ॉल्ट रूप से 3 स्तर तक), हर दस्तावेज़ को सिग्नेचर और एंटीवायरस से जाँचता है, और उसे उसी batch_id के साथ सामान्य इंडेक्सिंग की कतार में लगाता है (दस्तावेज़ों की प्रगति: GET /v1/jobs?batch=)। नतीजा GET /v1/archives/{job_id} से मिलता है।
सीमाएँ (इंस्टॉलेशन के डिफ़ॉल्ट): पूरे ट्री में 1000 फ़ाइलों तक (ज़्यादा होने पर 413 cards.archive_too_many_files), खोलने के बाद 2048 MB तक (ज़्यादा होने पर 413 cards.archive_too_large) और प्लान के तहत संगठन के बचे स्टोरेज से ज़्यादा नहीं (402 limits.storage), अंदर की हर फ़ाइल के लिए प्रति फ़ाइल अपलोड सीमा, और हर एंट्री के लिए कम्प्रेशन अनुपात ज़्यादा से ज़्यादा 100:1। “..”, एब्सोल्यूट पाथ या ड्राइव अक्षर वाली एंट्री, सिम्बॉलिक लिंक, एन्क्रिप्टेड एंट्री और सपोर्ट न होने वाले फ़ॉर्मेट कारण के साथ छोड़ दिए जाते हैं (skipped[].reason)। OS की सिस्टम फ़ाइलें, डायरेक्टरी और ख़ाली फ़ाइलें चुपचाप छोड़ दी जाती हैं (ignored)। जो नाम UTF-8 में नहीं हैं, वे cp866 या cp1251 के रूप में पढ़े जाते हैं। जो फ़ाइल ZIP नहीं है, वह 400 cards.archive_invalid लौटाती है, पूरी तरह एन्क्रिप्टेड आर्काइव 400 cards.archive_encrypted, और बिना एक भी दस्तावेज़ वाला आर्काइव 400 cards.archive_empty।
हर दस्तावेज़ अपना आर्काइव याद रखता है: CardVersion.archive और Card.source_archive (कार्ड अपने मौजूदा वर्शन का आर्काइव दिखाता है)।
फ़ॉर्म की जगह आप application/json बॉडी (ArchiveUploadFromUpload, 1.62.0 से) भेज सकते हैं: आर्काइव एक तैयार मल्टीपार्ट अपलोड upload_id है (archive उद्देश्य), फ़ील्ड फ़ॉर्म वाले ही हैं, और tags स्ट्रिंग की सूची है। आर्काइव complete पर पहले ही जाँचा जा चुका है, और आकार की सीमा एक रिक्वेस्ट वाले अपलोड की सीमा नहीं, बल्कि मल्टीपार्ट अपलोड की सीमा है। अपलोड एक बार इस्तेमाल होता है, उसी ट्रांज़ैक्शन में, जो निकालने के जॉब को कतार में लगाता है; अपलोड के एरर कोड POST /v1/cards वाले ही हैं।
ऑथेंटिकेशन
Authorization हेडर में API कुंजी भेजें: Authorization: Bearer <कुंजी>।
हेडर पैरामीटर
Idempotency-Keystringलिखने वाली रिक्वेस्ट के सुरक्षित रीट्राई के लिए कुंजी: 1 से 255 प्रिंट होने वाले ASCII कैरेक्टर; हर लॉजिकल ऑपरेशन के लिए एक UUID v4 की सलाह दी जाती है। उसी कुंजी के साथ 24 घंटे के अंदर रीट्राई ऑपरेशन को दोबारा नहीं चलाता: वह सेव किया गया रिस्पॉन्स (स्टेटस, हेडर और बॉडी)
Idempotency-Replayed: trueहेडर के साथ लौटाता है। वही कुंजी, पर अलग मेथड, पाथ,Content-Typeया बॉडी हो, तो409 api.idempotency_mismatchलौटता है; जब तक पहली रिक्वेस्ट चल रही है, तब तक409 api.idempotency_in_progressऔरRetry-After: 1। 5xx या 429 रिस्पॉन्स के बाद कुंजी छोड़ दी जाती है, और रीट्राई ऑपरेशन को फिर से चलाता है। कुंजी संगठन और कॉल करने वाले (API कुंजी, यूज़र या कस्टम स्रोत की कुंजी) के दायरे में होती है।length ≥ 1, length ≤ 255
X-View-Asstringसिर्फ़
adminरोल वाली API कुंजियों के लिए। रिक्वेस्ट को डेटा प्रोफ़ाइल<profile>[:viewer|verifier|editor]की ओर से चलाता है, जैसेemployee:viewer। इंस्टॉलेशन कुंजी इस हेडर का इस्तेमाल नहीं कर सकती (403)।
कुकी पैरामीटर
kb_view_asstringसेशन के लिए “View as” मोड की कुकी।
POST /auth/view-asइसे सेट करता है औरDELETE /auth/view-asहटाता है।
रिक्वेस्ट बॉडी
multipart/form-data
filestring (application/zip)ज़रूरीcollectionstringडिफ़ॉल्ट: "default"
tagsstringडिफ़ॉल्ट: ""
forcebooleanडिफ़ॉल्ट: false
owner_idinteger | nullverify_interval_daysinteger | nullcategorystring | nullsensitiveboolean | nullfolder_idstring | nullcollectionका वह फ़ोल्डर, जिसमें आर्काइव के सभी दस्तावेज़ रखने हैं। दूसरे कलेक्शन का फ़ोल्डर400 folders.card_collection_mismatchलौटाता है, मौजूद न होने वाला फ़ोल्डर404 folders.not_found, और फ़ोल्डर पर अनुमतिCOLLECTION_EDIT_CARDSन हो, तो403 authz.forbiddenलौटता है। यह जाँच आर्काइव सेव होने से पहले होती है। पहले से अपलोड की गई फ़ाइलों के डुप्लिकेट फ़ोल्डर में नहीं ले जाए जाते।length ≤ 64
collection_idinteger | nullID से कलेक्शन।
collectionभी दिया गया हो, तोcollection_idको प्राथमिकता मिलती है। जो कलेक्शन संगठन में मौजूद नहीं है या दिखता नहीं, उसके लिए404 collections.not_foundलौटता है।
application/json
ऑब्जेक्ट: ArchiveUploadFromUpload
upload_idstringज़रूरीउद्देश्य
archiveवाला तैयार अपलोड (ready); इसे एक ही बार इस्तेमाल किया जा सकता है।collectionstringडिफ़ॉल्ट: "default"
collection_idinteger | nullID से कलेक्शन।
collectionभी दिया जाए, तोcollection_idको प्राथमिकता मिलती है। जो कलेक्शन संगठन में नहीं है, दिखाई नहीं देता या कुंजी के कलेक्शन से बाहर है, उसके लिए404 collections.not_foundलौटता है।tagsarray of stringitems ≤ 30
forcebooleanडिफ़ॉल्ट: false
owner_idinteger | nullverify_interval_daysinteger | nullcategorystring | nullsensitiveboolean | nullfolder_idstring | nulllength ≤ 64
रिस्पॉन्स
200निकालने का प्लान और जॉब
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
Idempotency-Replayedtrueका मतलब है कि रिस्पॉन्स इसIdempotency-Keyके लिए सेव किए गए रिस्पॉन्स से दोहराया गया: ऑपरेशन दोबारा नहीं चला।
application/json
job_idintegerज़रूरीbatch_idstringज़रूरीआर्काइव के दस्तावेज़ों के इंडेक्सिंग जॉब का बैच (
GET /v1/jobs?batch=)।statusstringज़रूरीमान्य मान:
queuedplannedarray of stringज़रूरीसभी स्तरों की उन फ़ाइलों के पाथ, जो दस्तावेज़ बनेंगी, अंदर के आर्काइव की फ़ाइलें भी (
b.zip/c.pdf)।documentsintegerज़रूरीसभी स्तरों पर दस्तावेज़ों की संख्या, अंदर के आर्काइव की फ़ाइलें भी। खोलने का नतीजा जोड़ने पर इसी संख्या के बराबर होता है: बनाए गए + डुप्लिकेट + कंटेंट की जाँच में अस्वीकार किए गए (
ArchiveJob)।nested_archivesintegerज़रूरीignoredintegerज़रूरीसिस्टम एंट्री (OS की फ़ाइलें, डायरेक्टरी, ख़ाली फ़ाइलें, कंटेनर के सिग्नेचर)।
400रिक्वेस्ट अमान्य है: पैरामीटर का मान या ऑब्जेक्ट की स्थिति यह कार्रवाई करने नहीं देती (`detail` एक संदेश है)।
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
401कोई क्रेडेंशियल नहीं भेजा गया (न सेशन कुकी, न API कुंजी), या कुंजी नहीं मिली।
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
402संगठन प्लान की सीमा तक पहुँच गया है (कार्ड, स्टोरेज या यूज़र)। `error.details` में `kind`, `limit` और `used` होते हैं।
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
403कार्रवाई की अनुमति नहीं है: रोल काफ़ी नहीं है, कलेक्शन या कार्ड तक ऐक्सेस नहीं है, रिक्वेस्ट “View as” मोड में चल रही है, या संगठन निलंबित है या हटा दिया गया है (`detail` एक ऑब्जेक्ट है, जिसमें `code: org_suspended | org_deleted` है)।
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
404ऑब्जेक्ट मौजूद नहीं है या आपके लिए उपलब्ध नहीं है। API यह पुष्टि नहीं करता कि प्रतिबंधित ऑब्जेक्ट मौजूद है।
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
409ऑब्जेक्ट की स्थिति यह कार्रवाई करने नहीं देती, जैसे डुप्लिकेट, चल रही इंडेक्सिंग या पहले से प्रोसेस हो चुका जॉब।
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
410ऑब्जेक्ट मौजूद था, पर अब उपलब्ध नहीं है: लिंक इस्तेमाल हो चुका है या उसकी मियाद ख़त्म हो गई है, या रखने की अवधि ख़त्म होने पर फ़ाइल हटा दी गई है।
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
413रिक्वेस्ट बॉडी तय आकार से बड़ी है।
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
415यह फ़ाइल फ़ॉर्मेट सपोर्ट नहीं होता।
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
422वैलिडेशन एरर: बॉडी या पैरामीटर स्कीमा से मेल नहीं खाते (`detail` वैलिडेशन एरर की सूची है), या पैरामीटर का मान सीमा से बाहर है (`detail` एक संदेश है)।
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
429बहुत ज़्यादा रिक्वेस्ट (`api.rate_limited`), संगठन का मिनट, दिन या महीने का कोटा ख़त्म हो गया है (`api.quota_exceeded`; `error.details` में `quota`, `limit` और `reset_at` होते हैं), संगठन की सीमा पूरी हो गई है, या जवाब देने वाली सर्विस व्यस्त है (`answers.engine_busy`)। `Retry-After` हेडर में दिए गए समय तक इंतज़ार करें।
रिस्पॉन्स हेडर
Retry-Afterरिक्वेस्ट का रीट्राई करने से पहले कितने सेकंड इंतज़ार करना है।
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
503वह सर्विस, जिस पर यह रिक्वेस्ट निर्भर है, कुछ समय के लिए उपलब्ध नहीं है। बाद में फिर से कोशिश करें।
रिस्पॉन्स हेडर
RateLimit-Policyलागू सीमाएँ, IETF ड्राफ़्ट
draft-ietf-httpapi-ratelimit-headersके फ़ॉर्मेट में: कॉमा से अलग आइटम"<name>";q=<quota>;w=<window in seconds>।keyAPI कुंजी की रिक्वेस्ट दर है (कोटा बर्स्ट है, विंडो उसके पूरी तरह भरने का समय है; सेशन के लिए यहuserहै, बिना क्रेडेंशियल केip);minute,dayऔरmonthUTC में कैलेंडर मिनट, दिन और महीने के लिए संगठन के कोटा हैं।RateLimitRateLimit-Policyकी हर सीमा में से कितना बचा है:"<name>";r=<remaining>;t=<seconds until reset>।X-RateLimit-LimitRateLimit-Policyकी सबसे सख़्त एंट्री की सीमा (जिसमें सबसे कम रिक्वेस्ट बची हैं)।X-RateLimit-Remainingसबसे सख़्त सीमा में बची रिक्वेस्ट।
X-RateLimit-Resetसबसे सख़्त सीमा के रीसेट होने तक के सेकंड।
application/json
एरर कोड
हर रिक्वेस्ट के सामान्य कोड के अलावा वे कोड, जो यह एंडपॉइंट एरर होने पर error.code में लौटा सकता है।
- 409api.idempotency_in_progress
- 400api.idempotency_key_invalid
- 409api.idempotency_mismatch
- 401auth.not_authenticated
- 403auth.system_scope
- 403authz.forbidden
- 400cards.archive_empty
- 400cards.archive_encrypted
- 400cards.archive_invalid
- 413cards.archive_too_large
- 413cards.archive_too_many_files
- 400categories.unknown
- 400collections.invalid_name
- 403collections.no_write_access
- 404collections.not_found
- 422files.infected
- 503files.scan_unavailable
- 413files.too_large
- 415files.type_mismatch
- 400folders.card_collection_mismatch
- 404folders.not_found
- 402limits.storage
- 403org.deleted
- 403org.suspended
- 409uploads.already_used
- 410uploads.expired
- 404uploads.not_found
- 409uploads.not_ready
- 422uploads.purpose_mismatch
- 422uploads.rejected
- 400users.not_in_org
- 422validation.failed
- 403view_as.read_only
सुरक्षित रीट्राई
हर POST और PATCH के साथ Idempotency-Key हेडर भेजें (उदाहरण के लिए, UUID)। 24 घंटे के अंदर उसी कुंजी के साथ रीट्राई करने पर रिक्वेस्ट दोबारा नहीं चलती, बल्कि सेव किया गया रिस्पॉन्स लौटता है।
रेट लिमिट
रिस्पॉन्स में RateLimit और RateLimit-Policy हेडर होते हैं, और पहले वाले X-RateLimit-Limit, X-RateLimit-Remaining और X-RateLimit-Reset भी। 429 रिस्पॉन्स में Retry-After सेकंड में होता है: उतना इंतज़ार करें और रीट्राई करें।