Kalo te dokumentacioni
CLI

Skriptet

Dalja JSON, rrjedhat, kodet e daljes, variablat e mjedisit, dhe ekzekutimi pa mbikëqyrje ose në CI.

Dalja JSON

Me --json, stdout mban vetëm JSON, të dhëmbëzuar me dy hapësira, ndërsa shënimet dhe ecuria mbeten në stderr, dhe asgjë nuk pyet. Një listë shtyp { items, hasMore, nextCursor }, një objekt i API-t shtypet siç e ktheu API, dhe një komandë e shkruar me dorë shtyp objektin që përshkruan ndihma e saj.

Terminal
openemail whoami --json | jq -r .workspaceIdopenemail emails list --status failed --json | jq -r ".items[].id"

Një gabim shkon në stderr si një rresht JSON, dhe kodi i daljes është ai që do të merrte një person:

stderr
{"error":{"type":"permission_error","code":"insufficient_scope","message":"This API key does not have the domains:write scope.","hint":"The credential is missing a scope this call needs. Use a key that has it, or sign in again with openemail login.","next":null,"status":403,"requestId":"req_7Hc2kQ","param":null,"docUrl":"https://openemail.uk/docs/api/errors#insufficient_scope","exitCode":4}}
FushaÇfarë mban
typeLloji i gabimit të API-t, ose cli_error, network_error ose internal_error për një dështim brenda CLI-së
codeNjë kod i qëndrueshëm si insufficient_scope, not_signed_in ose unknown_flag
messageÇfarë shkoi keq, në një fjali
hint, nextÇfarë të provoni, dhe komanda që duhet ekzekutuar më pas, ose null
status, requestId, param, docUrlNga API kur gabimi erdhi prej saj, përndryshe null
exitCodeKodi i daljes me të cilin mbaron procesi

Rrjedhat

Disa dalje janë një rrjedhë objektesh JSON, një për rresht, që një pipeline të trajtojë çdo element sapo mbërrin:

  • Një listë burimesh me --all kur stdout nuk është terminal, ose me --ndjson. --max <n> ndalet pas aq elementeve.
  • openemail temp watch --json, një rresht për çdo mesazh të ri.
  • openemail mcp serve, një mesazh JSON-RPC për rresht në secilin drejtim.
Terminal
openemail contacts list --all > contacts.ndjsonopenemail emails list --status failed --all --max 500 | jq -r .id

Kodet e daljes

KodiKuptimi
0U krye
1Një dështim i papritur, një gabim serveri, ose një dërgim që dështoi
2Një gabim përdorimi: një argument i gabuar, një komandë ose flamur i panjohur, një vlerë a konfirmim që nuk mund të kërkohej, ose një origjinë a shteg ku CLI nuk dërgon kredencial
3Nuk keni hyrë, ose hyrja u refuzua, ka skaduar ose u mbyll ndërsa komanda po ekzekutohej
4Nuk lejohet: mungon një fushëveprim ose leje, një kod verifikimi që nuk mund të kërkohej ose që është ndalur, ose një çelës API ku duhet hyrje me shfletues
5Nuk u gjet
6Një përplasje me gjendjen aktuale
7Hyrja ishte e pavlefshme
8Kufiri i shpejtësisë, ose kuota AI është shteruar
9Rrjeti dështoi ose skadoi koha
10U anulua: refuzuat një konfirmim ose një kërkesë
130, 143U ndal me Ctrl+C, ose nga SIGTERM

Variablat e mjedisit

VariabliÇfarë bën
OPENEMAIL_API_KEYNjë çelës API që përdoret në vend të çdo profili të ruajtur
OPENEMAIL_PROFILEProfili i ruajtur që përdoret
OPENEMAIL_BASE_URLOrigjina e API-t për OPENEMAIL_API_KEY, --api-key dhe komandat që nuk dërgojnë kredencial. Një hyrje e ruajtur shkon vetëm te API-ja në të cilën hyri
OPENEMAIL_APP_URLOrigjina e aplikacionit web, për hyrjen, open dhe lidhjet e dokumentacionit
OPENEMAIL_CONFIG_DIRKu mbahen profilet dhe tokenat e kutive, ~/.openemail nëse nuk caktohet
OPENEMAIL_NO_UPDATE_CHECKMos kontrollo kurrë npm për një publikim më të ri. OPENEMAIL_DISABLE_UPDATE_NOTICE bën të njëjtën gjë
NO_COLOR, FORCE_COLOR=0Pa ngjyra
CIMos pyet kurrë, mos hap kurrë shfletues, mos kontrollo kurrë për përditësime. Shumica e shërbimeve CI njihen edhe pa të
VISUAL, EDITORRedaktori që hapin send dhe reply për një trup

Ekzekutimet pa mbikëqyrje

CLI pyet vetëm kur stdin dhe stdout janë të dyja terminale, dhe nuk vlen asnjë nga --json, --no-input ose CI. Përndryshe:

  • Një vlerë e detyrueshme që mungon ndalet me kodin e daljes 2 dhe emërton flamurin që duhet dhënë.
  • Një komandë shkatërruese ndalet me Refusing to run unattended. Pass --yes to confirm. dhe kodin e daljes 2, përveç nëse jepni --yes.
  • Një ndryshim që kërkon kod verifikimi ndalet me kodin e daljes 4, sepse askush nuk mund ta shkruajë. Përdorni një çelës API, ose ekzekutoni së pari openemail verify.

Në CI

Jepini punës një çelës API vetëm me fushëveprimet që i duhen, mbajeni në një sekret dhe lëreni OPENEMAIL_API_KEY ta bartë. Asgjë nuk ruhet, asgjë nuk pyet, dhe asnjë kontroll përditësimi nuk ekzekutohet.

.github/workflows/deploy.yml
- name: Tell the team  env:    OPENEMAIL_API_KEY: ${{ secrets.OPENEMAIL_API_KEY }}  run: |    npx -y @openemail/[email protected] send \      --from [email protected] \      --to [email protected] \      --subject "Deployed ${{ github.sha }}" \      --text "Build ${{ github.run_number }} is live." \      --idempotency-key "deploy-${{ github.run_id }}"
Prisni një email regjistrimi
ADDRESS=$(npx -y @openemail/[email protected] temp new --ttl 15)./signup-test.sh "$ADDRESS"npx -y @openemail/[email protected] temp watch --first --json | jq -r .snippetnpx -y @openemail/[email protected] temp delete --yes
Dështoni kur dërgimet dështojnë
failed=$(openemail emails list --status failed --json | jq ".items | length")test "$failed" -eq 0

Jepni --idempotency-key në një dërgim që një pipeline mund ta riprovojë, dhe nxirreni nga ajo që e bëri dërgimin të nevojshëm, si një ID ekzekutimi. Ekzekutimi sërish i hapit kthen atëherë dërgimin e parë në vend që të dërgojë dy herë.

Kutia juaj hyrëse,
sipas kushteve tuaja.

Infrastrukturë emaili për biznese, AI, agjentë dhe email personal. E ndërtuar për shkallë, privatësi dhe kontroll. Gjithçka që emaili duhej ta kishte që ditën e parë.

OpenEmail

Infrastrukturë emaili për biznese, AI, agjentë dhe email personal. E ndërtuar për shkallë, privatësi dhe kontroll. Gjithçka që emaili duhej ta kishte që ditën e parë.

© 2026 OpenEmail. Të gjitha të drejtat e rezervuara.