Çelësat, anëtarët dhe rolet
Menaxhoni çelësat API dhe lexoni çfarë bënë, ftoni dhe menaxhoni anëtarët, shkruani role, kontrolloni kredencialin që po përdorni, dhe krijoni kuti të përkohshme.
Përmbledhje
Këto komanda vendosin kush dhe çfarë mund ta arrijë hapësirën e punës. openemail keys menaxhon çelësat API dhe lexon çfarë bëri secili, openemail members menaxhon njerëzit në hapësirën e punës dhe ftesat e tyre, dhe openemail roles përcakton çfarë mund të bëjë një anëtar ose një çelës. openemail me përshkruan çelësin ose hyrjen me të cilën po thërrisni, dhe openemail languages liston gjuhët që pranon një dërgim i përkthyer. Kutitë e përkohshme nuk kanë nevojë fare për hyrje: openemail temp është mënyra e përditshme për të përdorur një të tillë, dhe openemail temp-mail është çdo thirrje e API-t pas saj. openemail api arrin çdo endpoint që nuk e arrijnë komandat e tjera.
- Një komandë çelësi merr id-në e çelësit, 24 karakteret hex pas
oe_live_, siç e tregonkeys list. Një komandë anëtari merr id-në e llogarisë,userIdtemembers list, kurrë një adresë emaili. Një komandë roli merr një idrole_ngaroles list, sepse rolet nuk kërkohen sipas emrit. - Hapësirat e emrave u përgjigjen edhe
key,member,role,languagedhetempMail. Pseudonimet e zakonshme të foljeve funksionojnë, sils,show,new,editdherm. Temembers, foljet e së cilës janëadddheremove,newdhecreateçojnë teadd, dherm,deldhedeleteçojnë teremove. openemail <command> --helpliston çdo argument dhe flamur me llojin e tij, fushëveprimin që i duhet thirrjes, metodën dhe shtegun, dhe çfarë kthehet. Shtoni--jsonpër të njëjtën faqe si të dhëna.
Çdo komandë
| Komanda | Çfarë bën |
|---|---|
| openemail me get | Përshkruani çelësin API ose hyrjen me shfletues me të cilën po thërrisni: fushëveprimet, rolin që e kufizon, hapësirën e punës dhe në emër të kujt mund të dërgojë. Nuk kërkon fushëveprim |
| openemail me ping | Kontrolloni që kredenciali vërtetohet, për një kontroll gjendjeje. Nuk kërkon fushëveprim |
| openemail me rotate | Jepini çelësit API me të cilin po thërrisni një sekret të ri, të treguar një herë. Kërkon konfirmim |
| openemail keys list | Listoni çelësat API të hapësirës së punës, më të rejat të parat, me statusin, fushëveprimet, rolin, fushëveprimin e dërgimit dhe përdorimin e fundit. Kurrë një sekret |
| openemail keys get <id> | Lexoni një çelës, pa sekretin e tij |
| openemail keys create --name <value> | Krijoni një çelës dhe merrni sekretin e tij një herë, te token |
| openemail keys update <id> | Riemërtoni një çelës, zëvendësoni fushëveprimet ose fushëveprimin e dërgimit, ose fikeni dhe ndizeni me --no-enabled dhe --enabled |
| openemail keys delete <id> | Hiqni nga lista një çelës të revokuar, duke ruajtur historikun e tij. Kërkon konfirmim |
| openemail keys rotate <id> | Jepini një çelësi një sekret të ri, të treguar një herë, dhe ndalni menjëherë të vjetrin. Kërkon konfirmim |
| openemail keys revoke <id> | Revokoni përgjithmonë një çelës, me një --reason opsionale. Kërkon konfirmim |
| openemail keys list-requests <id> | Lexoni regjistrin e kërkesave të një çelësi: metodën, shtegun, statusin, kodin e gabimit, kohëzgjatjen, IP-në dhe user agent-in |
| openemail keys list-activity <id> | Lexoni çfarë ndodhi me një çelës: krijimi, ndryshimi, rrotullimi, fikja dhe ndezja, revokimi, fshirja, dhe çdo thirrje e refuzuar |
| openemail keys list-workspace-requests | Lexoni regjistrin e kërkesave të çdo çelësi që mund të shihni, ose të atyre që emërton --key-ids |
| openemail keys list-workspace-activity | Lexoni çfarë ndodhi me çdo çelës që mund të shihni, ose me ata që emërton --key-ids |
| openemail roles list | Listoni rolet e hapësirës së punës, të paracaktuarat të parat, me sa anëtarë dhe çelësa e mbajnë secilin |
| openemail roles get <id> | Lexoni një rol me lejet e tij dhe numrat e drejtpërdrejtë të përdorimit |
| openemail roles create --name <value> --permissions <a,b> | Krijoni një rol të personalizuar, me një --description opsionale |
| openemail roles update <id> | Riemërtoni një rol, ndryshoni përshkrimin e tij, ose zëvendësoni gjithë listën e tij të lejeve |
| openemail roles delete <id> | Fshini një rol dhe kaloni kë e mban te roli në --reassign-to. Kërkon konfirmim |
| openemail roles list-permissions | Listoni fjalorin e lejeve, me një etiketë, një grup dhe nëse një çelës mund ta mbajë secilën |
| openemail members list | Listoni këdo me qasje, pronarin të parin, me rolin, lejet dhe adresat e domenet që mund të përdorë secili |
| openemail members get <user-id> | Lexoni një anëtar sipas id-së së llogarisë |
| openemail members add --email <value> --role-id <value> | Ftoni dikë me një rol, dhe me adresa ose domene të tëra përmes --address-ids, --domain-ids dhe --access |
| openemail members update <user-id> --role-id <value> | Kaloni një anëtar në një rol tjetër. Të drejtat e tij mbi adresat dhe domenet mbeten siç janë |
| openemail members remove <user-id> | Nxirrni dikë nga hapësira e punës me çdo të drejtë adrese që mban. Kërkon konfirmim |
| openemail members grant-address <user-id> --address-id <value> | Jepini një anëtari një adresë, ose ndryshoni --access e tij ndaj saj |
| openemail members revoke-address <user-id> <address-id> | Merrni prapa një adresë nga një anëtar. Kërkon konfirmim |
| openemail members list-invitations | Listoni ftesat që nuk i ka pranuar ende askush, përfshirë ato të skaduara |
| openemail members revoke-invitation <invitation-id> | Tërhiqni një ftesë, që lidhja e saj të pushojë së punuari. Kërkon konfirmim |
| openemail members resend-invitation <invitation-id> | Dërgojeni sërish një ftesë, me një lidhje të re dhe 14 ditë të tjera |
| openemail languages list | Listoni çdo gjuhë që pranon një dërgim i përkthyer, në rendin në të cilin duhet t'i tregojë një përzgjedhës. Nuk kërkon fushëveprim |
| openemail temp new [--name <local-part>] [--domain <domain>] [--ttl <minutes>] | Krijoni një kuti të përkohshme dhe shtypni vetëm adresën e saj. Nuk kërkon hyrje |
| openemail temp list | Listoni kutitë e përkohshme që krijoi kjo CLI, pa lexuar nga rrjeti |
| openemail temp read [inbox] [message-id] | Listoni postën në një kuti, ose shtypni një mesazh si tekst të lexueshëm |
| openemail temp watch [inbox] [--first] | Shtypni çdo mesazh të ri sapo mbërrin, duke kontrolluar çdo 3 sekonda |
| openemail temp delete [inbox] [--yes] | Fshini tani një kuti dhe postën e saj, dhe harroni tokenin e saj. Kërkon konfirmim |
| openemail temp-mail list-domains | Listoni domenet në të cilat mund të krijohet një kuti e përkohshme. Nuk kërkon kredencial |
| openemail temp-mail create | Krijoni një kuti të përkohshme dhe tokenin e saj, të cilin CLI e ruan. Nuk kërkon kredencial |
| openemail temp-mail get <inbox-id> | Lexoni skadimin, zgjatjet që kanë mbetur dhe numrin e mesazheve të një kutie |
| openemail temp-mail extend <inbox-id> | Shtyjeni skadimin deri në një orë më tej, brenda 24 orëve nga krijimi i kutisë |
| openemail temp-mail delete <inbox-id> | Shkatërroni tani një kuti dhe postën e saj. Kërkon konfirmim |
| openemail temp-mail list-messages <inbox-id> | Listoni një faqe mesazhesh, më të rejat të parat, secili me një copëz të shkurtër teksti të thjeshtë |
| openemail temp-mail get-message <inbox-id> <message-id> | Lexoni një mesazh me trupin e tij të ruajtur, dhe shënojeni si të parë |
| openemail temp-mail delete-message <inbox-id> <message-id> | Fshini një mesazh me trupin dhe bashkëngjitjet e tij. Kërkon konfirmim |
| openemail temp-mail list-attachments <inbox-id> <message-id> | Lexoni bashkëngjitjet e një mesazhi, me bajtet e tyre si base64 |
| openemail api <method> <path> | Thirrni çdo endpoint REST me hyrjen tuaj, kodet e saj të verifikimit dhe konfirmimet e saj |
Çdo flamur ndodhet te ndihma e komandës së vet, për shembull openemail keys create --help, openemail members add --help ose openemail temp new --help.
Çelësat API
Leximi i çelësave kërkon keys:read, dhe çdo ndryshim kërkon keys:manage. Një hyrjeje me shfletues nuk i jepet kurrë keys:write ose keys:manage, ndaj krijimi, ndryshimi, rrotullimi, revokimi dhe fshirja e çelësave kërkojnë një çelës API që ka keys:manage, ose aplikacionin web (openemail open api-keys). Një hyrje me shfletues me keys:read lexon çelësat vetëm për pronarin e hapësirës së punës, dhe hyrja e një anëtari refuzohet me 403 owner_only.
keys create,keys rotatedheme rotateshtypin sekretin e çelësit, tetoken, një herë, dhe CLI pastaj paralajmëron se nuk tregohet më kurrë. Çdo lexim tregon në vend të tijmaskedKey.- Nëse lihen jashtë, një çelës i ri mban vetëm
emails:send, dhe merr rolin, fushëveprimin e dërgimit dhe skadimin e çelësit që e krijon.--domain-allowlistdhe--address-allowlistcaktojnë në emër të kujt mund të dërgojë, dhe--expires-in-minutesmerr nga 5 deri në 5,256,000, që janë dhjetë vjet. - Një çelës nuk krijon dhe nuk arrin kurrë një çelës më të gjerë se vetja. Fushëveprimet, roli, skadimi, mënyra dhe fushëveprimi i dërgimit duhet të qëndrojnë të gjitha brenda çelësit që thërret, përndryshe thirrja refuzohet me 403
beyond_caller_authority, dheparamemërton atë që ishte tepër e gjerë. Një çelës i ngushtuar në disa domene ose adresa sheh vetëm çelësat brenda fushëveprimit të vet të dërgimit, dhe çdo tjetër jep 404. keys updatezëvendëson atë që dërgoni:--scopes,--address-allowlistdhe--domain-allowlistmarrin secili gjithë listën e re, dhe një flamur që e lini jashtë mbetet siç ishte.--no-enablede fik një çelës, ndaj çdo thirrje me të refuzohet meinactive_api_key, dhe--enablede rikthen saktësisht. Kështu ndalet një çelës në një mënyrë që mund ta zhbëni.keys revokeështë përgjithmonë: çelësi nuk mund të ndizet më, të rrotullohet ose të ndryshohet.keys deleteheq vetëm një çelës të revokuar, dhe çdo tjetër refuzohet me 409not_revoked. Regjistri i kërkesave dhe aktiviteti i një çelësi të fshirë mbeten, nën Çelës i fshirë.keys rotatenuk ka dritare mbivendosjeje, ndaj sekreti i vjetër pushon së punuari në çastin që kthehet i riu. Kur çelësi është ai që përdor profili juaj i ruajtur, CLI e ruan sekretin e ri në atë profil, që të vazhdojë të punojë. Një çelës ngaOPENEMAIL_API_KEYose--api-keynuk mund të ruhet, ndaj CLI ju thotë ta ruani tokenin e ri kudo që mbahej çelësi i vjetër.
Regjistri i kërkesave regjistron çdo thirrje që bëri një çelës: metodën, shtegun, statusin, kodin e gabimit, kohëzgjatjen, IP-në dhe user agent-in, kurrë një trup ose një query string. Asgjë nuk krasitet, ndaj shkon deri te thirrja e parë e një çelësi, dhe thirrjet e bëra me një hyrje me shfletues nuk janë në të. Regjistri i aktivitetit regjistron çdo ndryshim të një çelësi, dhe çdo thirrje që paraqiti çelësin dhe u refuzua, si auth_failed, me atë që bëri çdo ndryshim te actor.
list-requestsdhelist-activitylexojnë një çelës.list-workspace-requestsdhelist-workspace-activitylexojnë çdo çelës që mund të shihni, ose deri në 50 që emërton--key-ids, përfshirë çelësat e fshirë.--sincedhe--untilmbajnë një dritare kohore dhe marrin një kohë ISO 8601 si2026-09-01T00:00:00Z.--failed-onlymban thirrjet që morën përgjigje me status 400 ose më shumë.
Kredenciali juaj, dhe gjuhët
openemail me get është komanda e parë që duhet ekzekutuar kur një thirrje refuzohet. Nuk kërkon fushëveprim, ndaj çdo çelës ose hyrje e vlefshme mund ta përshkruajë veten.
scopesështë ajo që kredenciali mund të bëjë tani: fushëveprimet me të cilat u krijua, të shkurtuara nga roli nën të cilin u lëshua, të llogaritura në çdo kërkesë.grantedScopesështë ajo me të cilën u krijua, dheroleIdemërton rolin. Një fushëveprim që është tegrantedScopesdhe mungon tescopesu hoq nga roli. Kjo është arsyeja e zakonshme për një 403insufficient_scopete një çelës që duket se e ka fushëveprimin, dhe zgjidhja është të ndryshoni rolin në vend që të krijoni një çelës tjetër.domainAllowlistdheaddressAllowlisttregojnë në emër të kujt mund të dërgojë. Të dyja null do të thotë çdo adresë që zotëron hapësira e punës.- Me një hyrje me shfletues përshkruan hyrjen:
objectështëoauth_token,clientIdemërton aplikacionin e lidhur të kësaj CLI-je, dheexpiresAtështë kur mbaron miratimi juaj, ose null kur nuk mbaron kurrë. me pingpërgjigjetok: trueme të njëjtin detaj fushëveprimesh por pa listat e lejimit, gjë që i përshtatet një kontrolli gjendjeje. Një çelës i revokuar, i skaduar, i fikur ose i shkruar gabim dështon me një 401 dhe kodin e daljes3.me rotatei jep çelësit me të cilin po thërrisni një sekret të ri. Kërkonkeys:write, që një hyrje me shfletues nuk e ka kurrë, ndaj kërkon një çelës API. Gjithçka tjetër e çelësit mbetet, sekreti i vjetër pushon së punuari menjëherë, dhe një profil i ruajtur merr të riun, si mekeys rotate. Një përgjigje e humbur mund ta lërë çelësin me një sekret që nuk e pa askush, dhe atëherë ai ka nevojë për një të ri nga aplikacioni web.openemail whoamitregon të njëjtën përgjigje të formatuar për njerëz.
openemail languages list shtyp gjithë tabelën e gjuhëve në një përgjigje, rreth dyqind rreshta, me kodin, emrin në anglisht, emrin e vet, flamurin e çdo gjuhe dhe nëse shkruhet nga e djathta në të majtë. Kodi, emri në anglisht ose emri i vet funksionojnë të gjithë si objektiv i një dërgimi të përkthyer. Kërkon një hyrje por asnjë fushëveprim. openemail ai languages shtyp të njëjtën tabelë me një flamur --search, dhe pa hyrje shtyp tabelën që vjen me CLI-në.
Anëtarët dhe rolet
Një anëtar mban dy gjëra që nuk bashkohen kurrë. Roli i tij tregon çfarë mund të bëjë, dhe të drejtat e tij mbi adresat dhe domenet tregojnë me cilën postë mund ta bëjë, secila e drejtë me qasjen e vet: member lexon dhe dërgon, dhe viewer vetëm lexon. Një dërgim kërkon të dyja, ndaj një rol me emails:send dhe një e drejtë viewer mbi një adresë ende nuk mund të dërgojë prej saj. Një domen i tërë mbulon çdo adresë në të, përfshirë ato të krijuara më vonë.
members liste vendos pronarin e hapësirës së punës të parin, të shënuarisOwner, ndaj lëreni atë rresht jashtë kur numëroni vendet. Pronari ka çdo leje dhe nuk mund të ftohet, ndryshohet ose hiqet, dhe as dikush që është tashmë në hapësirën e punës nuk mund të ftohet sërish: të dyja japin 422member_is_owner.- Njerëzit që kanë të drejta mbi adresa por nuk iu dha kurrë një rol kthehen me
implied: true, dhe roli i tyre nxirret nga të drejtat e tyre.members updateu jep një rol të vërtetë. members adddërgon një ftesë, edhe te dikush që ka tashmë një llogari. Asgjë nuk jepet derisa të pranojë, dhe atëherë saktësisht roli, adresat dhe domenet që mbart ftesa. Ftesa sërish e së njëjtës adresë brenda dhjetë minutave jep 409invitation_too_soon, dhe pas kësaj rifreskon ftesën në pritje në vend që të dërgojë një të dytë.resend-invitationdërgon një lidhje të re të vlefshme për 14 ditë të tjera dhe e tërheq të vjetrën, gjë që rinovon edhe një ftesë të skaduar.revoke-invitationtërheq një ftesë, dhe një ftesë që është pranuar tashmë jep 409invitation_accepted, ndaj hiqeni anëtarin në vend të kësaj.members updatendryshon rolin dhe asgjë tjetër.grant-addressjep një adresë ose ndryshon qasjen ndaj saj, ndaj ekzekutimi sërish me një--accesstjetër e ndryshon të drejtën në vend që të shtojë një të dytë.revoke-addressmerr prapa një adresë dhe i lë të tjerat. Revokimi i të drejtës së fundit të një anëtari të nënkuptuar e heq atë nga hapësira e punës.members removei jep fund qasjes së dikujt në hapësirën e punës, anëtarësisë dhe çdo të drejte, dhe raporton teaddressesRevokedsa të drejta adresash u hoqën. Llogaria e tij dhe posta që ka dërguar nuk preken.
Një rol është gjithashtu tavan për çelësat API të lëshuar nën të. Ajo që mund të bëjë një çelës janë fushëveprimet e veta të shkurtuara nga lejet e rolit të tij, të llogaritura në çdo kërkesë.
roles listtregon fillimisht rolet e paracaktuara, në rendin Owner, Admin, Member, Viewer, Developer dhe Billing, pastaj rolet e personalizuara sipas emrit. Një hapësirë pune mban deri në 24 role të personalizuara, dhe përtej kësajroles createjep 422role_limit_reached.- Një rol ruan edhe lejet që nënkuptohen nga lejet e tij, ndaj
templates:writeruan edhetemplates:read, dheroles:writesjellroles:readdhemembers:read. Lexojeni listën nga përgjigjja në vend që ta supozoni. roles update --permissionszëvendëson gjithë listën, ndaj lexoni rolin, ndryshoni listën dhe dërgojeni të gjithën.--description nulle pastron shënimin. Një ndryshim hyn në fuqi në thirrjen e radhës të çdo anëtari dhe çelësi që e mban rolin.- Çdo rol përveç Owner mund të riemërtohet, rishkruhet dhe fshihet, përfshirë ato të paracaktuarat, dhe një rol i paracaktuar i fshirë nuk kthehet. Roli i pronarit i përgjigjet një redaktimi me 409
role_immutabledhe një fshirjeje me 409role_undeletable. - Për sa kohë ndonjë anëtar, çelës API ose ftesë në pritje mban një rol,
roles deletekërkon--reassign-tome rolin që i merr ata, përndryshe refuzohet me 409role_in_use. Çelësat e revokuar tregojnë ende rolin e tyre, ndaj një rol numriapiKeysi të cilit është 0 mund ta kërkojë përsëri. Përgjigjja raporton njerëzitreassigneddhe çelësatkeysReassigned. roles list-permissionsliston gjithë fjalorin me një etiketë dhe një grup për secilën. Disa, sibilling:writedheworkspace:manage, kthehen mescope: false: një rol mund t'i mbajë, por asnjë çelës nuk mundet.
Një çelës që mban roles:write mund ta redaktojë rolin që e kufizon dhe ta zgjerojë veten në thirrjen e tij të radhës, ndaj mbajeni atë fushëveprim jashtë çelësave që duhet vetëm të lexojnë. Me një hyrje me shfletues, members:write dhe roles:write jepen vetëm kur miratimi mbulon gjithë hapësirën e punës dhe jo disa domene ose adresa.
Kuti të përkohshme
Një kuti e përkohshme nuk kërkon llogari dhe as hyrje. Arrihet me tokenin e vet të kutisë, i cili nis me oe_inbox_ dhe kthehet një herë, kur krijohet kutia. Përdorni openemail temp në përditshmëri, dhe openemail temp-mail kur ju duhet një fushë ose një hap që temp nuk e tregon, si zgjatjet që kanë mbetur, një zgjatje, ose bajtet e një bashkëngjitjeje.
- Të dyja e mbajnë tokenin në
~/.openemail/temp-mail.json, të lexueshëm vetëm nga ju.temp newdhetemp-mail createe ruajnë,temp listtregon kutitë e krijuara në secilën mënyrë, dhe të dyja fshirjet e harrojnë. Një kuti e ruajtur mund të emërtohet me adresën e saj kudo që një komandë kërkon id-në e saj. - Për një kuti që nuk e krijoi kjo CLI, jepeni tokenin me
--inbox-token. Pa token të ruajtur ose të dhënë, komanda ndalet me kodin e daljes3para se të dërgohet ndonjë gjë. - Dy komandat e krijimit i emërtojnë flamujt ndryshe:
temp newmerr--name,--domaindhe--ttl, dhetemp-mail createmerr--local-part,--domaindhe--ttl-minutes. Një local-part ka nga 3 deri në 32 shkronja, shifra, pika, viza ose nënvija, duke nisur dhe mbaruar me shkronjë ose shifër, dhe emra sipostmasterrefuzohen. Qiraja zgjat nga 1 deri në 1440 minuta, 60 si parazgjedhje. - Çdo adresë IP mund të krijojë 6 kuti në orë dhe 30 në ditë, dhe e radhës jep 429
too_many_inboxes, kodi i daljes8. Zgjatja e një kutie që e keni tashmë nuk numërohet, ndajtemp-mail extendështë përgjigjja për atë kufi. temp-mail extendshton deri në një orë, kurrë përtej 24 orëve pas krijimit të kutisë, dhe të shumtën 23 herë. LexoniextensionsLeftnga përgjigjja. Kur arrin 0, jep 409extension_limitpërgjithmonë.temp-mail list-messageslexon nga 1 deri në 50 mesazhe për faqe, 50 si parazgjedhje, secili me njësnippetteksti të thjeshtë deri në 400 karaktere që shpesh mban një kod njëpërdorimsh. Asgjë përtej një faqeje nuk hidhet, dhe--allpërshkon çdo faqe.- Leximi i një mesazhi me
temp read,temp-mail get-messageosetemp-mail list-attachmentse shënon atë si të parë. Një trup mbi 2 MB shkurtohet, gjë që e tregontruncated, dhe një bashkëngjitje mbi 8 MB nuk u mbajt kurrë, ndajcontenti saj është null. - Fshirja e një kutie e fshin menjëherë postën e saj, por adresa mbetet e rezervuar deri 7 ditë pasi do të mbaronte qiraja e saj, dhe kërkimi i saj sërish para asaj kohe jep 409
address_taken.
Posta në një kuti të përkohshme vjen nga të panjohur, te një adresë që mund ta emërtojë kushdo. Dërguesi i saj nuk verifikohet kurrë dhe asgjë në të nuk skanohet, ndaj trajtojini me kujdes lidhjet, HTML-në dhe bashkëngjitjet e saj.
Çdo endpoint, dhe hapësira e emrave security
openemail api <method> <path> dërgon një kërkesë përmes të njëjtit transport si çdo komandë tjetër, ndaj vlejnë profili ose çelësi juaj, rinovimi i tokenit, kodet e verifikimit dhe konfirmimet. Një shteg më vete është një GET, dhe një përgjigje JSON shtypet e formatuar. openemail api /keys/self është thirrja pas me get.
-d,--datamerr trupin si JSON në rresht, nga një skedar me@path, ose nga stdin me-.-q,--querydhe-H,--headermarrinkey=valuedhe mund të përsëriten, dhe-o,--oute ruan përgjigjen në një skedar ashtu siç erdhi.- Një
DELETE, dhe çdo thirrje që një komandë burimi do ta kërkonte për konfirmim, si revokimi ose rrotullimi i një çelësi, ju kërkon së pari konfirmim, dhe pa mbikëqyrje kërkon--yes. - Një kërkesë e dështuar shtyp gabimin e API-t dhe del me kodin përkatës.
Hapësira e emrave security nuk listohet te openemail --help, sepse e drejton openemail verify. Foljet e saj step-up-status, begin-step-up dhe verify-step-up janë thirrjet që bën verify: verify --status lexon statusin, dhe verify kërkon një kod, jua kërkon ta shkruani dhe e kontrollon. Ato ekzistojnë për një hyrje me shfletues. Me një çelës API secila refuzohet me 400 step_up_not_applicable, dhe openemail verify thotë se një çelës nuk ka kurrë nevojë për kod.
Shembuj
openemail keys create --name 'Billing sender' --scopes emails:send \ --domain-allowlist billing.acme.com --expires-in-minutes 129600 --json \ | jq -r .token | openemail login --with-token --profile billingopenemail whoami --profile billingEkzekutojeni me një çelës API që ka keys:manage, për shembull përmes OPENEMAIL_API_KEY. Sekreti shkon nga përgjigjja drejt e në një profil të ri, ndaj nuk shfaqet kurrë në ekran ose në një skedar. Çelësi mund të dërgojë vetëm nga billing.acme.com, dhe skadon pas 90 ditësh.
openemail keys list --all | jq -r 'select(.status != "active") | [.name, .status, .lastUsedAt] | @tsv'openemail keys list-workspace-requests --failed-only --since 2026-09-26T00:00:00Z --all \ | jq -r '[.createdAt, .keyName, .status, .errorCode, .method, .path] | @tsv'id=4c1b257a66287fd113bd89d0openemail keys update "$id" --no-enabledopenemail keys list-activity "$id" --since 2026-09-27T00:00:00Z --all | jq -r 'select(.type == "auth_failed") | .createdAt'openemail keys revoke "$id" --reason 'Contractor offboarded' --yesopenemail keys delete "$id" --yesFikja e çelësit së pari mund të zhbëhet me --enabled. Çdo thirrje që e paraqet ende refuzohet dhe shfaqet në aktivitetin e tij si auth_failed, gjë që ju tregon çfarë varet ende prej tij. Revokimi nuk mund të zhbëhet, dhe vetëm një çelës i revokuar mund të fshihet.
openemail roles list-permissions --json | jq -r '.[] | [.group, .id, .label] | @tsv'role=$(openemail roles create --name Support --permissions threads:write,emails:send,templates:read \ --description 'Answers help@ and nothing else.' --json | jq -r .id)openemail members add --email [email protected] --role-id "$role" \ --domain-ids 93542ff8-2baa-4f2f-841d-5ceaa074ab0d --access memberopenemail members list-invitationsRoli kthehet duke mbajtur gjithashtu threads:read dhe emails:read, sepse lejet që emërton i nënkuptojnë ato. Sam merr rolin dhe gjithë domenin vetëm pasi ta pranojë. Me një hyrje me shfletues, members add kërkon së pari një kod verifikimi.
old=role_8b1f4c2e9a7d3b60e5f1a2c4new=role_2c7e9a1f4b8d3e60c5a7f1b9user=$(openemail members list --all | jq -r 'select(.email == "[email protected]") | .userId')openemail members update "$user" --role-id "$new"openemail roles get "$old" --json | jq '{name, members, apiKeys}'openemail roles delete "$old" --reassign-to "$new" --dry-runopenemail roles delete "$old" --reassign-to "$new" --yesmembers dhe apiKeys numërohen kur i kërkoni, ndaj tregojnë çfarë do të zhvendosë fshirja. Ekzekutimi provë shtyp DELETE me reassignTo në query-n e tij pa e dërguar. Me një hyrje me shfletues, përditësimi dhe fshirja kërkojnë secila një kod verifikimi, ndaj ekzekutoni fillimisht openemail verify kur këtë e bën një skript.
address=$(openemail temp new --ttl 15)openemail send --from [email protected] --to "$address" --subject 'Delivery check' --text 'Your code is 482913' --yesopenemail temp watch "$address" --first --json | jq -r .snippet | grep -oE '[0-9]{6}'openemail temp delete "$address" --yestemp new shtyp vetëm adresën, ndaj përshtatet në një variabël shell-i, dhe temp watch --first ndalet te mesazhi i parë. Drejtojeni një formular regjistrimi te adresa në vend të openemail send për të kapur në të njëjtën mënyrë kodin e tij të konfirmimit.
Fushëveprimet, konfirmimet dhe gabimet
| Fushëveprimi | Komandat |
|---|---|
| keys:read | keys list, get, list-requests, list-activity, list-workspace-requests, list-workspace-activity |
| keys:manage | keys create, update, delete, rotate, revoke |
| keys:write | me rotate |
| roles:read | roles list, get, list-permissions |
| roles:write | roles create, update, delete |
| members:read | members list, get, list-invitations |
| members:write | members add, update, remove, grant-address, revoke-address, revoke-invitation, resend-invitation |
| Asnjë, me çdo çelës ose hyrje | me get, me ping, languages list |
| Asnjë, dhe pa hyrje | temp, temp-mail list-domains dhe create. Komandat e tjera temp-mail marrin tokenin e kutisë |
- Një hyrje ose çelës pa fushëveprimin ndalet me kodin e daljes
4, emërton fushëveprimin që mungon dhe tregon si ta merrni. - Këto kërkojnë konfirmim:
keys delete,rotatedherevoke,me rotate,roles delete,members remove,revoke-addressdherevoke-invitation,temp delete, si edhetemp-mail deletedhedelete-message. Përgjigjja jo del me kodin10dhe nuk ndryshon asgjë. Pa mbikëqyrje dhe pa--yes, ndalen me kodin e daljes2para se të dërgohet ndonjë gjë. - Me një hyrje me shfletues,
roles updatedheroles delete, si edhemembers add,update,remove,grant-addressdherevoke-address, kërkojnë gjithashtu një kod verifikimi, përveç nëse kjo hyrje ka verifikuar një kod në 60 minutat e fundit.--yesnuk e kapërcen kurrë, dhe pa mbikëqyrje askush nuk mund ta shkruajë, ndaj komanda ndalet me kodin e daljes4. Ekzekutoni fillimishtopenemail verify. Një çelësi API nuk i kërkohet kurrë. --dry-runshtyp kërkesën që do të dërgonte një ndryshim, me trupin e saj, dhe del me kodin0pa e dërguar dhe pa ju kërkuar konfirmim.- Një listë lexon një faqe.
--limitmerr nga 1 deri në 100 dhe serveri dërgon 25 kur lihet jashtë, përveç tetemp-mail list-messages, që merr nga 1 deri në 50 dhe dërgon 50.--cursormerrnextCursore faqes së mëparshme.--alllexon çdo faqe,--max <n>ndalet pas aq elementeve, dhe--ndjson, ose--allnë një pipe, shtyp një objekt JSON për rresht. Me--json, një listë shtyp një dokument të vetëm{ items, hasMore, nextCursor }. roles list-permissions,languages list,temp-mail list-domainsdhetemp-mail list-attachmentskthejnë gjithçka njëherësh, si një array i thjeshtë, pa faqe.- Një refuzim del me kodin e statusit të vet:
3për një 401, si një çelës i revokuar,4për një 403, sibeyond_caller_authorityoseowner_only,5për një 404,6për një 409, sinot_revoked,role_in_useoseinvitation_too_soon,7për një 400 ose një 422, simember_is_owneroserole_limit_reached, dhe8për një 429, sitoo_many_inboxes. - Një ndryshim që do të bënte diçka dy herë nuk riprovohet kurrë pas një dështimi rrjeti:
keys createdherotate,me rotate,roles createdhedelete,members add,remove,revoke-addressdheresend-invitation, si edhetemp-mail create,extend,deletedhedelete-message. Kontrolloni para se ta ekzekutoni sërish njërën. Leximet, dhe ndryshimet që japin të njëjtin rezultat dy herë, sikeys update,keys revoke,roles update,members updatedhegrant-address, riprovohen vetë.