कमांड
कमांड कैसे पढ़ी जाती है, ग्लोबल फ़्लैग, हर हाथ से लिखी कमांड और हर रिसोर्स नेमस्पेस।
कमांड कैसे पढ़ी जाती है
openemail <command> [subcommand] [arguments] [flags]- फ़्लैग कमांड के बाद कहीं भी आते हैं, आर्ग्युमेंट से पहले या बाद में।
--profileऔर--jsonजैसे ग्लोबल फ़्लैग कमांड से पहले भी आ सकते हैं, और वहाँ रखा कोई और फ़्लैग उसे कमांड के नाम के बाद ले जाने के संकेत के साथ रुक जाता है। - वैल्यू अपने फ़्लैग के बाद एक स्पेस या बराबर के चिह्न के बाद आती है, इसलिए
--limit 50और--limit=50एक ही हैं। छोटे फ़्लैग भी वैल्यू लेते हैं, जैसे-n 50। - डैश से शुरू होने वाली वैल्यू को बराबर का चिह्न चाहिए, जैसे
--subject=-draft-में, क्योंकि स्पेस के बाद वह अगला फ़्लैग पढ़ी जाती है और पहले फ़्लैग की वैल्यू ग़ायब बताई जाती है। ऋणात्मक संख्याएँ दोनों तरह चलती हैं। खाली वैल्यू चुपचाप डिफ़ॉल्ट नहीं, बल्कि उपयोग की ग़लती है। - स्विच
--flagसे चालू और--no-flagसे बंद होता है, और--flag=trueऔर--flag=falseभी काम करते हैं। - सूची कॉमा से अलग होती है या दोहराई जाती है:
--to [email protected],[email protected], या दो बार--to। --के बाद सब कुछ आर्ग्युमेंट है, कभी फ़्लैग नहीं, और इसी तरह-from:adaकी खोज पार होती है।- अनजानी कमांड या फ़्लैग एग्ज़िट कोड
2के साथ रुकता है और सबसे क़रीबी मिलान सुझाता है।
ग्लोबल फ़्लैग
| फ़्लैग | यह क्या करता है |
|---|---|
| -h, --help | कमांड या ग्रुप के लिए मदद |
| -v, --version | CLI का वर्ज़न प्रिंट करें |
| --json | stdout पर सिर्फ़ JSON, stderr पर JSON के रूप में एरर, और कभी कोई प्रॉम्प्ट नहीं |
| -y, --yes | विनाशकारी कार्रवाइयों की बिना पूछे पुष्टि करें। कभी सत्यापन कोड नहीं छोड़ता |
| --profile <name> | यह सहेजी प्रोफ़ाइल इस्तेमाल करें, OPENEMAIL_PROFILE की तरह |
| --api-key <key> | प्रोफ़ाइल को अनदेखा करके, यह API कुंजी सिर्फ़ इस कमांड के लिए इस्तेमाल करें |
| --base-url <url> | API कुंजी या कोई क्रेडेंशियल न भेजने वाली कमांड के लिए API ओरिजिन, OPENEMAIL_BASE_URL की तरह। सहेजा गया साइन-इन हमेशा अपना ही इस्तेमाल करता है |
| --no-input | कभी प्रॉम्प्ट न करें। कोई वैल्यू न होने पर एग्ज़िट कोड 2 के साथ रुकता है |
| --no-color | कोई रंग नहीं, NO_COLOR और FORCE_COLOR=0 की तरह |
| --debug | रिक्वेस्ट ID, असफल रिक्वेस्ट और स्टैक ट्रेस प्रिंट करें |
हाथ से लिखी कमांड
ये लोगों के लिए लिखी गई हैं: जो कमी है वह पूछती हैं, जो प्रिंट करती हैं उसे फ़ॉर्मैट करती हैं, और जहाँ मदद मिले वहाँ कई API कॉल जोड़ती हैं।
| कमांड | यह क्या करता है |
|---|---|
| login | अपने ब्राउज़र से साइन इन करें, या API कुंजी सहेजें |
| whoami | आप किसके रूप में साइन इन हैं, वर्कस्पेस, स्कोप और समय-सीमा के साथ |
| status | जो whoami दिखाता है, साथ में आपके भेजने वाले पते और हर डोमेन की स्थिति |
| verify | अभी सत्यापन कोड डालें, ताकि संवेदनशील कमांड 60 मिनट चलें |
| logout | साइन आउट करें और एक प्रोफ़ाइल भूलें |
| profile list, use, current, remove | सहेजे साइन-इन की सूची देखें, बदलें और हटाएँ |
| send | ईमेल भेजें, शेड्यूल करें, या अनुवाद करके भेजें |
| inbox [folder] | किसी फ़ोल्डर के थ्रेड की सूची |
| search <query> | ऐप वाले सिंटैक्स से मेल खोजें |
| read <thread-id> | एक थ्रेड को संदेश दर संदेश पढ़ें |
| reply <thread-id> | थ्रेड के आख़िरी संदेश का जवाब दें |
| archive, unarchive, trash, star, unstar | एक या ज़्यादा थ्रेड व्यवस्थित करें |
| mark read, mark unread | थ्रेड को पढ़ा या अनपढ़ा चिह्नित करें |
| snooze, unsnooze | थ्रेड को बाद तक छिपाएँ, या उन्हें अभी वापस लाएँ |
| label add, label remove | थ्रेड पर लेबल लगाएँ, या हटाएँ |
| temp new, list, read, watch, delete | डिस्पोज़ेबल इनबॉक्स, बिना साइन-इन के |
| ai translate, languages, compose, summarize | AI से मेल का अनुवाद करें, लिखें और सारांश बनाएँ |
| mcp config, tools, call, serve | AI क्लाइंट जोड़ें, या MCP टूल ख़ुद कॉल करें |
| docs ask, open, read | इस डॉक्यूमेंटेशन से पूछें, इसे खोलें और पढ़ें |
| open [page] | वेब ऐप का कोई पेज खोलें |
| api <method> <path> | अपने साइन-इन से कोई भी REST एंडपॉइंट कॉल करें |
| update | npm पर नई रिलीज़ देखें |
| completion <shell> | bash, zsh या fish के लिए कम्प्लीशन स्क्रिप्ट प्रिंट करें |
| version | CLI, SDK और रनटाइम के वर्ज़न प्रिंट करें |
| help [command] | किसी भी कमांड की मदद दिखाएँ |
रिसोर्स कमांड
SDK का हर मेथड एक कमांड भी है: openemail <namespace> <verb>। नेमस्पेस kebab case में SDK नेमस्पेस है, और वर्ब kebab case में मेथड का नाम, इसलिए keys.listRequests बनता है openemail keys list-requests। साथ मिलकर ये पूरे REST API को कवर करती हैं।
openemail domains listopenemail domains create --domain acme.comopenemail rules create --data @rule.jsonopenemail keys list-requests 9f2c1a4b7e05d3862c1f0a44 --failed-only --allopenemail files download file_6bb640f5b99e47deb758f1f5 --out report.pdf- मेथड जो ID लेता है वह एक आर्ग्युमेंट है, जैसे
openemail domains get <id>। रिक्वेस्ट बॉडी का हर फ़ील्ड kebab case में उसी के नाम वाला फ़्लैग है:replyToबनता है--reply-to, औरcolor.backgroundColorबनता है--color-background-color। - तीन फ़ील्ड, जिनका फ़्लैग किसी ग्लोबल फ़्लैग से टकराता, नए नाम से हैं:
--template-version,--label-colorऔर--resend-key। --dataपूरी बॉडी JSON के रूप में लेता है, इनलाइन,@pathसे किसी फ़ाइल से, या-से stdin से, और साथ में दिया गया कोई भी फ़्लैग अपनी कुंजी को बदल देता है। ऑब्जेक्ट लेने वाला फ़्लैग JSON को इसी तरह पढ़ता है।- नंबर और स्विच जैसे हैं वैसे पढ़े जाते हैं, और सूचियाँ कॉमा से अलग या दोहराई जाती हैं।
- कोई ज़रूरी वैल्यू न हो तो टर्मिनल में पूछी जाती है, और बाक़ी हर जगह यह उपयोग की ग़लती है (एग्ज़िट कोड
2)। - लिस्ट वर्ब एक पेज पढ़ता है।
--limitउसका आकार तय करता है और--cursorप्रिंट किए कर्सर से आगे बढ़ता है।--allहर पेज पढ़ता है और आइटम स्ट्रीम करता है,--max <n>उतने के बाद रुकता है, और--ndjsonहर लाइन में एक JSON ऑब्जेक्ट प्रिंट करता है। - कुछ भी विनाशकारी, जैसे हटाना, रद्द करना, रोटेट करना, कैंसल करना या ख़ाली करना, आपसे पुष्टि माँगता है, जब तक आप
--yesन दें। - डाउनलोड
--outमें दी गई फ़ाइल में लिखा जाता है, और stdout पर सिर्फ़ तब जब stdout टर्मिनल न हो।
openemail <namespace> <verb> --help हर आर्ग्युमेंट और फ़्लैग को उसके टाइप के साथ, कॉल के लिए ज़रूरी स्कोप, उसका मेथड और पाथ, वह क्या लौटाता है, और API रेफ़रेंस के नोट दिखाता है।
हर नेमस्पेस
«यह भी» कॉलम उन दूसरे नामों को दिखाता है जिन पर नेमस्पेस जवाब देता है।
| नेमस्पेस | यह भी | वर्ब |
|---|---|---|
| me | get, ping, rotate | |
| keys | key | list, get, create, update, delete, rotate, revoke, list-requests, list-activity, list-workspace-requests, list-workspace-activity |
| addresses | address | list |
| languages | language | list |
| emails | email | send, send-batch, translate, list, get, list-events, get-tracking, cancel, reschedule |
| templates | template | list, get, create, update, duplicate, replace-content, delete, list-versions, get-version, publish, restore-version, delete-version, list-starters, get-starter, list-fonts, render, preview, get-analytics, list-sends, send |
| tracking | list, get-stats, get, list-opens, list-clicks | |
| threads | thread | list, get, update, trash, snooze, unsnooze, list-attachments |
| drafts | draft | list, get, create, update, delete |
| labels | list, list-colors, get, create, update, delete | |
| contacts | contact | list, get, create, update, delete, set-audiences, list-people, save, delete-many, set-photo, remove-photo, block, unblock, list-threads, activity |
| audiences | audience | list, growth, get, create, update, delete, empty, list-contacts, add-contact, remove-contact, add-contacts, remove-contacts, import-contacts |
| broadcasts | broadcast | preview, send, list, get, stats, list-recipients, get-recipient, cancel |
| domains | domain | list, get, create, verify, update, delete, list-addresses, create-address, get-address, update-address, delete-address |
| rules | rule | list, get, create, update, delete, reorder, test, list-runs |
| webhooks | webhook | list, get, create, update, delete, rotate-secret, test, list-deliveries, get-delivery, replay-delivery, list-workspace-deliveries, list-activity, list-workspace-activity |
| imports | import | list, get, create, upload-state, upload-chunk, start, cancel, list-failures, delete-upload, import-files |
| provider-imports | provider-import, providerImports | inspect, create, list, get, cancel |
| calendar | list-events, get-event, get-event-ics | |
| settings | setting | get, update |
| roles | role | list, get, create, update, delete, list-permissions |
| members | member | list, get, add, update, remove, grant-address, revoke-address, list-invitations, revoke-invitation, resend-invitation |
| suppressions | suppression | list, get, add, remove |
| files | file | list, get, stats, download, list-links, create-link, revoke-link, upload, delete, delete-many |
| temp-mail | tempMail | list-domains, create, get, extend, delete, list-messages, get-message, delete-message, list-attachments |
उपनाम
| उपनाम | किसके लिए |
|---|---|
| ls | list |
| show, view | get |
| new, add | create |
| edit | update |
| rm, del, remove | delete |
| openemail ls | openemail inbox |
| openemail show | openemail read |
members और suppressions में, जिनके वर्ब add और remove हैं, new और create add पर ले जाते हैं, और rm, del और delete remove पर। कुछ हाथ से लिखी सबकमांड के अपने उपनाम हैं, जिन्हें उनकी मदद बताती है।
कोई भी REST कॉल
openemail api <method> <path> बाकी हर कमांड वाले उसी ट्रांसपोर्ट से REST API को एक अनुरोध भेजता है, इसलिए आपकी प्रोफ़ाइल या कुंजी, टोकन नवीनीकरण और सत्यापन कोड सब लागू होते हैं। अकेला पाथ एक GET है। JSON जवाब फ़ॉर्मैट होकर प्रिंट होता है, और विफल अनुरोध API त्रुटि प्रिंट करके मिलते-जुलते कोड के साथ बाहर निकलता है।
openemail api /keys/selfopenemail api GET /threads --query folder=inbox --query limit=5openemail api POST /labels --data '{"name":"Receipts"}'openemail api PATCH /threads/CAHk7pQ2x9LmZ4 --data @patch.jsonopenemail api GET /files/file_6bb640f5b99e47deb758f1f5/content --out report.pdf-d,--dataबॉडी को इनलाइन JSON के रूप में,@pathसे फ़ाइल से, या-से stdin से लेता है।-q,--queryऔर-H,--headerkey=valueलेते हैं और दोहराए जा सकते हैं, और-o,--outजवाब को जैसा आया वैसा फ़ाइल में सहेजता है।- पाथ API ओरिजिन के सापेक्ष है। पूरा URL, ओरिजिन से बाहर जाने वाला पाथ और
Authorizationहेडर कुछ भी भेजे जाने से पहले एग्ज़िट कोड2के साथ अस्वीकार होते हैं, क्योंकि क्रेडेंशियल CLI ख़ुद सेट करती है।
मदद
openemail --helpopenemail help sendopenemail domains --helpopenemail domains create --helpopenemail --help हर कमांड को उसके काम के हिसाब से दिखाता है। ग्रुप अपनी सबकमांड उदाहरणों के साथ दिखाता है, और कमांड वह सब दिखाती है जो वह लेती है। openemail docs open cli ये पेज खोलता है।