सामग्री पर जाएँ
CADCAMFUN
दस्तावेज़

दस्तावेज़

एपीआई संदर्भ

संपूर्ण HTTP संसाधन संदर्भ, प्रमाणित स्थानीय पहुंच, स्ट्रीमिंग अनुबंध और साझा स्कीमा से उत्पन्न क्लाइंट।

स्वचालित अनुवाद अभी उपलब्ध नहीं है; पाठ अंग्रेज़ी में है और इंटरफ़ेस आपकी भाषा में है। अंग्रेज़ी मूल देखें

सिंहावलोकन

साइडकार एक एकल प्रभाव है HttpApi. प्रत्येक समापनबिंदु एक टाइप किया हुआ है HttpApiEndpoint स्कीमा-चेक किए गए अनुरोध और प्रतिक्रिया निकायों के साथ, इसलिए यह संदर्भ, जेनरेट किया गया एसडीके और रनिंग सर्वर एक ही घोषणा से आते हैं packages/api.

सतह
325 संचालन

संपूर्ण 232 पथों और 35 संसाधन समूहों में।

प्रकार
56 स्कीमा

अनुरोध, प्रतिक्रिया और त्रुटि आकार, प्रत्येक इसका उपयोग करने वाले संचालन से जुड़े हुए हैं।

अनुबंध
ओपनएपीआई 3.1.0

साइडकार द्वारा उत्सर्जित /api/openapi.json; स्नैपशॉट में packages/web द्वारा जाँच की जाती है bun run check:api-reference.

ग्राहकों
एक सतह

डेस्कटॉप वेबव्यू, मोबाइल कंपेनियन, एआई ब्रिज और स्क्रिप्ट सभी इन्हीं मार्गों को कॉल करते हैं।

आधार यूआरएल

कोई होस्ट किया गया CADCAMFUN API नहीं है। साइडकार आपकी मशीन पर चलती है, बांधती है 127.0.0.1 ऑपरेटिंग सिस्टम जिस पोर्ट को चुनता है (यह पोर्ट 0 पर सुनता है), उसकी स्वयं जांच करता है /api/health, और उसके बाद ही stdout पर एक JSON लाइन प्रिंट करता है। आधार यूआरएल है http://127.0.0.1:<port> उस पंक्ति से.

एक डिस्पोजेबल साइडकार शुरू करें और उसका पोर्ट पढ़ें
export CADCAMFUN_TOKEN=dev-token
CADCAMFUN_DATA_DIR=$(mktemp -d) \
CADCAMFUN_MIGRATIONS_DIR=$PWD/packages/db/drizzle \
CADCAMFUN_AI_OFFLINE=true \
  bun --no-env-file apps/sidecar/src/main.ts
# stdout: {"event":"ready","port":46709}
export CADCAMFUN_URL=http://127.0.0.1:46709

प्रत्येक लॉन्च पर पोर्ट बदलता है

इसे से पढ़ें ready एक निश्चित संख्या मानने के बजाय लाइन (डेस्कटॉप शेल बिल्कुल यही करता है)। लॉग stderr पर जाते हैं इसलिए stdout केवल तैयार या त्रुटि ईवेंट ले जाता है।

प्रमाणीकरण

अनुबंध एक सुरक्षा योजना की घोषणा करता है, bearer (HTTP Bearer). 324 में से 325 संचालन के लिए इसकी आवश्यकता होती है; केवल GET /api/health सार्वजनिक है.

क्रेडेंशियलके रूप में भेजा गयाद्वारा उपयोग किया जाता है
टोकन लॉन्च करेंAuthorization: Bearer <token>डेस्कटॉप वेबव्यू और स्थानीय स्क्रिप्ट; का मान है CADCAMFUN_TOKEN.
साथी टोकनAuthorization: Bearer <token>एक युग्मित फ़ोन; संकीर्ण पहुंच, देखें साथी जोड़ी.
खाता सत्रx-session-tokenवाहक टोकन के शीर्ष पर अभिनय खाते का चयन करता है; देखना पहचान नीचे।
सार्वजनिक और संरक्षित
curl -s "$CADCAMFUN_URL/api/health"
curl -s "$CADCAMFUN_URL/api/projects" -H "Authorization: Bearer $CADCAMFUN_TOKEN"

कन्वेंशनों

  • JSON अंदर, JSON बाहर। शव हैं application/json जब तक कोई कार्ड अन्यथा न कहे: दो मल्टीपार्ट अपलोड, एक ऑक्टेट-स्ट्रीम वेबहुक, एक जावास्क्रिप्ट बूटस्ट्रैप, एक ज़िप डाउनलोड, एक बाइनरी प्लगइन फ़ाइल और दो इवेंट स्ट्रीम।
  • ऑपरेशन आईडी बिंदीदार हैं. projects.get, vcs.commit: समूह टैग, एक बिंदु, जेनरेट किए गए क्लाइंट द्वारा उपयोग की जाने वाली विधि का नाम।
  • त्रुटियां टाइप हो गई हैं. विफलताएँ प्रति समापन बिंदु घोषित की जाती हैं और a ले जाती हैं _tag; संदेशों को पार्स करने के बजाय इसे चालू करें। पूरे अनुबंध में, 401 को 269 परिचालन पर, 500 को 264 पर और 400 को 206 पर घोषित किया जाता है।
  • ऑपरेशन एंकर स्थिर हैं. प्रत्येक कार्ड इस प्रकार लिंक करने योग्य है #op-<method>-<path>, उदाहरण के लिए /docs/api/projects#op-get-api-projects-id.

स्ट्रीमिंग

पथआकारकिया जाता है
GET /api/projects/{id}/eventsएसएसईएक प्रोजेक्ट के लिए इवेंट बदलें.
POST /api/ai/chat/streamएसएसईजैसे ही इसका उत्पादन होता है, सहायक आउटपुट, साथ ही दिल की धड़कन; देखना एआई स्ट्रीमिंग.
किसी प्रोजेक्ट की घटनाओं का अनुसरण करें
curl -N "$CADCAMFUN_URL/api/projects/$PROJECT_ID/events" \
  -H "Authorization: Bearer $CADCAMFUN_TOKEN"

ग्राहकों

@cadcamfun/api/sdk इसी अनुबंध से उत्पन्न होता है: नीचे दी गई प्रत्येक ऑपरेशन आईडी एक टाइप की गई विधि है CadCam.make(...), पथ पैरामीटर और बॉडी फ़ील्ड का एक फ्लैट इनपुट लेना। 259 में से 325 ऑपरेशन उत्पन्न होते हैं; प्रत्येक कार्ड अपनी सटीक कॉल दिखाता है।

@cadcamfun/api/sdk
import { CadCam } from "@cadcamfun/api/sdk"

const client = CadCam.make({
  baseUrl: process.env.CADCAMFUN_URL!,
  headers: { authorization: `Bearer ${process.env.CADCAMFUN_TOKEN}` },
})

const projects = await client.projects.list()
const created = await client.projects.create({ name: "Bracket" })

संसाधन

325 operations in 35 groups, arranged by what they serve.

मुख्य

डिज़ाइन

परियोजनाओं5 endpoints

स्वामी और संगठन पहुंच जांच के साथ प्रोजेक्ट बनाएं, सूचीबद्ध करें, पढ़ें, अपडेट करें और हटाएं।

कार्यस्थान8 endpoints

सहयोगी ग्राहकों के लिए केवल पढ़ने योग्य प्रोजेक्ट चित्र, घटक, टूलपाथ, लाइब्रेरी संसाधन और सीमित पूर्वावलोकन।

चित्र7 endpoints

प्रोजेक्ट चित्र और उनकी सहेजी गई ज्यामिति, मेटाडेटा और अद्यतन संचालन।

अवयव5 endpoints

पुन: प्रयोज्य परियोजना घटक और उनका स्थायी डिज़ाइन डेटा।

सटीक सीएडी5 endpoints

सटीक ज्यामिति का विश्लेषण करें, STEP निर्यात करें, और दृश्य स्नैपशॉट या सहेजे गए चित्रों से असेंबली संबंधों का निरीक्षण करें।

पुस्तकालय8 endpoints

साझा लाइब्रेरी रिकॉर्ड और घटक, सामग्री और टूल लुकअप संग्रह।

उत्पादन

संसाधन

एक्सटेंशन

हिसाब किताब

प्रमाणीकरण15 endpoints

खाता साइन-इन, साइन-अप, पुनर्प्राप्ति, सत्यापन, जादुई लिंक, सत्र लुकअप और पासकी पंजीकरण।

उपयोगकर्ताओं18 endpoints

प्रोफ़ाइल, खाता संसाधन, एपीआई कुंजी, टोकन रिकॉर्ड, पासवर्ड और खाता हटाना।

संगठनों5 endpoints

संगठन सूचियाँ और प्रबंधित संगठन रिकॉर्ड।

सूचनाएं4 endpoints

अधिसूचना सूचीकरण, पठन-स्थिति अद्यतन, विलोपन, और सभी पढ़े जाने योग्य चिह्न।

बिलिंग15 endpoints

सदस्यता जानकारी, स्ट्राइप चेकआउट/पोर्टल एकीकरण, परीक्षण रखरखाव, और हस्ताक्षरित वेबहुक अंतर्ग्रहण।

एनालिटिक्स10 endpoints

एप्लिकेशन मेट्रिक्स, हाल की गतिविधि, उपयोग प्रश्न और ट्रैकिंग अनुरोध।

अनुप्रयोग सेवाएँ10 endpoints

डेस्कटॉप एकीकरण मार्ग, ट्रैक किए गए प्रोजेक्ट संचालन, सूचनाएं और पुश-सदस्यता रिकॉर्ड।

प्रतीक्षा सूची1 endpoints

स्थानीय एप्लिकेशन एपीआई के माध्यम से प्रतीक्षा सूची पंजीकरण सबमिट करें।

ओपनएपीआई दस्तावेज़

डाउनलोड करना /docs/api/openapi.json (चेक-इन स्नैपशॉट यह साइट प्रस्तुत करती है) या चालू साइडकार से लाइव दस्तावेज़ प्राप्त करें /api/openapi.json. स्नैपशॉट को पुनः जनरेट करें bun run generate:api-reference में packages/web समापन बिंदु बदलने के बाद.

अनुबंध और सर्वर

@cadcamfun/api प्रभाव HttpApi के साथ अनुरोध और प्रतिक्रिया स्कीमा को परिभाषित करता है। यह जड़ का निर्यात करता है Api, डोमेन रिकॉर्ड, टैग की गई त्रुटियाँ, और क्लाइंट। अनुरोध हैंडलर, प्राधिकरण निर्णय, डेटाबेस प्रश्न और प्रदाता कॉल साइडकार में चलते हैं। स्कीमा आयात करने से सर्वर प्रारंभ नहीं होता है.

साइडकार अपना सेवित अनुबंध यहां प्रकाशित करता है GET /api/openapi.json. जिस एप्लिकेशन से आप जुड़े हुए हैं उसके तरीकों, पथ पैरामीटर, पेलोड और स्थिति कोड का निरीक्षण करने के लिए उस चल रहे दस्तावेज़ का उपयोग करें। सर्वर अपने समूहों को असेंबल करता है apps/sidecar/src/layers.ts; साझा अनुबंध को इसमें संकलित किया गया है packages/api/src/index.ts.

प्रमाणीकरण और पहचान

संरक्षित मार्गों की आवश्यकता है Authorization: Bearer <token>. जब इसका साइडकार प्रारंभ होता है तो डेस्कटॉप को एक नया एप्लिकेशन टोकन प्राप्त होता है। GET /api/health सार्वजनिक स्वास्थ्य जांच है; देशी /health और /version संरक्षित हैं. एप्लिकेशन बियरर टोकन की तुलना समय-सुरक्षित तुलना से की जाती है।

एक वैकल्पिक x-session-token एक खाता सत्र JWT चलाता है। धारक टोकन स्थानीय आवेदन को स्वीकार करता है; सत्र अपने अभिनय खाते का चयन करता है। एक अनुपस्थित, समाप्त हो चुका, अमान्य, या अनाथ सत्र इंस्टॉलेशन की स्थानीय प्रोफ़ाइल पर वापस आ जाता है। संसाधन संचालक तब रिपॉजिटरी प्राधिकरण सहायकों के माध्यम से स्वामित्व या संगठन की पहुंच की जांच करते हैं।

एक स्कोप्ड ब्रिज टोकन केवल स्वीकार करता है GET /api/ai/actions और POST /api/ai/actions/invoke. यह प्रोजेक्ट सीआरयूडी, क्रेडेंशियल सेटिंग्स या अन्य HTTP मार्गों तक पहुंच प्रदान नहीं करता है। इसके प्रोजेक्ट और पढ़ने/लिखने के दायरे को एक्शन ब्रिज द्वारा फिर से जांचा जाता है।

संसाधन परिवार

  • डिज़ाइन: परियोजनाएं, चित्र, घटक, ड्राइंग संस्करण, इकाई आयात/निर्यात, और सटीक सीएडी विश्लेषण, एसटीईपी निर्यात और असेंबली विश्लेषण।
  • उत्पादन: टूलपाथ और संस्करण, टिप्पणियाँ, जनरेटर सुझाव, पार्सिंग, रीप्ले सत्यापन, मूल निर्माण कार्य, सामग्री, उपकरण, मशीन कॉन्फ़िगरेशन, लाइब्रेरी आइटम और उत्पादन लागत।
  • सहायक: प्रदाता, क्रेडेंशियल, मॉडल, सत्र, स्ट्रीमिंग टर्न, सत्र नियंत्रण, क्रियाएँ, प्रोजेक्ट मेमोरी, कार्यक्षेत्र संदर्भ और स्टेटलेस सलाह।
  • सहयोग: शाखाएं, कमिट, अंतर, पुल अनुरोध, समीक्षाएं, गिटहब मिरर, वर्कफ़्लो फ़ाइलें और रन, लाइव इवेंट और साथी जोड़ी।
  • आवेदन सेवाएँ: उपयोगकर्ता, प्रमाणीकरण, संगठन, सूचनाएं, फ़ाइलें, प्लगइन्स, बिलिंग, विश्लेषण, प्रतीक्षा सूची, एमसीपी कॉन्फ़िगरेशन और स्थानीय कुंजी-मूल्य भंडारण।

अनुबंध समूह अपने समापन बिंदु-विशिष्ट प्रतिक्रिया आकार बनाए रखते हैं। एक क्लाइंट को एकल एप्लिकेशन-व्यापी JSON लिफाफा मानने के बजाय उसके द्वारा कॉल किए जाने वाले ऑपरेशन की स्कीमा को डीकोड करना चाहिए।

प्रतिक्रियाएँ और असफलताएँ

सामान्य टैग की गई त्रुटियाँ HTTP 400 पर मैप होती हैं (BadRequest), 401 (Unauthorized), 403 (Forbidden), 404 (NotFound), 405 (MethodNotAllowed), 409 (Conflict), और 500 (InternalError). उनके घोषित स्कीमा मानव-पठनीय हैं message. कुछ समूह एक लिफाफे का उपयोग करते हैं success: false, message, और errors; एक छोटी संख्या का उपयोग करें error मैदान।

सफलता प्रतिक्रियाएँ एक रिकॉर्ड, एक सरणी, एक निरर्थक मान या एक लिफाफा हो सकती हैं। Envelope शामिल success, message, और data; EnvelopeOpt संदेश को वैकल्पिक बनाता है. जहां उपयुक्त हो, निर्माण समापनबिंदु स्पष्ट रूप से 201 घोषित करते हैं। HTTP स्थिति और एंडपॉइंट स्कीमा की जांच किए बिना केवल JSON फ़ील्ड से सफलता का अनुमान न लगाएं।

स्कीमा डिकोडिंग हैंडलर निष्पादित होने से पहले ट्रांसपोर्ट इनपुट को मान्य करता है। व्यवसाय सत्यापन अभी भी सेवा में चलता है: एक संरचनात्मक रूप से वैध अनुरोध एक दुर्गम ड्राइंग को संदर्भित कर सकता है, इसमें एक पुरानी विनिर्माण कलाकृति शामिल हो सकती है, या एक परस्पर विरोधी शाखा संचालन का अनुरोध कर सकता है।

साझा क्लाइंट का उपयोग करें

ApiClient.layer लिया जाता है एक baseUrl और आवेदन token. यह फ़ेच ट्रांसपोर्ट और क्लाइंट प्राधिकरण मिडलवेयर की आपूर्ति करता है। इसकी विधियाँ सीधे से ली गई हैं Api, इसलिए यह क्लाइंट कोड जनरेशन द्वारा छोड़े गए ऑपरेशन को भी कवर करता है।

इफ़ेक्ट क्लाइंट के साथ प्रोजेक्ट पढ़ें
import { ApiClient } from "@cadcamfun/api"
import { Effect } from "effect"

const projects = Effect.gen(function* () {
  const api = yield* ApiClient
  return yield* api.projects.list()
}).pipe(Effect.provide(ApiClient.layer({ baseUrl, token })))

आधार URL साइडकार का लूपबैक पता और निर्दिष्ट पोर्ट है। लॉन्च के दौरान पोर्ट जारी रखने के बजाय इसे डेस्कटॉप कनेक्शन से हल करें। टोकन को यूआरएल और लॉग से दूर रखें।

डिजाइन और विनिर्माण अनुरोध

परियोजना संचालन का उपयोग /api/projects; रेखाचित्रों और टूलपाथों के अपने संग्रह और विवरण मार्ग होते हैं। POST /api/toolpaths/generate जनरेटर सेटिंग्स और ज्यामिति से जी-कोड, पार्स किए गए प्रोग्राम डेटा, चेतावनियां और आंकड़े तैयार करता है। /suggest, /parse, और /verify पैरामीटर सलाह, जी-कोड व्याख्या और स्टॉक रीप्ले को उजागर करें। ये संगणनाएँ कोई सहेजा गया टूलपाथ नहीं बनातीं.

POST /api/toolpaths/manufacture एक संस्करणित CAD स्नैपशॉट स्वीकार करता है और NC, टूल असाइनमेंट, कटिंग डेटा, दावों, मुद्दों और रिलीज़ स्तर के साथ एक कर्नेल परिणाम लौटाता है। टूलपाथ क्रिएट या अपडेट ऑपरेशन के माध्यम से परिणामी दस्तावेज़ को अलग से सहेजें। देखना setups के दृढ़ता के दौरान साक्ष्य सत्यापन के लिए।

POST /api/cad/exact/analyze, /step, और /assembly स्पष्ट तत्वों या संग्रहीत आरेखण पहचानकर्ता को स्वीकार करें। संग्रहीत ड्राइंग को पढ़ने से कॉल करने वाले की सामान्य ड्राइंग एक्सेस जांच लागू हो जाती है।

स्ट्रीमिंग और पुनर्प्राप्ति

एआई स्ट्रीम पाठ, तर्क, टूल कॉल और परिणाम, अनुमति और प्रश्न अनुरोध, पुनः प्रयास, स्थिति, संदर्भ और पूर्णता के लिए टाइप की गई घटनाओं को वहन करती है। ग्राहकों को घटनाओं का क्रमिक रूप से उपभोग करना चाहिए और सत्र पहचानकर्ता को बनाए रखना चाहिए। HTTP कनेक्शन समाप्त होना इस बात का पर्याप्त प्रमाण नहीं है कि मॉडल टर्न समाप्त हो गया है: पुन: कनेक्ट करने के बाद सत्र स्थिति को फिर से पढ़ा जा सकता है।

एआई इवेंट स्कीमा लाइव रहते हैं packages/api/src/ai-events.ts और packages/ai/src/events.ts. सामान्य लाइव इवेंट इवेंट समूह का उपयोग करते हैं। बाइनरी डाउनलोड, जावास्क्रिप्ट प्लगइन बूटस्ट्रैप प्रतिक्रियाएँ, और हस्ताक्षरित कच्चे वेबहुक निकायों को अपने स्वयं के परिवहन प्रबंधन की आवश्यकता होती है।

उन मार्गों की सूची बनाएं जिनका पृष्ठ उनके परिणाम उपयोग करते हैं page और limit क्वेरी पैरामीटर. मशीन कॉन्फ़िगरेशन के लिए, page डिफ़ॉल्ट 1 है, limit डिफॉल्ट 20 पर है और इसे 1-100 पर क्लैंप किया गया है, और प्रतिक्रिया जारी रहती है pagination साथ page, limit, total, और totalPages (apps/sidecar/src/http/machine-configs.ts). वास्तव में घोषित मापदंडों के लिए प्रत्येक समूह के संदर्भ पृष्ठ की जाँच करें।

जनरेट किए गए SDK

@cadcamfun/httpapi-codegen httpApi समूहों को ऑपरेशन मेटाडेटा और जेनरेट किए गए क्लाइंट में प्रतिबिंबित करता है। एपीआई जेनरेटर एक प्रॉमिस एसडीके लिखता है packages/api/src/sdk/generated और ग्राहकों को प्रभावित करें packages/api/src/client/generated. पब्लिक प्रॉमिस एसडीके को इस रूप में निर्यात किया जाता है @cadcamfun/api/sdk.

क्लाइंट बहाव को पुनर्जीवित करें या जांचें
bun run --filter @cadcamfun/api generate
bun run --filter @cadcamfun/api generate:check

दोनों उत्पन्न लक्ष्य प्रोफाइल मल्टीपार्ट अपलोड, प्लगइन मल्टीपार्ट इंस्टॉलेशन, मल्टीपल सक्सेस स्कीमा के साथ एमसीपी निर्माण, टकराने वाले पहचानकर्ताओं के साथ एमसीपी अपडेट, डुप्लिकेट इनपुट नामों के साथ प्रोजेक्ट टूलपाथ निर्माण और स्ट्रीम हेडर के साथ प्लगइन फाइल सर्विंग को छोड़ देते हैं। प्रॉमिस लक्ष्य स्ट्राइप रॉ वेबहुक, प्लगइन जावास्क्रिप्ट बूटस्ट्रैप, बाइनरी फ़ाइल डाउनलोड और जनरेटर के जेनरेट/सुझाव अनुरोधों को भी छोड़ देता है। ये चूकें स्पष्ट हैं packages/api/scripts/generate-clients.ts; उन परिचालनों के लिए अनुबंध ग्राहक या उपयुक्त कच्चे परिवहन का उपयोग करें।

स्रोत संगठन

groups/ संसाधन अनुबंध शामिल हैं. साझा ज्यामिति और सीएएम स्कीमा से आते हैं @cadcamfun/core; cad-exact.ts, cam-kernel.ts, और cam-program.ts समृद्ध सीएडी/सीएएम परिणामों और पोर्टेबल दस्तावेज़ों का वर्णन करें। client.ts अनुबंध क्लाइंट बनाता है, जबकि जेनरेशन स्क्रिप्ट जेनरेट किए गए लक्ष्यों और चूक सूचियों का मालिक होता है।

एकीकरण नियम

परिवहन सीमाओं पर अनुबंध स्कीमा का पुन: उपयोग करें और डेटाबेस निर्भरता को साइडकार में रखें। अपने अनुबंध, हैंडलर, सेवा या रिपॉजिटरी और केंद्रित HTTP कवरेज के माध्यम से एक समापन बिंदु का परिचय दें। जेनरेट की गई फ़ाइलें आउटपुट हैं: उनके अनुबंध या जेनरेटर को संपादित करें और उन्हें पुन: उत्पन्न करें। एक एपीआई स्कीमा संस्करण, एक पोर्टेबल फ़ाइल संस्करण और एक प्लगइन एपीआई संस्करण अलग-अलग अनुबंधों का वर्णन करते हैं।

संसाधन संदर्भ

325 संचालन आर-पार 232 पथ और 35 संसाधन समूह, 56 नामित स्कीमा के साथ। प्रत्येक संसाधन पृष्ठ अपने संचालन को सूचीबद्ध करता है और घोषित पथ/क्वेरी/हेडर पैरामीटर, आवश्यक और वैकल्पिक फ़ील्ड, अशक्त मान, सामग्री प्रकार, सफलता और त्रुटि स्थिति और पूर्ण स्कीमा दिखाता है।

से डेटा उत्सर्जित होता है packages/api/src/index.ts, वही रचित HttpApi अनुबंध जिसका उपयोग क्लाइंट और साइडकार द्वारा किया जाता है। पृष्ठ चेक-आउट अनुबंध का वर्णन करते हैं; चल रहे सर्वर का निरीक्षण करें /api/openapi.json यदि आप किसी अन्य संस्करण से कनेक्ट होते हैं।

HTTP संसाधन

स्वास्थ्य

स्थिति और टाइमस्टैम्प के साथ सार्वजनिक प्रक्रिया स्वास्थ्य जांच।

HTTP संसाधन

प्रणाली

मूल ग्राहकों द्वारा उपयोग की जाने वाली प्रमाणित तैयारी और एप्लिकेशन संस्करण।

HTTP संसाधन

परियोजनाओं

स्वामी और संगठन पहुंच जांच के साथ प्रोजेक्ट बनाएं, सूचीबद्ध करें, पढ़ें, अपडेट करें और हटाएं।

HTTP संसाधन

कार्यस्थान

सहयोगी ग्राहकों के लिए केवल पढ़ने योग्य प्रोजेक्ट चित्र, घटक, टूलपाथ, लाइब्रेरी संसाधन और सीमित पूर्वावलोकन।

HTTP संसाधन

चित्र

प्रोजेक्ट चित्र और उनकी सहेजी गई ज्यामिति, मेटाडेटा और अद्यतन संचालन।

HTTP संसाधन

अवयव

पुन: प्रयोज्य परियोजना घटक और उनका स्थायी डिज़ाइन डेटा।

HTTP संसाधन

सटीक सीएडी

सटीक ज्यामिति का विश्लेषण करें, STEP निर्यात करें, और दृश्य स्नैपशॉट या सहेजे गए चित्रों से असेंबली संबंधों का निरीक्षण करें।

HTTP संसाधन

टूलपाथ

सहेजे गए मशीनिंग कार्यक्रम, ड्राइंग एसोसिएशन और मान्य पोर्टेबल विनिर्माण दस्तावेज़।

HTTP संसाधन

प्रोजेक्ट टूलपाथ

प्रोजेक्ट-स्कोप्ड टूलपाथ लिस्टिंग और एंडपॉइंट-विशिष्ट प्रतिक्रिया लिफाफे के साथ निर्माण।

HTTP संसाधन

मशीनिंग

मूल निर्माण, सेटिंग्स-संचालित जी-कोड पीढ़ी, सुझाव, पार्सिंग और रीप्ले सत्यापन।

HTTP संसाधन

टूलपाथ इतिहास

टूलपाथ संस्करण, पुनर्स्थापना, लाइब्रेरी खोज, और थ्रेडेड प्रोग्राम टिप्पणियाँ।

HTTP संसाधन

सामग्री

सामग्री रिकॉर्ड, एप्लिकेशन मशीनिंग गुण और संसाधन पहुंच।

HTTP संसाधन

सामग्री भंडार

लाइब्रेरी इंटरचेंज के लिए सामग्री भंडारण अनुलग्नक और JSON आयात/निर्यात।

HTTP संसाधन

औजार

एप्लिकेशन मशीनिंग वर्कफ़्लोज़ द्वारा उपयोग किए जाने वाले कटर रिकॉर्ड और आयाम।

HTTP संसाधन

उपकरण भंडारण

उपकरण भंडारण डेटा और संग्रह या प्रति-उपकरण आयात/निर्यात।

HTTP संसाधन

मशीनों

मशीन कॉन्फ़िगरेशन रिकॉर्ड, अपडेट, निष्कासन और क्लोनिंग।

HTTP संसाधन

मशीन भंडारण

मशीन भंडारण अनुलग्नक और कॉन्फ़िगरेशन आयात/निर्यात।

HTTP संसाधन

पुस्तकालय

साझा लाइब्रेरी रिकॉर्ड और घटक, सामग्री और टूल लुकअप संग्रह।

HTTP संसाधन

उत्पादन लागत

अनुमान, गणना अनुरोध, सामग्री लागत, संचालन लागत और उपकरण-पहनने के रिकॉर्ड।

HTTP संसाधन

एआई सत्र और क्रियाएँ

प्रदाता, क्रेडेंशियल, वार्तालाप, स्ट्रीमिंग टर्न, एक्शन इनवोकेशन, ब्रिज टोकन, कौशल और सत्र पुनर्प्राप्ति।

HTTP संसाधन

इतिहास और कार्यप्रवाह

प्रोजेक्ट गिट-संगत कमिट, शाखाएं, पुनर्स्थापना, समीक्षा, गिटहब मिररिंग और वर्कफ़्लो प्रेषण।

HTTP संसाधन

परियोजना घटनाएँ

लाइव क्लाइंट के लिए प्रोजेक्ट-स्कोप्ड सर्वर-भेजे गए इवेंट।

HTTP संसाधन

साथी जोड़ी

डेस्कटॉप गेटवे स्थिति, सक्षम/अक्षम, डिवाइस पेयरिंग, और डिवाइस निरस्तीकरण।

HTTP संसाधन

प्लग-इन

प्लगइन रजिस्ट्री, पैकेज इंस्टॉलेशन, कॉन्फ़िगरेशन, सक्षम/अक्षम, और प्लगइन संपत्तियां प्रदान की गईं।

HTTP संसाधन

एमसीपी विन्यास

एमसीपी कनेक्शन कॉन्फ़िगरेशन सीआरयूडी और सर्वर-जानकारी अनुरोध।

HTTP संसाधन

फ़ाइलें

एंडपॉइंट-विशिष्ट पेलोड और प्रतिक्रिया एन्कोडिंग के साथ अपलोड और डाउनलोड संचालन।

HTTP संसाधन

कुंजी-मूल्य भंडारण

उपसर्ग सूची और प्रति-कुंजी संचालन के साथ JSON-संगत प्राथमिकता और संदर्भ प्रविष्टियाँ।

HTTP संसाधन

संगठनों

संगठन सूचियाँ और प्रबंधित संगठन रिकॉर्ड।

HTTP संसाधन

सूचनाएं

अधिसूचना सूचीकरण, पठन-स्थिति अद्यतन, विलोपन, और सभी पढ़े जाने योग्य चिह्न।

HTTP संसाधन

प्रमाणीकरण

खाता साइन-इन, साइन-अप, पुनर्प्राप्ति, सत्यापन, जादुई लिंक, सत्र लुकअप और पासकी पंजीकरण।

HTTP संसाधन

उपयोगकर्ताओं

प्रोफ़ाइल, खाता संसाधन, एपीआई कुंजी, टोकन रिकॉर्ड, पासवर्ड और खाता हटाना।

HTTP संसाधन

बिलिंग

सदस्यता जानकारी, स्ट्राइप चेकआउट/पोर्टल एकीकरण, परीक्षण रखरखाव, और हस्ताक्षरित वेबहुक अंतर्ग्रहण।

HTTP संसाधन

एनालिटिक्स

एप्लिकेशन मेट्रिक्स, हाल की गतिविधि, उपयोग प्रश्न और ट्रैकिंग अनुरोध।

HTTP संसाधन

अनुप्रयोग सेवाएँ

डेस्कटॉप एकीकरण मार्ग, ट्रैक किए गए प्रोजेक्ट संचालन, सूचनाएं और पुश-सदस्यता रिकॉर्ड।

HTTP संसाधन

प्रतीक्षा सूची

स्थानीय एप्लिकेशन एपीआई के माध्यम से प्रतीक्षा सूची पंजीकरण सबमिट करें।

ओपनएपीआई JSON डाउनलोड करें · कैप्चर की गई प्रतिक्रियाओं के साथ अनुरोधों का पालन करें

कनेक्शन और अनुरोध कन्वेंशन

एपीआई की आपूर्ति एक निश्चित होस्टेड एंडपॉइंट के बजाय स्थानीय साइडकार द्वारा की जाती है। टौरी अपने गतिशील रूप से चयनित लूपबैक यूआरएल और लॉन्च टोकन प्राप्त करता है। मैन्युअल रूप से शुरू किया गया साइडकार JSON रेडी इवेंट में अपने पोर्ट की घोषणा करता है। इसके बजाय एक युग्मित मोबाइल क्लाइंट इसके कॉन्फ़िगर किए गए HTTPS गेटवे से जुड़ता है।

अपने वर्तमान साइडकार कनेक्शन के साथ पढ़ें
curl --silent --show-error "$CADCAMFUN_URL/api/projects" \
  --header "Authorization: Bearer $CADCAMFUN_TOKEN"

वास्तविक कनेक्शन से दोनों चर सेट करें। संसाधन पृष्ठों पर अनुरोध टेम्प्लेट जानबूझकर प्लेसहोल्डर और पेलोड फ़ाइलों का उपयोग करते हैं। वैकल्पिक परिवहन फ़ील्ड ऐसे वादे नहीं हैं कि प्रत्येक व्यावसायिक ऑपरेशन उन्हें छोड़ सकता है: उदाहरण के लिए, प्रोजेक्ट निर्माण, अपने हैंडलर में एक लापता नाम को अस्वीकार कर देता है।

सम्मेलनग्राहक व्यवहार
पथ पैरामीटरनामित सेगमेंट को बदलें और उसके मान को यूआरएल-एनकोड करें। एक पहचानकर्ता को एक एकल खंड के रूप में मानें।
क्वेरी पैरामीटरघोषित मानों को एन्कोड करें। पेजिनेशन और फ़िल्टरिंग प्रति-अंतबिंदु हैं; कोई सार्वभौमिक पृष्ठ-आकार अनुबंध नहीं है।
JSON पेलोडघोषित वस्तु को साथ भेजें Content-Type: application/json. आवश्यक उपस्थिति और शून्य को स्वीकार करना स्वतंत्र है।
मल्टीपार्ट पेलोडअपलोड क्लाइंट या फॉर्मडेटा के साथ फॉर्म पार्ट्स बनाएं; परिवहन को अपनी सीमा चुनने दें।
बाइनरी, जावास्क्रिप्ट, या स्ट्रीम प्रतिक्रियाघोषित मीडिया प्रकार का उपभोग करें। फ़ोन मत करो response.json() बिना शर्त.
त्रुटियाँHTTP स्थिति की जाँच करें और समापन बिंदु की घोषित विफलता आकृति को डिकोड करें। संसाधन परिवारों में त्रुटि लिफ़ाफ़े भिन्न-भिन्न होते हैं।
पुन: प्रयास किया गया लिखता हैम्यूटेशन पुनः सबमिट करने से पहले बाधित ऑपरेशन के बाद की स्थिति पढ़ें। अनुबंध एक सार्वभौमिक निष्क्रियता-कुंजी तंत्र प्रदान नहीं करता है।

उत्पन्न संदर्भ रखरखाव

packages/web/script/generate-api-reference.mjs एपीआई पैकेज के स्थापित प्रभाव कार्यान्वयन का उपयोग करके संकलित अनुबंध को पढ़ता है और संदर्भ JSON लिखता है। दस्तावेज़ीकरण कार्यकर्ता उत्पन्न सामग्री का उपभोग करता है; यह दस्तावेज़ीकरण अनुरोधों का उत्तर देने के लिए एप्लिकेशन सर्वर को प्रारंभ नहीं करता है।

पैकेज/वेब से
bun run generate:api-reference
bun run check:api-reference
bun run check:docs-index

प्रत्येक घोषित ऑपरेशन के विरुद्ध संसाधन कवरेज की जाँच की जाती है। नए जोड़े गए समूह को पाठक-सामना करने वाला मेटाडेटा और नेविगेशन प्राप्त करना होगा, और एक परिवर्तित अनुरोध या प्रतिक्रिया को पुनर्जीवित करना होगा। हस्तलिखित मार्गदर्शिकाएँ अभी भी प्राधिकरण नियमों, दुष्प्रभावों, सेवा कॉन्फ़िगरेशन और सीमाओं की व्याख्या करती हैं जिन्हें अकेले HTTP स्कीमा व्यक्त नहीं कर सकता है।

एकीकरण व्यंजन

के साथ शुरू hTTP अनुरोधों को कैप्चर किया गया यह देखने के लिए कि परियोजना निर्माण, व्यवसाय सत्यापन, वाहक अस्वीकृति, संबंधित रिकॉर्ड और कुंजी-मूल्य दृढ़ता वास्तव में कैसे प्रतिक्रिया देते हैं। उपयोग टाइप किया गया क्लाइंट एकीकरण प्रॉमिस एसडीके या इफ़ेक्ट क्लाइंट के साथ उन परिचालनों को पुन: पेश करने और उनके विशिष्ट विफलता चैनलों को संभालने के लिए।

एकीकरणप्रक्रियाबनाए रखने के लिए मुख्य स्थिति
परियोजना संपादककार्य बनाएँ, सहेजें और पुनः खोलेंपरियोजना/संसाधन पहचान, सहेजा गया डेटा, वास्तविक अद्यतन शब्दार्थ।
विनिर्माण पाइपलाइनमूल नौकरी उत्पन्न करें और जारी रखेंकैप्चर किया गया अनुरोध, सटीक एनसी/प्रोग्राम, रिलीज़ दावे, मिलान पोर्टेबल दस्तावेज़।
सहायक यूआईघटनाओं का उपभोग करें और सत्र पुनर्प्राप्त करेंप्रोजेक्ट/सत्र पहचान, लंबित अनुमतियाँ/प्रश्न, टर्मिनल टर्न स्थिति।
बाहरी क्षमताएक समर्थित प्लगइन लेखकमेनिफेस्ट, मॉड्यूल निर्यात, क्षमता अनुदान, तर्क सत्यापन और उपकरण परिणाम।
स्वचालन की समीक्षा करेंसंस्करण और परियोजना कार्य की समीक्षा करेंप्रतिबद्ध/रेफरी, संरचनात्मक अंतर, समीक्षाएं, प्रतिबद्ध वर्कफ़्लो, व्यक्तिगत जांच आउटपुट।
युग्मित ग्राहकडिवाइस एक्सेस सक्षम और प्रबंधित करेंगेटवे पता, प्रमाणपत्र फ़िंगरप्रिंट, व्यक्तिगत रूप से प्रतिसंहरणीय डिवाइस टोकन।

ये रेसिपी HTTP अनुबंधों को वास्तविक सेवा व्यवहार से जोड़ती हैं। एक स्कीमा आवश्यक उपस्थिति, एन्कोडिंग और लौटाई गई आकृति का वर्णन कर सकती है; इसकी लिंक की गई मार्गदर्शिका पहुंच नियमों, दृढ़ता प्रभावों, समर्थित पुनर्प्राप्ति और सीमाओं की व्याख्या करती है जिनका केवल उन प्रकारों से अनुमान नहीं लगाया जा सकता है।

प्रति संसाधन समूह संचालन

अनुबंध वर्तमान में 270 समूहों में 34 संचालन की घोषणा करता है, सभी एक ही के तहत bearer HTTP सुरक्षा योजना. वाहक सुरक्षा के बिना एकमात्र ऑपरेशन सार्वजनिक स्वास्थ्य जांच है। तालिका की गणना जेनरेट किए गए ओपनएपीआई दस्तावेज़ से की जाती है: प्रति समूह संचालन, उपयोग की गई HTTP विधियां, कितने अलग-अलग पथ और एक प्रतिनिधि पथ।

समूहटैगऑप्सतरीकोंके रास्तेउदाहरण पथ
स्वास्थ्यhealth11 प्राप्त करें1/api/health
प्रणालीsystem22 प्राप्त करें2/health
परियोजनाओंprojects5मिटाएं 1, प्राप्त करें 2, पोस्ट करें 1, डालें 12/api/projects
चित्रdrawings5मिटाएं 1, प्राप्त करें 2, पोस्ट करें 1, डालें 12/api/drawings/{id}
अवयवcomponents5मिटाएं 1, प्राप्त करें 2, पोस्ट करें 1, डालें 12/api/components/{id}
सटीक सीएडीcadExact3पोस्ट 33/api/cad/exact/analyze
टूलपाथtoolpaths7मिटाएं 1, प्राप्त करें 3, पोस्ट करें 2, डालें 13/api/drawings/{id}/toolpaths
प्रोजेक्ट टूलपाथprojectToolpaths2प्राप्त करें 1, पोस्ट करें 11/api/projects/{id}/toolpaths
मशीनिंगtoolpathGenerator5पोस्ट 55/api/toolpaths/generate
टूलपाथ इतिहासtoolpathExtras8मिटाएं 1, प्राप्त करें 3, पोस्ट करें 3, डालें 15/api/toolpaths/library
सामग्रीmaterials5मिटाएं 1, प्राप्त करें 2, पोस्ट करें 1, डालें 12/api/materials
सामग्री भंडारmaterialsStorage5हटाएं 1, प्राप्त करें 2, पोस्ट करें 22/api/materials/export-import
औजारtools5मिटाएं 1, प्राप्त करें 2, पोस्ट करें 1, डालें 12/api/tools
उपकरण भंडारणtoolsStorage7हटाएं 1, प्राप्त करें 3, पोस्ट करें 33/api/tools/export-import
मशीनोंmachineConfigs6मिटाएं 1, प्राप्त करें 2, पोस्ट करें 2, डालें 13/api/machine-configs
मशीन भंडारणmachineConfigsStorage5हटाएं 1, प्राप्त करें 2, पोस्ट करें 22/api/machine-configs/export-import
पुस्तकालयlibrary8मिटाएं 1, प्राप्त करें 5, पोस्ट करें 1, डालें 15/api/library
उत्पादन लागतproduction-costs21मिटाएं 4, प्राप्त करें 8, पोस्ट करें 5, डालें 49/api/production-costs/estimates
एआई सत्र और क्रियाएँai34मिटाएं 3, प्राप्त करें 8, पोस्ट करें 21, डालें 232/api/ai/actions
इतिहास और कार्यप्रवाहvcs22प्राप्त करें 10, पोस्ट करें 11, डालें 119/api/projects/{id}/actions/dispatch
परियोजना घटनाएँevents11 प्राप्त करें1/api/projects/{id}/events
साथी जोड़ीcompanion5हटाएं 1, प्राप्त करें 1, पोस्ट करें 35/api/companion
प्लग-इनplugins16मिटाएं 1, प्राप्त करें 8, पैच करें 1, पोस्ट करें 4, डालें 212/api/plugins
एमसीपी विन्यासmcp8मिटाएं 2, प्राप्त करें 2, पोस्ट करें 2, डालें 23/api/mcp/config
फ़ाइलेंfiles2प्राप्त करें 1, पोस्ट करें 12/api/download
कुंजी-मूल्य भंडारणkv4हटाएं 1, प्राप्त करें 2, डालें 12/api/kv
संगठनोंorganizations5मिटाएं 1, प्राप्त करें 2, पोस्ट करें 1, डालें 12/api/organizations
सूचनाएंnotifications4मिटाएं 1, प्राप्त करें 1, पोस्ट करें 1, डालें 13/api/notifications
प्रमाणीकरणauth12प्राप्त करें 1, पोस्ट करें 1112/api/auth/forgot-password
उपयोगकर्ताओंuser16मिटाएं 2, प्राप्त करें 10, पोस्ट करें 2, डालें 212/api/user/api-keys
बिलिंगbilling15मिटाएं 1, प्राप्त करें 5, पोस्ट करें 8, डालें 110/api/better-auth-stripe/billing-portal
एनालिटिक्सanalytics10हटाएं 1, प्राप्त करें 7, पोस्ट करें 29/api/analytics
अनुप्रयोग सेवाएँmisc10मिटाएं 2, प्राप्त करें 3, पोस्ट करें 4, डालें 16/api/app-control/notify
प्रतीक्षा सूचीwaitlist1पोस्ट 11/api/waitlist

पूरे अनुबंध में स्थिति कोड

प्रत्येक घोषित प्रतिक्रिया को प्रति ऑपरेशन एक बार गिनने से यह तस्वीर मिलती है कि ग्राहक को क्या डिकोड करने के लिए तैयार होना चाहिए:

स्थितिपर घोषित किया गयाविशिष्ट शरीर
200242 संचालनसंसाधन, सरणी, निरर्थक मान या Envelope
20128 संचालनबनाया गया रिकॉर्ड (उदाहरण के लिए POST /api/projects)
2041 ऑपरेशनकोई नहीं
400206 संचालनBadRequest, EnvBadRequest और परिवार-विशिष्ट प्रकार
401269 संचालनUnauthorized (वाहक मिडलवेयर)
403101 संचालनForbidden / EnvForbidden
404149 संचालनNotFound / EnvNotFound
40530 संचालनEnvMethodNotAllowed / KeyedMethodNotAllowed
40929 संचालनConflict / EnvConflict
500264 संचालनInternalError, EnvInternal, KeyedInternal और पारिवारिक संस्करण
501, 503प्रत्येक 1 ऑपरेशनसमापन बिंदु-विशिष्ट

प्रत्येक त्रुटि एक प्रभाव टैग की गई त्रुटि है, इसलिए इसके JSON बॉडी में हमेशा एक होता है _tag इसके क्षेत्रों के बगल में विभेदक। तीन निकाय परिवार हैं, जो विरासत संचालकों से विरासत में मिले हैं, इसलिए मौजूदा ग्राहक काम करते रहते हैं:

सामान्य त्रुटि (केवल संदेश)
{ "_tag": "NotFound", "message": "Project not found" }
लिफ़ाफ़ा त्रुटि
{ "_tag": "EnvNotFound", "success": false, "message": "Material not found", "errors": null }
कुंजीबद्ध त्रुटि (कुछ पुस्तकालय मार्ग)
{ "_tag": "KeyedInternal", "error": "Failed to load components" }

सफलता के लिफाफे त्रुटि लिफाफे को प्रतिबिंबित करते हैं: { success: true, message, data }, कहाँ data शायद null. EnvelopeOpt भिन्न प्रकार का लोप message जब हैंडलर ने एक भी उपलब्ध नहीं कराया। चालू करना _tag की उपस्थिति के बजाय message या error.

अनुरोध कैसे संसाधित किया जाता है

ग्राहकफ़ेच/एसडीके मार्ग मिलानविधि + पथ वाहक चेक401 अनधिकृत स्कीमा डिकोड400 खराब इनपुट पर हैंडलरपहुंच + तर्क एन्कोडसफलता / _टैग एक्स-सत्र-टोकन अभिनय खाता चुनता है; अनुपस्थित या अमान्य स्थानीय प्रोफ़ाइल पर वापस आ जाता है
  1. राउटर विधि और पथ से मेल खाता है। अज्ञात मार्ग कभी भी हैंडलर तक नहीं पहुंचते।
  2. वाहक मिडलवेयर निरंतर समय में टोकन की तुलना करता है। एक गुम या गलत टोकन किसी भी डिकोडिंग से पहले अनुरोध को 401 के साथ रोक देता है।
  3. पथ, क्वेरी, हेडर और बॉडी को ऑपरेशन के स्कीमा के विरुद्ध डिकोड किया जाता है। व्यवसाय कोड चलाए बिना संरचनात्मक समस्याएँ 400 हो जाती हैं।
  4. हैंडलर अभिनय खाते का समाधान करता है, स्वामित्व या संगठन की सदस्यता (403/404) की जांच करता है और सेवा चलाता है।
  5. परिणाम को घोषित सफलता स्कीमा, या विफलता को उसके टैग की गई त्रुटि स्कीमा और स्थिति के साथ एन्कोड किया गया है।

प्रतिक्रियाएँ जो JSON नहीं हैं

संचालनमीडिया प्रकारकैसे सेवन करें
POST /api/ai/chat/streamtext/event-streamक्रमिक रूप से पढ़ें; प्रत्येक data: लाइन एक टाइप की गई सहायक घटना है।
GET /api/projects/{id}/eventstext/event-streamलाइव प्रोजेक्ट इवेंट; एक बूंद के बाद स्थिति को पुनः कनेक्ट करें और पुनः पढ़ें।
GET /api/plugins/bootstrap.jsapplication/javascriptप्लगइन होस्ट द्वारा लोड किया गया, JSON के रूप में पार्स नहीं किया गया।
GET /api/plugins/serveapplication/octet-streamप्लगइन फ़ाइल बाइट्स.
GET /api/downloadapplication/zipफ़ाइल के रूप में सहेजें; उपयोग response.blob() या डिस्क पर स्ट्रीम करें।

जेनरेट किया गया प्रॉमिस एसडीके उस स्ट्रीमिंग प्रतिक्रिया को अस्वीकार कर देता है जिसका सामग्री प्रकार नहीं है text/event-stream साथ ClientError("UnsupportedContentType"), और एक एकल SSE घटना 16 MiB से बड़ी है SseEventTooLarge.

क्लाइंट के बिना एपीआई को कॉल करना

न्यूनतम टाइप किया गया फ़ेच रैपर
type TaggedError = { _tag: string; message?: string; error?: string }

async function call<T>(base: string, token: string, method: string, path: string, body?: unknown): Promise<T> {
  const response = await fetch(new URL(path, base), {
    method,
    headers: {
      authorization: `Bearer ${token}`,
      ...(body === undefined ? {} : { "content-type": "application/json" }),
    },
    body: body === undefined ? undefined : JSON.stringify(body),
  })
  if (response.status === 204) return undefined as T
  const payload = await response.json()
  if (!response.ok) {
    const failure = payload as TaggedError
    throw new Error(`${response.status} ${failure._tag}: ${failure.message ?? failure.error}`)
  }
  return payload as T
}

const project = await call<{ id: string; name: string }>(
  process.env.CADCAMFUN_URL!, process.env.CADCAMFUN_TOKEN!,
  "POST", "/api/projects", { name: "Bracket" },
)

टाइपस्क्रिप्ट में जेनरेट किए गए क्लाइंट को प्राथमिकता दें: वे प्रत्येक ऑपरेशन की सफलता की स्थिति और घोषित त्रुटि स्थिति को जानते हैं, और किसी भी अन्य चीज़ को उसी के रूप में मानते हैं UnexpectedStatus अनुमान लगाने के बजाय.

3डी में

आकार के अनुसार एपीआई समूह कक्षा में खींचें · ज़ूम करने के लिए स्क्रॉल करें · पैन करने के लिए दाईं ओर खींचें
Every API group as a column, height = operations counted from the generated OpenAPI document (270 in total). Rows are the six sidebar categories; ai (34), history (22) and costs (21) are the largest groups.