POST/v1/apps
OAuth ऐप बनाएँ
create_app
संगठन का ऐप रजिस्टर करता है। public बिना सीक्रेट वाला क्लाइंट है (ब्राउज़र, मोबाइल ऐप, CLI): सिर्फ़ PKCE के साथ ऑथराइज़ेशन कोड। confidential सर्वर वाला क्लाइंट है: इसे सीक्रेट मिलता है और साथ ही संगठन की ओर से client credentials भी, role रोल और data_profile डेटा प्रोफ़ाइल के साथ। क्लाइंट सीक्रेट client_secret सिर्फ़ इसी रिस्पॉन्स में और रोटेशन पर लौटाया जाता है, इसलिए इसे सेव करें। एक संगठन में 50 ऐप तक हो सकते हैं। ORG_MANAGE_KEYS अनुमति चाहिए; API कुंजी या टोकन को admin स्कोप चाहिए। 1.62.0 में जोड़ा गया।
ऑथेंटिकेशन
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
रिक्वेस्ट बॉडी
application/json
namestringज़रूरीसहमति स्क्रीन के लिए नाम।
length ≥ 1, length ≤ 100
descriptionstringसहमति स्क्रीन के लिए विवरण।
length ≤ 1000
homepage_urlstringऐप की वेबसाइट (
httpयाhttps)।length ≤ 2000
redirect_urisarray of stringरीडायरेक्ट URI:
https;httpसिर्फ़localhost,127.0.0.1और[::1]के लिए; कस्टम ऐप स्कीम सिर्फ़ उलटे डोमेन के रूप में (com.example.app:/callback)। फ़्रैगमेंट नहीं। सार्वजनिक ऐप के लिए कम से कम एक URI चाहिए।items ≤ 10
वे स्कोप, जो ऐप माँग सकता है।
items ≥ 1
rolestringconfidentialऐप के client credentials टोकन का रोल:admin,editor,verifierयाviewer(डिफ़ॉल्टviewer)।data_profilestringclient credentials टोकन की डेटा प्रोफ़ाइल; डिफ़ॉल्ट रूप से वही प्रोफ़ाइल, जो नई API कुंजी की होती है।
रिस्पॉन्स
201ऐप बनाया गया।
रिस्पॉन्स हेडर
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
idstringज़रूरीऐप का ID (
app_और 32 हेक्साडेसिमल अक्षर), जोclient_idभी है।namestringज़रूरीवह नाम, जो कर्मचारी सहमति स्क्रीन पर देखता है।
descriptionstringज़रूरीसहमति स्क्रीन के लिए विवरण (ख़ाली हो सकता है)।
homepage_urlstring | nullज़रूरीऐप की वेबसाइट।
redirect_urisarray of stringज़रूरीअनुमत रीडायरेक्ट URI (स्ट्रिंग का हूबहू मिलान)।
वे स्कोप, जो ऐप माँग सकता है।
client_secret_prefixstring | nullज़रूरीक्लाइंट सीक्रेट के पहले अक्षर, उसे पहचानने के लिए; सार्वजनिक ऐप के लिए
null।rolestring | nullज़रूरीclient credentials टोकन का रोल (
admin,editor,verifier,viewer); सार्वजनिक ऐप के लिएnull।data_profilestring | nullज़रूरीclient credentials टोकन की डेटा प्रोफ़ाइल; सार्वजनिक ऐप के लिए
null।authorizationsintegerज़रूरीकर्मचारियों के सक्रिय ऑथराइज़ेशन की संख्या।
created_atstring (date-time)ज़रूरीupdated_atstring (date-time)ज़रूरीclient_secretstring | nullज़रूरीक्लाइंट सीक्रेट (
kbcs_…), एक बार दिखाया जाता है; सार्वजनिक ऐप के लिएnull।
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
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
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
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
एरर कोड
हर रिक्वेस्ट के सामान्य कोड के अलावा वे कोड, जो यह एंडपॉइंट एरर होने पर error.code में लौटा सकता है।
सुरक्षित रीट्राई
हर POST और PATCH के साथ Idempotency-Key हेडर भेजें (उदाहरण के लिए, UUID)। 24 घंटे के अंदर उसी कुंजी के साथ रीट्राई करने पर रिक्वेस्ट दोबारा नहीं चलती, बल्कि सेव किया गया रिस्पॉन्स लौटता है।
रेट लिमिट
रिस्पॉन्स में RateLimit और RateLimit-Policy हेडर होते हैं, और पहले वाले X-RateLimit-Limit, X-RateLimit-Remaining और X-RateLimit-Reset भी। 429 रिस्पॉन्स में Retry-After सेकंड में होता है: उतना इंतज़ार करें और रीट्राई करें।