एक टोकन, पैनल में बनाया गया
Bearer token के रूप में भेजा जाता है। चाहें तो इसे read-only या किसी एक सेवा तक सीमित करें; टोकन आपके पासवर्ड से स्वतंत्र होते हैं और किसी एक को रद्द करने से लॉग आउट कभी नहीं होता।
HTTPS पर JSON। न कोई SDK आवश्यक, न अलग डेवलपर खाता, और न कोई ऐसा एंडपॉइंट जो क्लाइंट पैनल में हो पर यहां न हो।
सर्वर बनाएं
curl -X POST https://api.vpsoffshore.com/v1/servers \
-H "Authorization: Bearer $TOKEN" \
-d '{"plan":"reef","image":"debian-13"}'तुरंत एक build id देता है। मशीन लगभग साठ सेकंड बाद SSH पर जवाब देने लगती है, और क्रेडेंशियल भेजे जाने से पहले पता रूट कर दिया जाता है।
20 एंडपॉइंट
बेस URL https://api.vpsoffshore.com/v1। पथ में संस्करण अंकित है; v2 आने के बाद भी v1 काम करता रहेगा, और इसके बंद होने की तारीख एक साल पहले घोषित की जाएगी।
सर्वर
स्टोरेज
नेटवर्किंग
कैटलॉग
बिलिंग
पैनल जो कुछ भी कर सकता है वह यहां है, और यहां जो कुछ है वह पैनल से गायब नहीं है। जब दोनों में अंतर हो तो यह एक बग है — पैनल से हमें बताएं और इसे इच्छित व्यवहार के रूप में दस्तावेज़ करने के बजाय ठीक किया जाता है।
यह कैसे व्यवहार करता है
किसी API को उसके ख़राब पाथ पर आँका जाता है, अच्छे पाथ पर नहीं। नीचे दिए गए चार में से तीन इस बारे में हैं कि जब कुछ गलत होता है तो क्या होता है।
एक टोकन, पैनल में बनाया गया
Bearer token के रूप में भेजा जाता है। चाहें तो इसे read-only या किसी एक सेवा तक सीमित करें; टोकन आपके पासवर्ड से स्वतंत्र होते हैं और किसी एक को रद्द करने से लॉग आउट कभी नहीं होता।
JSON अंदर, JSON बाहर, किसी SDK की ज़रूरत नहीं
सादा HTTPS, कोई कस्टम एनवेलप नहीं, कोई XML फ़ॉलबैक नहीं और कोई साइनिंग रिचुअल नहीं। अगर curl यह कर सकता है, तो आपके पास एक क्लाइंट है। Go, Python और TypeScript के लिए आधिकारिक लाइब्रेरी मौजूद हैं, और इनमें से कोई भी आवश्यक नहीं है।
ऐसी रेट लिमिट जो गलती से पार नहीं होतीं
प्रति टोकन प्रति मिनट 600 अनुरोध, निर्माण कॉल के लिए 60। हर प्रतिक्रिया के हेडर में शेष बजट दिया जाता है, और सीमा पार करने पर प्रतीक्षा के सेकंडों की संख्या के साथ 429 मिलता है — कभी भी चुपचाप अनुरोध नहीं छोड़ा जाता।
ऐसी त्रुटियां जो बताती हैं कि क्या करना है
एक 4xx में एक मशीन-पठनीय कोड, एक सामान्य वाक्य, और दोषी फील्ड शामिल होती है। हम एक ऐसी छोटी त्रुटि, जिसका आपको अनुमान लगाना पड़े, उसकी तुलना में एक लंबी त्रुटि लौटाना पसंद करेंगे।
जो दो चीज़ें एक बार लिखी जाती हैं
पहली विफलता के बाद नहीं, बल्कि पहला कॉल लिखने से पहले दोनों को पढ़ना उचित है।
प्रमाणित करें
curl https://api.vpsoffshore.com/v1/servers \
-H "Authorization: Bearer $TOKEN"
टोकन क्लाइंट पैनल में बनाए जाते हैं और इन्हें केवल-पढ़ने तक या किसी एक सेवा तक सीमित किया जा सकता है। ये आपके पासवर्ड से स्वतंत्र हैं, और किसी एक को रद्द करने से कहीं भी लॉग आउट नहीं होना पड़ता।
रेट लिमिट पढ़ें
X-RateLimit-Remaining: 574
X-RateLimit-Reset: 41
हर रिस्पॉन्स पर, न कि सिर्फ उस पर जो विफल होता है। सीमा पार करने पर 429 के साथ प्रतीक्षा के सेकंड लौटाए जाते हैं, न कभी चुपचाप ड्रॉप और न ही छोटा किया गया रिस्पॉन्स।
एक त्रुटि फ़ील्ड बताती है
{"error":"plan_unknown",
"message":"No plan named 'reff'. Did you mean 'reef'?",
"field":"plan"}
एक मशीन-पठनीय कोड, एक मानवीय वाक्य, और दोषी फ़ील्ड। लंबी त्रुटियां उन छोटी त्रुटियों से सस्ती होती हैं जिन्हें अनुमान लगाना पड़े।
बिल्ड की स्थिति जांचें
curl https://api.vpsoffshore.com/v1/servers/$ID \
-H "Authorization: Bearer $TOKEN" | jq .state
building से running पर जाता है। आपको कुछ भी बनाने से पहले किसी वेबहुक को रजिस्टर करने की ज़रूरत नहीं है, और प्रति सेकंड एक बार पोलिंग करना सीमा के भीतर है।
आवेदन करने के लिए कुछ भी नहीं
कोई डेवलपर खाता नहीं, कोई स्वीकृति नहीं, कोई ऐसा सैंडबॉक्स नहीं जो प्रोडक्शन से अलग व्यवहार करे।