डेवलपर

मेलबॉक्स को फ़र्क नहीं पड़ता
कि चला कौन रहा है।

ऐप जो कुछ करता है, वही आपका कोड करता है: 68 पाथ पर 104 दस्तावेज़ीकृत ऑपरेशन, एक OpenAPI 3.1 दस्तावेज़ के पीछे जिसे आप बिना कुंजी के पढ़ सकते हैं। TypeScript क्लाइंट को हर बिल्ड पर उसी दस्तावेज़ पर कसा जाता है।

किसी भी MCP क्लाइंट में पेस्ट करें। यह खुद को रजिस्टर कर लेता है।
{ "mcpServers": {
    "openemail": {
      "url": "https://api.openemail.uk/mcp"
    } } }

MCP के लिए पेस्ट करने को कोई कुंजी नहीं चाहिए। क्लाइंट एंडपॉइंट से ऑथराइज़ेशन सर्वर खोज लेता है, खुद को रजिस्टर करता है, और साइन इन के लिए आपको यहाँ भेज देता है।

104

दस्तावेज़ीकृत ऑपरेशन

68

एक ही होस्ट पर पाथ

116

SDK मेथड, जो उन सबको कवर करते हैं

20

वेबहुक इवेंट, तीन परिवारों में

OpenAPI 3.1 दस्तावेज़ GET /openapi.json पर है, और उसे पढ़ने के लिए कोई कुंजी नहीं चाहिए।

सतहें

तीन दरवाज़े,
एक ही मेलबॉक्स।

REST API

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

/threads?query=invoice
/emails
emails:sendthreads:readwebhooks:write

एक कुंजी अधिकतम 25 पूरे डोमेन और 50 एकल पतों से भेजती है। GET /ping वापस पढ़ता है कि उसके पास कौन-से स्कोप हैं और उसकी भूमिका ने उसे कौन-से स्कोप छोड़े हैं।

MCP सर्वर

किसी क्लाइंट को एंडपॉइंट पर लगाएँ और साइन इन करें। पेस्ट करने को कोई कुंजी नहीं है, क्योंकि क्लाइंट खुद को रजिस्टर करता है और आपको यहाँ भेज देता है।

listThreads
threads:reademails:sendlabels:write

टूल इस आधार पर बनते हैं कि कॉल करने वाला क्या कर सकता है, इसलिए सिर्फ़ पढ़ने तक सीमित क्लाइंट में भेजने का कोई टूल नहीं होता। टोकन फिर भी पूरे मेलबॉक्स तक पहुँचता है।

वेबहुक

एक https एंडपॉइंट रजिस्टर करें और मेलबॉक्स उस पर पोस्ट करता है। डिलीवरी किसी API कॉल से नहीं, मेलबॉक्स से ही उठती है, इसलिए ऐप में लिखना और API पर पोस्ट करना, दोनों एक ही डिलीवरी पैदा करते हैं।

/webhooks
email.receivedemail.sentemail.failedemail.openeddomain.verifiedsuppression.added

तीन परिवारों में 20 इवेंट, और हर मेलबॉक्स पर दस एंडपॉइंट।

समानता

क्लाइंट पीछे नहीं रह सकता
API से।

एक समानता जाँच हर बिल्ड पर OpenAPI दस्तावेज़ पढ़ती है और अंतर मिलते ही फ़ेल हो जाती है: ऐसा मेथड जो स्पेक में मौजूद न होने वाले ऑपरेशन की ओर इशारा करे, ऐसा दस्तावेज़ीकृत ऑपरेशन जिसका कोई मेथड न हो, या ऐसी स्कोप सूची जो ऑपरेशन की माँग से मेल न खाए। यह छापती है कि उसने क्या साबित किया, और आज वह पढ़ती है: सभी 104 दस्तावेज़ीकृत ऑपरेशन पर 116 SDK मेथड।

एक सेंड, तीन तरीके

कॉन्फ़िग, रिक्वेस्ट और कॉल एक ही ऑपरेशन हैं, तीन तरीक़ों से लिखा हुआ।

MCPAPISDK
{ "mcpServers": {
"openemail": {
"url": "https://api.openemail.uk/mcp"
} } }
01 · 5 सुविधाएँ, 1 अभी आना बाक़ी

एजेंट, API और MCP

OpenEmail को लोगों के साथ-साथ सॉफ़्टवेयर से भी चलाया जाना है। मेलबॉक्स दोनों ही सूरत में एक ही रहता है।

/threads?query=invoice
{ "threads": 12 }
वही मेलबॉक्स, चाहे उसे कोई व्यक्ति थामे या कोई प्रोग्राम।

MCP सर्वर

Claude को, या किसी भी MCP क्लाइंट को, अपने मेलबॉक्स पर लगाएँ।

/threads?query=invoice
{ "threads": 12 }
वही मेलबॉक्स, चाहे उसे कोई व्यक्ति थामे या कोई प्रोग्राम।

थर्ड-पार्टी क्लाइंट के लिए OAuth

जल्द

PKCE के साथ स्व-सेवा क्लाइंट पंजीकरण, ताकि कोई ऐप ठीक ढंग से पहुँच माँग सके।

सहमति और निरस्तीकरण यहाँ हैं; स्कोप नहीं, इसलिए टोकन पूरे मेलबॉक्स तक पहुँचता है, उस हिस्से तक नहीं जो ऐप ने माँगा था।

/threads?query=invoice
{ "threads": 12 }
वही मेलबॉक्स, चाहे उसे कोई व्यक्ति थामे या कोई प्रोग्राम।

REST API

एक दस्तावेज़ीकृत HTTP API, ऐसी कुंजियों के साथ जो जारी, सीमित और रद्द की जा सकती हैं।

/threads?query=invoice
{ "threads": 12 }
वही मेलबॉक्स, चाहे उसे कोई व्यक्ति थामे या कोई प्रोग्राम।

टाइप्ड SDK

पहले एक TypeScript क्लाइंट, फिर बाक़ी।

/threads?query=invoice
{ "threads": 12 }
वही मेलबॉक्स, चाहे उसे कोई व्यक्ति थामे या कोई प्रोग्राम।

वेबहुक

मेल आते ही आपके एंडपॉइंट को बता दें, आपसे बार-बार पुछवाने के बजाय।

/threads?query=invoice
{ "threads": 12 }
वही मेलबॉक्स, चाहे उसे कोई व्यक्ति थामे या कोई प्रोग्राम।

क्विकस्टार्ट

शून्य से एक भेजे गए संदेश तक।
तीन कदम।

  1. 1

    एक कुंजी जारी करें

    सेटिंग्स, API कुंजियाँ, अपने किसी मेलबॉक्स पर। इसके स्कोप चुनें, और यह किस पते से भेज सकती है इसे पूरे डोमेन या एकल पतों तक सीमित करें। सीक्रेट एक ही बार दिखाया जाता है और जो संग्रहीत होता है वह एकतरफ़ा हैश है।

    GET /ping उन स्कोप के साथ जवाब देता है जो कुंजी पर हैं और जो उसकी भूमिका ने उसे छोड़े हैं।
    export OPENEMAIL_API_KEY=oe_live_9f2c1a4b7e05d3862c1f0a44_kX7… curl https://api.openemail.uk/ping \  -H "Authorization: Bearer $OPENEMAIL_API_KEY"
  2. 2

    क्लाइंट इंस्टॉल करें

    बिना किसी डिपेंडेंसी वाला TypeScript क्लाइंट, ESM और CommonJS के रूप में प्रकाशित, जो कुंजी OPENEMAIL_API_KEY से पढ़ता है। अगर आप खुद JSON पोस्ट करना चाहें तो इसे छोड़ दें, क्योंकि हर एंडपॉइंट सादा HTTP है।

    Node 18 और उससे ऊपर, Workers, Deno, Bun और ब्राउज़र।
    bun add @openemail/sdk
  3. 3

    भेजें

    जवाब में id आती है। GET /emails/{id} उसे हल करता है, /events में हर प्राप्तकर्ता का ब्यौरा है, और /tracking में ओपन और क्लिक।

    वही Idempotency-Key लेकर आया दोबारा प्रयास पहला ही नतीजा लौटाता है, साथ में Idempotency-Replayed: true।
    import { init, openemail } from '@openemail/sdk' init({ apiKey: process.env.OPENEMAIL_API_KEY }) const email = await openemail.emails.send({  from: 'Acme Billing <[email protected]>',  to: '[email protected]',  subject: 'Your September invoice',  html: '<p>Invoice attached.</p>',}) console.log(email.id, email.status)

अनुपस्थित

यह क्या नहीं करेगा
आपके लिए अभी तक।

पाँच बातें जो इस पर बनाना शुरू करने से पहले जान लेना बेहतर है, बाद में नहीं।

कोई अपलोड एंडपॉइंट नहीं
इनलाइन अटैचमेंट base64 में जाते हैं, कुल 5 MB की सीमा के भीतर। बड़ी फ़ाइल भेजने के लिए वर्कस्पेस में पहले से मौजूद फ़ाइल को उसकी id से बताया जाता है, जो डाउनलोड लिंक के रूप में जाती है।
बाउंस मेलबॉक्स पर ही रुक जाते हैं
डिलीवरी रिपोर्ट पार्स होती है, Message-ID से मिलाई जाती है, थ्रेड पर लेबल की जाती है और email.bounced वेबहुक के रूप में भेजी जाती है। सेंड रो में कुछ वापस नहीं लिखा जाता, इसलिए GET /emails से बाउंस हुआ संदेश अब भी भेजा हुआ ही दिखता है।
कंपोज़र का मेल GET /emails में नहीं होता
ऐप के कंपोज़र से भेजा गया मेल उस सूची में नहीं दिखता, क्योंकि कंपोज़र उसी सेंड पाथ से नहीं लिखता।
OAuth में सहमति है, स्कोप नहीं
अनुमति मिलने से पहले अनुरोध दिखाया जाता है और Connected apps उसे वापस ले लेता है, लेकिन टोकन आपके पूरे मेलबॉक्स तक पहुँचता है, उस हिस्से तक नहीं जो किसी ऐप ने माँगा था।
कोई रिलीज़ वर्कफ़्लो नहीं
क्लाइंट को पब्लिश करना प्रीफ़्लाइट, बिल्ड और bun publish को हाथ से चलाना है, इसलिए कोई वर्ज़न npm पर तब पहुँचता है जब कोई उसे चलाता है, न कि जब बदलाव आता है।

डिलीवरी की पुष्टि

हर डिलीवरी हस्ताक्षरित है,
और हर दोबारा प्रयास अपनी id साथ ले जाता है।

हस्ताक्षर टाइमस्टैम्प, एक डॉट और कच्ची बॉडी पर बना HMAC-SHA-256 है। बाइट्स जैसे आए वैसे ही उनके ख़िलाफ़ पुष्टि करें, क्योंकि पार्स करके दोबारा सीरियलाइज़ करने से कुंजियों का क्रम बदल जाता है और हस्ताक्षर टूट जाता है।

हर डिलीवरी पर हेडर
X-OpenEmail-Signature: t=1758240000,v1=9f0c4b2e7d1a86c3X-OpenEmail-Event: email.deliveredX-OpenEmail-Delivery: evt_4b7e05d3862c1f0a
रीप्ले विंडो
300 सेकंड, और इसे लागू करना रिसीवर का काम है। SDK का वेरिफ़ायर डिफ़ॉल्ट रूप से यही लेता है।
Idempotency-Key
इसे कुंजी और आपकी API कुंजी, दोनों पर बने एक यूनीक इंडेक्स के ख़िलाफ़ दर्ज किया जाता है, इसलिए टाइमआउट के बाद दोबारा प्रयास दो बार भेजने के बजाय पहला ही नतीजा लौटाता है, साथ में Idempotency-Replayed: true।
दोबारा प्रयास
पाँच प्रयास: इवेंट होते ही, फिर 1 मिनट, 5, 25 और 2 घंटे बाद। सिर्फ़ टाइमआउट, ठुकराया गया कनेक्शन, 408, 425, 429 या कोई 5xx दोहराया जाता है।
X-OpenEmail-Delivery
इवेंट id एक ही बार बनती है और हर प्रयास उसे साथ ले जाता है, इसलिए जो रिसीवर वही id दो बार देखे, वह दूसरी पर फिर से अमल करने के बजाय उसे गिरा सकता है।

यह किसके लिए है

एक मेलबॉक्स।
अंदर आने के तीन रास्ते।

व्यक्ति

openemail.uk पर एक मुफ़्त पता, और उसके पीछे क्लाइंट।

acme.comacme.devstudio.acme.com
hello@acme.comपहुँचा
billing@acme.comपहुँचा
oct-2026-signup@acme.comपहुँचा
anything-at-all@acme.comपहुँचा
व्यवसाय

सबके लिए पते, और सदस्य कभी सीट नहीं गिने जाते।

[email protected]साझा
SSarahAAliJJamieNNadia
कोई सीट नहीं जुड़ी। बिल जस का तस।
डेवलपर

वही मेलबॉक्स, API, SDK और MCP के ज़रिए।

/threads?query=invoice
{ "threads": 12 }
वही मेलबॉक्स, चाहे उसे कोई व्यक्ति थामे या कोई प्रोग्राम।

एक कुंजी जारी करें।
कुछ भेजें।

Full API, MCP and SDK access हर प्लान पर। Free अपने साथ 50 AI actions a day लाता है।

API क्विकस्टार्ट पढ़ें

आपका इनबॉक्स,
आपकी अपनी शर्तों पर।

व्यवसायों, AI, एजेंट और निजी ईमेल के लिए ईमेल इन्फ़्रास्ट्रक्चर। स्केल, निजता और नियंत्रण के लिए बना। वह सब जो ईमेल में पहले दिन से होना चाहिए था।

OpenEmail

व्यवसायों, AI, एजेंट और निजी ईमेल के लिए ईमेल इन्फ़्रास्ट्रक्चर। स्केल, निजता और नियंत्रण के लिए बना। वह सब जो ईमेल में पहले दिन से होना चाहिए था।

© 2026 OpenEmail. सर्वाधिकार सुरक्षित।
स्थिति