تخطَّ إلى المستندات
CLI

كل الأوامر

الـ 241 كلها، صف لكل واحد، مع نقطة النهاية التي يستدعيها كل أمر موارد.

كل الأوامر

هناك 241 أمرًا، كل منها في صفه الخاص بالترتيب الذي يسردها به openemail --help. 46 منها مكتوبة يدويًا للبشر: تسأل عمّا ينقص، وتنسّق ما تطبعه، وتجمع عدة استدعاءات API حين يفيد ذلك، لذا لا يسمّي صفها نقطة نهاية واحدة. والـ 195 الأخرى هي أوامر الموارد، openemail <namespace> <verb> عبر 25 مساحة أسماء، وكل منها يستدعي نقطة النهاية التي يسمّيها صفه.

أوامر الموارد لا تُكتب واحدًا واحدًا. تقرأ CLI بيان طرق SDK، الذي يصف كل طريقة بمعاملاتها ونقطة نهايتها ونطاقاتها، وتحوّل كل طريقة إلى فعل يحمل اسم مساحة الأسماء والطريقة بصيغة kebab-case، فيصبح domains.createAddress هو openemail domains create-address. وتصبح list مع listAll وiterate اللتين تمرّان عليها فعل list واحدًا مع --all و--max، ولهذا فإن الأوامر أقل عددًا من طرق SDK.

يثبت فحص التكافؤ في الحزمة ذلك قبل كل إصدار. فلكل طريقة في SDK يبني سطر الأوامر بثلاث طرق، بالقيم المطلوبة فقط، وبها في ملف --data، ومع ضبط كل خيار، ويشغّل الأمر مقابل fetch مسجِّل، ويفشل حين لا يكون لطريقة أمر أو حين يرسل أمر أي شيء غير الطريقة والمسار والاستعلام والجسم وبيانات الاعتماد التي يسمّيها البيان. ثم يشغّل أسطر الأوامر نفسها عبر المحلل والموزّع الحقيقيين، ويفشل عند أي طلب يختلف عن الاستدعاء المباشر.

يعرض كل صف أول سطر استخدام لأمره. ويعرض openemail <command> --help البقية: كل وسيط وخيار مع ما يأخذه، وأمثلة، ولأمر الموارد نطاقاته ونقطة نهايته وما يعيده والملاحظات من مرجع API. أضف --json لتحصل على الصفحة نفسها في مستند JSON واحد، ويطبع openemail --help --json كل أمر ووسيط وخيار دفعة واحدة. ويأخذ كل أمر أيضًا الخيارات العامة، --json و--yes و--dry-run و--profile و--api-key و--base-url و--no-input و--no-color و--debug، لذا لا يكررها أي صف.

الأمريستدعيالنطاق
openemail login-لا شيء
openemail whoami-لا شيء
openemail status-لا شيء
openemail send --to <address> --subject <text> --text <body> [flags]-emails:send
openemail inbox [folder] [flags]-threads:read
openemail read <thread-id> [flags]-threads:read
openemail search <query...> [flags]-threads:read
openemail reply <thread-id> --text <body> [flags]-threads:read + emails:send
openemail archive <thread-id...>-threads:write
openemail unarchive <thread-id...>-threads:write
openemail trash <thread-id...>-threads:write
openemail star <thread-id...>-threads:write
openemail unstar <thread-id...>-threads:write
openemail mark read <thread-id...>-threads:write
openemail mark unread <thread-id...>-threads:write
openemail snooze <thread-id...> --until <when>-threads:write
openemail unsnooze <thread-id...>-threads:write
openemail label add <thread-id...> --label <label-id>-threads:write
openemail label remove <thread-id...> --label <label-id>-threads:write
openemail temp new [--name <local-part>] [--domain <domain>] [--ttl <minutes>]-لا شيء
openemail temp list-لا شيء
openemail temp read [inbox] [message-id] [flags]-لا شيء
openemail temp watch [inbox] [--first]-لا شيء
openemail temp delete [inbox] [--yes]-لا شيء
openemail ai translate --to <language> [--text <text>|--html <html>|--body-file <path>] [--subject <subject>]-emails:send
openemail ai languages [--search <text>]-لا شيء
openemail ai compose "<prompt>" [--to <address>] [--subject <subject>] [--thread <thread-id>] [--tone <tone>]-drafts:write
openemail ai summarize <thread-id>-threads:read
openemail mcp config [--client <client>]-لا شيء
openemail mcp tools [tool]-لا شيء
openemail mcp call <tool> [--args <json|@file|->] [--arg key=value ...]-لا شيء
openemail mcp serve-لا شيء
openemail docs ask "<question>"-لا شيء
openemail docs open [slug] [--print]-لا شيء
openemail docs read [slug]-لا شيء
openemail agents-لا شيء
openemail me get [flags]GET /keys/selfلا شيء
openemail me ping [flags]GET /pingلا شيء
openemail me rotate [flags]POST /keys/self/rotatekeys:write
openemail keys list [flags]GET /keyskeys:read
openemail keys get <id> [flags]GET /keys/{id}keys:read
openemail keys create --name <value> [flags]POST /keyskeys:manage
openemail keys update <id> [flags]PATCH /keys/{id}keys:manage
openemail keys delete <id> [flags]DELETE /keys/{id}keys:manage
openemail keys rotate <id> [flags]POST /keys/{id}/rotatekeys:manage
openemail keys revoke <id> [flags]POST /keys/{id}/revokekeys:manage
openemail keys list-requests <id> [flags]GET /keys/{id}/requestskeys:read
openemail keys list-activity <id> [flags]GET /keys/{id}/activitykeys:read
openemail keys list-workspace-requests [flags]GET /keys/requestskeys:read
openemail keys list-workspace-activity [flags]GET /keys/activitykeys:read
openemail addresses list [flags]GET /addressesemails:send
openemail languages list [flags]GET /languagesلا شيء
openemail emails send --from <value> --to <a,b> [flags]POST /emailsemails:send
openemail emails send-batch <emails> [flags]POST /emails/batchemails:send
openemail emails translate --to <value> [flags]POST /emails/translateemails:send
openemail emails list [flags]GET /emailsemails:read
openemail emails get <id> [flags]GET /emails/{id}emails:read
openemail emails list-events <id> [flags]GET /emails/{id}/eventsemails:read
openemail emails get-tracking <id> [flags]GET /emails/{id}/trackingemails:read
openemail emails cancel <id> [flags]POST /emails/{id}/cancelemails:send
openemail emails reschedule <id> <scheduled-at> [flags]PATCH /emails/{id}emails:send
openemail templates list [flags]GET /templatestemplates:read
openemail templates get <id-or-slug> [flags]GET /templates/{id}templates:read
openemail templates create --name <value> [flags]POST /templatestemplates:write
openemail templates update <id-or-slug> [flags]PATCH /templates/{id}templates:write
openemail templates duplicate <id-or-slug> [flags]POST /templates/{id}/duplicatetemplates:write
openemail templates replace-content <id-or-slug> [flags]POST /templates/{id}/contenttemplates:write
openemail templates delete <id-or-slug> [flags]DELETE /templates/{id}templates:write
openemail templates list-versions <id-or-slug> [flags]GET /templates/{id}/versionstemplates:read
openemail templates get-version <id-or-slug> <version> [flags]GET /templates/{id}/versions/{version}templates:read
openemail templates publish <id-or-slug> [flags]POST /templates/{id}/versionstemplates:write
openemail templates restore-version <id-or-slug> <version> [flags]POST /templates/{id}/versions/{version}/restoretemplates:write
openemail templates delete-version <id-or-slug> <version> [flags]DELETE /templates/{id}/versions/{version}templates:write
openemail templates list-starters [flags]GET /templates/starterstemplates:read
openemail templates get-starter <slug> [flags]GET /templates/starters/{slug}templates:read
openemail templates list-fonts [flags]GET /templates/fontstemplates:read
openemail templates render [flags]POST /templates/rendertemplates:read
openemail templates preview <id-or-slug> [flags]POST /templates/{id}/previewtemplates:read
openemail templates get-analytics <id-or-slug> [flags]GET /templates/{id}/analyticstemplates:read
openemail templates list-sends <id-or-slug> [flags]GET /templates/{id}/sendstemplates:read
openemail templates send <id-or-slug> --from <value> --to <a,b> [flags]POST /templates/{id}/sendtemplates:write + emails:send
openemail tracking list [flags]GET /trackingemails:read
openemail tracking get-stats [flags]GET /tracking/statsemails:read
openemail tracking get <id> [flags]GET /tracking/{id}emails:read
openemail tracking list-opens <id> [flags]GET /tracking/{id}/opensemails:read
openemail tracking list-clicks <id> [flags]GET /tracking/{id}/clicksemails:read
openemail threads list [flags]GET /threadsthreads:read
openemail threads get <id> [flags]GET /threads/{id}threads:read
openemail threads update <id> [flags]PATCH /threads/{id}threads:write
openemail threads trash <id> [flags]POST /threads/{id}/trashthreads:write
openemail threads snooze <id> <wake-at> [flags]POST /threads/{id}/snoozethreads:write
openemail threads unsnooze <id> [flags]POST /threads/{id}/unsnoozethreads:write
openemail threads list-attachments <id> <message-id> [flags]GET /threads/{id}/messages/{messageId}/attachmentsthreads:read
openemail drafts list [flags]GET /draftsdrafts:read
openemail drafts get <id> [flags]GET /drafts/{id}drafts:read
openemail drafts create [flags]POST /draftsdrafts:write
openemail drafts update <id> [flags]PATCH /drafts/{id}drafts:write
openemail drafts delete <id> [flags]DELETE /drafts/{id}drafts:write
openemail labels list [flags]GET /labelslabels:read
openemail labels list-colors [flags]GET /labels/colorslabels:read
openemail labels get <id> [flags]GET /labels/{id}labels:read
openemail labels create --name <value> [flags]POST /labelslabels:write
openemail labels update <id> [flags]PATCH /labels/{id}labels:write
openemail labels delete <id> [flags]DELETE /labels/{id}labels:write
openemail contacts list [flags]GET /contactscontacts:read
openemail contacts get <email> [flags]GET /contacts/{email}contacts:read
openemail contacts create --email <value> [flags]POST /contactscontacts:write
openemail contacts update <email> [flags]PATCH /contacts/{email}contacts:write
openemail contacts delete <email> [flags]DELETE /contacts/{email}contacts:write
openemail contacts set-audiences <email> --audience-ids <a,b> [flags]PUT /contacts/{email}/audiencesaudiences:write
openemail contacts list-people [flags]GET /contacts/peoplecontacts:read
openemail contacts save <email> [flags]PUT /contacts/{email}contacts:write
openemail contacts delete-many <emails...> [flags]POST /contacts/batch-deletecontacts:write
openemail contacts set-photo <email> <data> [flags]PUT /contacts/{email}/photocontacts:write
openemail contacts remove-photo <email> [flags]DELETE /contacts/{email}/photocontacts:write
openemail contacts block <email> [flags]POST /contacts/{email}/blocksettings:write
openemail contacts unblock <email> [flags]DELETE /contacts/{email}/blocksettings:write
openemail contacts list-threads <email> [flags]GET /contacts/{email}/threadsthreads:read
openemail contacts activity <email> [flags]GET /contacts/{email}/activitythreads:read
openemail audiences list [flags]GET /audiencesaudiences:read
openemail audiences growth [flags]GET /audiences/growthaudiences:read
openemail audiences get <id> [flags]GET /audiences/{id}audiences:read
openemail audiences create --name <value> [flags]POST /audiencesaudiences:write
openemail audiences update <id> [flags]PATCH /audiences/{id}audiences:write
openemail audiences delete <id> [flags]DELETE /audiences/{id}audiences:write
openemail audiences empty <id> [flags]POST /audiences/{id}/emptyaudiences:write
openemail audiences list-contacts <id> [flags]GET /audiences/{id}/contactsaudiences:read
openemail audiences add-contact <id> --email <value> [flags]POST /audiences/{id}/contactsaudiences:write
openemail audiences remove-contact <id> <email> [flags]DELETE /audiences/{id}/contacts/{email}audiences:write
openemail audiences add-contacts <id> --emails <a,b> [flags]POST /audiences/{id}/contacts/batchaudiences:write
openemail audiences remove-contacts <id> --emails <a,b> [flags]POST /audiences/{id}/contacts/batch-removeaudiences:write
openemail audiences import-contacts <id> --contacts <json|@file|-> [flags]POST /audiences/{id}/importaudiences:write + contacts:write
openemail broadcasts preview --audience-ids <a,b> [flags]POST /broadcasts/previewaudiences:read
openemail broadcasts send --audience-ids <a,b> --from <value> [flags]POST /broadcastsemails:send + audiences:read
openemail broadcasts list [flags]GET /broadcastsemails:read
openemail broadcasts get <id> [flags]GET /broadcasts/{id}emails:read
openemail broadcasts stats <id> [flags]GET /broadcasts/{id}/statsemails:read
openemail broadcasts list-recipients <id> [flags]GET /broadcasts/{id}/recipientsemails:read
openemail broadcasts get-recipient <id> <email-id> [flags]GET /broadcasts/{id}/recipients/{emailId}emails:read
openemail broadcasts cancel <id> [flags]POST /broadcasts/{id}/cancelemails:send
openemail domains list [flags]GET /domainsdomains:read
openemail domains get <id> [flags]GET /domains/{id}domains:read
openemail domains create --domain <value> [flags]POST /domainsdomains:write
openemail domains verify <id> [flags]POST /domains/{id}/verifydomains:write
openemail domains update <id> [flags]PATCH /domains/{id}domains:write
openemail domains delete <id> [flags]DELETE /domains/{id}domains:write
openemail domains list-addresses <id> [flags]GET /domains/{id}/addressesdomains:read
openemail domains create-address <id> --local-part <value> [flags]POST /domains/{id}/addressesdomains:write
openemail domains get-address <id> <address-id> [flags]GET /domains/{id}/addresses/{addressId}domains:read
openemail domains update-address <id> <address-id> [flags]PATCH /domains/{id}/addresses/{addressId}domains:write
openemail domains delete-address <id> <address-id> [flags]DELETE /domains/{id}/addresses/{addressId}domains:write
openemail rules list [flags]GET /rulesrules:read
openemail rules get <id> [flags]GET /rules/{id}rules:read
openemail rules create --name <value> --conditions <json|@file|-> --actions <json|@file|-> [flags]POST /rulesrules:write
openemail rules update <id> [flags]PATCH /rules/{id}rules:write
openemail rules delete <id> [flags]DELETE /rules/{id}rules:write
openemail rules reorder <rule-ids...> [flags]POST /rules/reorderrules:write
openemail rules test <id> [flags]POST /rules/{id}/testrules:read
openemail rules list-runs [flags]GET /rules/runsrules:read
openemail webhooks list [flags]GET /webhookswebhooks:read
openemail webhooks get <id> [flags]GET /webhooks/{id}webhooks:read
openemail webhooks create --url <value> [flags]POST /webhookswebhooks:write
openemail webhooks update <id> [flags]PATCH /webhooks/{id}webhooks:write
openemail webhooks delete <id> [flags]DELETE /webhooks/{id}webhooks:write
openemail webhooks rotate-secret <id> [flags]POST /webhooks/{id}/rotate-secretwebhooks:write
openemail webhooks test <id> [flags]POST /webhooks/{id}/testwebhooks:write
openemail webhooks list-deliveries <id> [flags]GET /webhooks/{id}/deliverieswebhooks:read
openemail webhooks get-delivery <id> <delivery-id> [flags]GET /webhooks/{id}/deliveries/{deliveryId}webhooks:read
openemail webhooks replay-delivery <id> <delivery-id> [flags]POST /webhooks/{id}/deliveries/{deliveryId}/replaywebhooks:write
openemail webhooks list-workspace-deliveries [flags]GET /webhooks/deliverieswebhooks:read
openemail webhooks list-activity <id> [flags]GET /webhooks/{id}/activitywebhooks:read
openemail webhooks list-workspace-activity [flags]GET /webhooks/activitywebhooks:read
openemail imports list [flags]GET /importsthreads:read
openemail imports get <id> [flags]GET /imports/{id}threads:read
openemail imports create --address-id <value> --files <json|@file|-> [flags]POST /importsthreads:write
openemail imports upload-state <id> [flags]GET /imports/{id}/uploadthreads:write
openemail imports upload-chunk <id> <file> <chunk> <data> [flags]PUT /imports/{id}/files/{file}/chunks/{chunk}threads:write
openemail imports start <id> [flags]POST /imports/{id}/startthreads:write
openemail imports cancel <id> [flags]POST /imports/{id}/cancelthreads:write
openemail imports list-failures <id> [flags]GET /imports/{id}/failuresthreads:read
openemail imports delete-upload <id> [flags]DELETE /imports/{id}/uploadthreads:write
openemail imports import-files --address-id <value> --files <path> [flags]POST /importsthreads:write
openemail provider-imports inspect <api-key> [flags]POST /provider-imports/inspectsettings:write
openemail provider-imports create --resend-key <value> --resources <a,b> [flags]POST /provider-importssettings:write
openemail provider-imports list [flags]GET /provider-importssettings:read
openemail provider-imports get <id> [flags]GET /provider-imports/{id}settings:read
openemail provider-imports cancel <id> [flags]POST /provider-imports/{id}/cancelsettings:write
openemail calendar list-events --from <when> --to <when> [flags]GET /calendar/eventscalendar:read
openemail calendar get-event <id> [flags]GET /calendar/events/{id}calendar:read
openemail calendar get-event-ics <id> [flags]GET /calendar/events/{id}/icscalendar:read
openemail settings get [flags]GET /settingssettings:read
openemail settings update [flags]PATCH /settingssettings:write
openemail roles list [flags]GET /rolesroles:read
openemail roles get <id> [flags]GET /roles/{id}roles:read
openemail roles create --name <value> --permissions <a,b> [flags]POST /rolesroles:write
openemail roles update <id> [flags]PATCH /roles/{id}roles:write
openemail roles delete <id> [flags]DELETE /roles/{id}roles:write
openemail roles list-permissions [flags]GET /roles/permissionsroles:read
openemail members list [flags]GET /membersmembers:read
openemail members get <user-id> [flags]GET /members/{userId}members:read
openemail members add --email <value> --role-id <value> [flags]POST /membersmembers:write
openemail members update <user-id> --role-id <value> [flags]PATCH /members/{userId}members:write
openemail members remove <user-id> [flags]DELETE /members/{userId}members:write
openemail members grant-address <user-id> --address-id <value> [flags]POST /members/{userId}/addressesmembers:write
openemail members revoke-address <user-id> <address-id> [flags]DELETE /members/{userId}/addresses/{addressId}members:write
openemail members list-invitations [flags]GET /members/invitationsmembers:read
openemail members revoke-invitation <invitation-id> [flags]DELETE /members/invitations/{invitationId}members:write
openemail members resend-invitation <invitation-id> [flags]POST /members/invitations/{invitationId}/resendmembers:write
openemail suppressions list [flags]GET /suppressionssettings:read
openemail suppressions get <id> [flags]GET /suppressions/{id}settings:read
openemail suppressions add --email <value> [flags]POST /suppressionssettings:write
openemail suppressions remove <id> [flags]DELETE /suppressions/{id}settings:write
openemail files list [flags]GET /filesfiles:read
openemail files get <id> [flags]GET /files/{id}files:read
openemail files stats [flags]GET /files/statsfiles:read
openemail files download <id> [flags]GET /files/{id}/contentfiles:read
openemail files list-links <id> [flags]GET /files/{id}/linksfiles:read
openemail files create-link <id> [flags]POST /files/{id}/linksfiles:write
openemail files revoke-link <id> <link-id> [flags]DELETE /files/{id}/links/{linkId}files:write
openemail files upload <data> [flags]POST /filesfiles:write
openemail files delete <id> [flags]DELETE /files/{id}files:write
openemail files delete-many <ids...> [flags]POST /files/batch-deletefiles:write
openemail temp-mail list-domains [flags]GET /temp-mail/domainsلا شيء
openemail temp-mail create [flags]POST /temp-mail/inboxesلا شيء
openemail temp-mail get <inbox-id> [flags]GET /temp-mail/inboxes/{id}inbox token
openemail temp-mail extend <inbox-id> [flags]POST /temp-mail/inboxes/{id}/extendinbox token
openemail temp-mail delete <inbox-id> [flags]DELETE /temp-mail/inboxes/{id}inbox token
openemail temp-mail list-messages <inbox-id> [flags]GET /temp-mail/inboxes/{id}/messagesinbox token
openemail temp-mail get-message <inbox-id> <message-id> [flags]GET /temp-mail/inboxes/{id}/messages/{messageId}inbox token
openemail temp-mail delete-message <inbox-id> <message-id> [flags]DELETE /temp-mail/inboxes/{id}/messages/{messageId}inbox token
openemail temp-mail list-attachments <inbox-id> <message-id> [flags]GET /temp-mail/inboxes/{id}/messages/{messageId}/attachmentsinbox token
openemail verify-لا شيء
openemail logout-لا شيء
openemail profile list-لا شيء
openemail profile use <name>-لا شيء
openemail profile remove <name>-لا شيء
openemail profile current-لا شيء
openemail open [page] [--print]-لا شيء
openemail update-لا شيء
openemail completion <bash|zsh|fish>-لا شيء
openemail api <method> <path> [--data <json|@file|->] [--query <key=value>] [--header <key=value>]-لا شيء

يسمّي النطاق ما يحتاجه كل تشغيل للأمر. ومع تسجيل دخول محفوظ تفحصه CLI قبل أن يفعل الأمر أي شيء، والنطاق الناقص يوقفه برمز الخروج 4. ولا يسمّي api وmcp call أي نطاق، لأن ما يحتاجانه يعتمد على نقطة النهاية أو الأداة التي تستدعيها، والخادم يفحص ذلك. وصفوف temp-mail التي تقول «inbox token» ترسل رمز oe_inbox_ الذي أعاده temp-mail create، والذي تحفظه CLI، ويمرّر --inbox-token رمزًا لم تنشئه.

6 أوامر تحتاج إلى تسجيل دخول عبر المتصفح، وهو النوع الذي يحفظه openemail login حين تختار المتصفح: ai compose وai summarize وmcp tools وmcp call وmcp serve وverify. تعمل أوامر الذكاء الاصطناعي وMCP على خادم MCP، الذي لا يقبل أي مفتاح API، ويُدخل verify رموز التحقق التي لا تُطلب إلا من تسجيل الدخول عبر المتصفح.

19 أمرًا مكتوبًا يدويًا لا تحتاج إلى تسجيل دخول إطلاقًا: login وtemp new وtemp list وtemp read وtemp watch وtemp delete وmcp config وdocs ask وdocs open وdocs read وagents وlogout وprofile list وprofile use وprofile remove وprofile current وopen وupdate وcompletion. ولا تحتاج إليه صفوف temp-mail أيضًا. ويعمل ai languages مع تسجيل الدخول أو دونه.

42 أمرًا مدمّرة، كالحذف أو الإبطال أو التدوير أو الإلغاء أو التفريغ، لذا تطلب منك التأكيد أولًا وتتوقف برمز الخروج 2 حين لا يستطيع أحد الإجابة. يؤكد --yes نيابةً عنك، ويشغّل --dry-run القراءات ويطبع الطلب الذي كان سيغيّر شيئًا بدلًا من إرساله.

يُغفل openemail --help بعض الأوامر، وكذلك هذا الجدول. help هو الصيغة الطويلة لـ --help، ويطبع version إصدارات CLI وSDK وبيئة التشغيل، ويغطي verify أفعال security.

صندوق بريدك،
بشروطك أنت.

بنية بريد إلكتروني للشركات والذكاء الاصطناعي والوكلاء والبريد الشخصي. مبنية للتوسّع والخصوصية والتحكّم. كل ما كان ينبغي للبريد الإلكتروني أن يملكه منذ اليوم الأول.

OpenEmail

بنية بريد إلكتروني للشركات والذكاء الاصطناعي والوكلاء والبريد الشخصي. مبنية للتوسّع والخصوصية والتحكّم. كل ما كان ينبغي للبريد الإلكتروني أن يملكه منذ اليوم الأول.

© 2026 OpenEmail. جميع الحقوق محفوظة.