Chaves, membros e funções
Gira as chaves de API e leia o que fizeram, convide e gira membros, escreva funções, verifique a credencial que está a usar e crie caixas de entrada descartáveis.
Visão geral
Estes comandos decidem quem e o que pode chegar ao espaço de trabalho. openemail keys gere as chaves de API e lê o que cada uma fez, openemail members gere as pessoas do espaço de trabalho e os respetivos convites, e openemail roles define o que um membro ou uma chave pode fazer. openemail me descreve a chave ou o início de sessão com que está a chamar, e openemail languages lista os idiomas que um envio traduzido aceita. As caixas de entrada descartáveis não precisam de nenhum início de sessão: openemail temp é a forma do dia a dia de usar uma, e openemail temp-mail é cada chamada da API por trás dela. openemail api chega a qualquer endpoint a que os outros comandos não cheguem.
- Um comando de chave aceita o id da chave, os 24 caracteres hexadecimais depois de
oe_live_, tal comokeys listo mostra. Um comando de membro aceita o id de conta,userIdemmembers list, nunca um endereço de email. Um comando de função aceita um idrole_deroles list, porque as funções não são procuradas pelo nome. - Os espaços de nomes respondem também a
key,member,role,languageetempMail. Os aliases de verbo habituais funcionam, comols,show,new,editerm. Emmembers, cujos verbos sãoadderemove,newecreatelevam aadd, erm,deledeletelevam aremove. openemail <command> --helplista cada argumento e opção com o tipo, o scope de que a chamada precisa, o método e o caminho, e o que devolve. Acrescente--jsonpara ter a mesma página como dados.
Todos os comandos
| Comando | O que faz |
|---|---|
| openemail me get | Descrever a chave de API ou o início de sessão no navegador com que está a chamar: os scopes, a função que a limita, o espaço de trabalho e a partir de que endereços pode enviar. Não precisa de scope |
| openemail me ping | Verificar que a credencial se autentica, como verificação de estado. Não precisa de scope |
| openemail me rotate | Dar à chave de API com que está a chamar um segredo novo, mostrado uma vez. Pede-lhe confirmação |
| openemail keys list | Listar as chaves de API do espaço de trabalho, da mais recente para a mais antiga, com o estado, os scopes, a função, o âmbito de envio e a última utilização. Nunca um segredo |
| openemail keys get <id> | Ler uma chave, sem o segredo |
| openemail keys create --name <value> | Criar uma chave e receber o segredo uma vez, em token |
| openemail keys update <id> | Mudar o nome de uma chave, substituir os scopes ou o âmbito de envio, ou desativá-la e ativá-la com --no-enabled e --enabled |
| openemail keys delete <id> | Remover da lista uma chave revogada, mantendo o histórico. Pede-lhe confirmação |
| openemail keys rotate <id> | Dar a uma chave um segredo novo, mostrado uma vez, e parar o anterior de imediato. Pede-lhe confirmação |
| openemail keys revoke <id> | Revogar uma chave de vez, com um --reason opcional. Pede-lhe confirmação |
| openemail keys list-requests <id> | Ler o registo de pedidos de uma chave: método, caminho, estado, código de erro, duração, IP e agente de utilizador |
| openemail keys list-activity <id> | Ler o que aconteceu a uma chave: criada, alterada, rodada, desativada e ativada, revogada, eliminada, e cada chamada recusada |
| openemail keys list-workspace-requests | Ler o registo de pedidos de cada chave que pode ver, ou das que --key-ids indica |
| openemail keys list-workspace-activity | Ler o que aconteceu a todas as chaves que pode ver, ou às que --key-ids indica |
| openemail roles list | Listar as funções do espaço de trabalho, primeiro as predefinidas, com quantos membros e chaves tem cada uma |
| openemail roles get <id> | Ler uma função com as permissões e as contagens de utilização em direto |
| openemail roles create --name <value> --permissions <a,b> | Criar uma função personalizada, com uma --description opcional |
| openemail roles update <id> | Mudar o nome de uma função, alterar a descrição ou substituir a lista de permissões inteira |
| openemail roles delete <id> | Eliminar uma função e passar quem a tem para a função de --reassign-to. Pede-lhe confirmação |
| openemail roles list-permissions | Listar o vocabulário de permissões, com uma etiqueta, um grupo e se uma chave pode ter cada uma |
| openemail members list | Listar todas as pessoas com acesso, primeiro o proprietário, com a função, as permissões e os endereços e domínios que cada uma pode usar |
| openemail members get <user-id> | Ler um membro pelo id de conta |
| openemail members add --email <value> --role-id <value> | Convidar alguém com uma função, e com endereços ou domínios inteiros através de --address-ids, --domain-ids e --access |
| openemail members update <user-id> --role-id <value> | Passar um membro para outra função. As concessões de endereços e domínios ficam como estão |
| openemail members remove <user-id> | Retirar alguém do espaço de trabalho com todas as concessões de endereços que tenha. Pede-lhe confirmação |
| openemail members grant-address <user-id> --address-id <value> | Dar a um membro um endereço, ou alterar o seu --access a ele |
| openemail members revoke-address <user-id> <address-id> | Retirar um endereço a um membro. Pede-lhe confirmação |
| openemail members list-invitations | Listar os convites que ninguém aceitou ainda, incluindo os expirados |
| openemail members revoke-invitation <invitation-id> | Retirar um convite, para que a sua ligação deixe de funcionar. Pede-lhe confirmação |
| openemail members resend-invitation <invitation-id> | Voltar a enviar um convite, com uma ligação nova e mais 14 dias |
| openemail languages list | Listar cada idioma que um envio traduzido aceita, pela ordem em que um seletor os deve mostrar. Não precisa de scope |
| openemail temp new [--name <local-part>] [--domain <domain>] [--ttl <minutes>] | Criar uma caixa de entrada descartável e mostrar só o endereço. Não precisa de início de sessão |
| openemail temp list | Listar as caixas de entrada descartáveis que esta CLI criou, sem consultar a rede |
| openemail temp read [inbox] [message-id] | Listar o correio de uma caixa, ou mostrar uma mensagem como texto legível |
| openemail temp watch [inbox] [--first] | Mostrar cada mensagem nova à medida que chega, verificando a cada 3 segundos |
| openemail temp delete [inbox] [--yes] | Eliminar agora uma caixa e o seu correio, e esquecer o seu token. Pede-lhe confirmação |
| openemail temp-mail list-domains | Listar os domínios em que é possível criar uma caixa de entrada descartável. Não precisa de credencial |
| openemail temp-mail create | Criar uma caixa de entrada descartável e o seu token de caixa, que a CLI guarda. Não precisa de credencial |
| openemail temp-mail get <inbox-id> | Ler a expiração de uma caixa, as extensões que lhe restam e o número de mensagens |
| openemail temp-mail extend <inbox-id> | Adiar a expiração até mais uma hora, dentro das 24 horas seguintes à criação da caixa |
| openemail temp-mail delete <inbox-id> | Destruir agora uma caixa e o seu correio. Pede-lhe confirmação |
| openemail temp-mail list-messages <inbox-id> | Listar uma página das mensagens, da mais recente para a mais antiga, cada uma com um pequeno excerto em texto simples |
| openemail temp-mail get-message <inbox-id> <message-id> | Ler uma mensagem com o corpo guardado e marcá-la como vista |
| openemail temp-mail delete-message <inbox-id> <message-id> | Eliminar uma mensagem com o corpo e os anexos. Pede-lhe confirmação |
| openemail temp-mail list-attachments <inbox-id> <message-id> | Ler os anexos de uma mensagem, com os bytes em base64 |
| openemail api <method> <path> | Chamar qualquer endpoint REST com o seu início de sessão, os códigos de verificação e as confirmações |
Cada opção está na ajuda do seu comando, por exemplo openemail keys create --help, openemail members add --help ou openemail temp new --help.
Chaves de API
Ler chaves precisa de keys:read, e cada alteração precisa de keys:manage. A um início de sessão no navegador nunca são concedidos keys:write nem keys:manage, por isso criar, alterar, rodar, revogar e eliminar chaves exige uma chave de API que tenha keys:manage, ou a aplicação web (openemail open api-keys). Um início de sessão no navegador com keys:read só lê chaves para o proprietário do espaço de trabalho, e o início de sessão de um membro é recusado com 403 owner_only.
keys create,keys rotateeme rotatemostram o segredo da chave, emtoken, uma vez, e depois a CLI avisa que nunca mais será mostrado. Cada leitura mostramaskedKeyem vez dele.- Se forem omitidos, uma chave nova tem apenas
emails:send, e fica com a função, o âmbito de envio e a expiração da chave que a cria.--domain-allowliste--address-allowlistdefinem a partir de que endereços pode enviar, e--expires-in-minutesaceita de 5 a 5.256.000, que são dez anos. - Uma chave nunca cria nem alcança uma chave mais ampla do que ela própria. Os scopes, a função, a expiração, o modo e o âmbito de envio têm todos de caber dentro da chave que chama, ou a chamada é recusada com 403
beyond_caller_authority, eparamindica o que era demasiado amplo. Uma chave limitada a alguns domínios ou endereços só vê as chaves dentro do seu próprio âmbito de envio, e qualquer outra dá 404. keys updatesubstitui o que enviar:--scopes,--address-allowliste--domain-allowlistaceitam cada um a lista nova inteira, e uma opção que omitir fica como estava.--no-enableddesativa uma chave, por isso cada chamada com ela é recusada cominactive_api_key, e--enabledrestaura-a exatamente. Assim para-se uma chave de uma forma que pode anular.keys revokeé de vez: a chave nunca pode voltar a ser ativada, rodada ou alterada.keys deletesó remove uma chave revogada, e qualquer outra é recusada com 409not_revoked. O registo de pedidos e a atividade de uma chave eliminada ficam, sob Chave eliminada.keys rotatenão tem período de sobreposição, por isso o segredo anterior deixa de funcionar no momento em que o novo volta. Quando a chave é a que o seu perfil guardado usa, a CLI guarda o novo segredo nesse perfil, para que continue a funcionar. Uma chave deOPENEMAIL_API_KEYou--api-keynão pode ser guardada, por isso a CLI indica-lhe que guarde o novo token onde quer que a chave antiga estivesse guardada.
O registo de pedidos guarda cada chamada que uma chave fez: método, caminho, estado, código de erro, duração, IP e agente de utilizador, nunca um corpo nem uma query string. Nada é apagado, por isso chega até à primeira chamada de uma chave, e as chamadas feitas com um início de sessão no navegador não estão nele. O registo de atividade guarda cada alteração a uma chave, e cada chamada que apresentou a chave e foi recusada, como auth_failed, com quem fez cada alteração em actor.
list-requestselist-activityleem uma chave.list-workspace-requestselist-workspace-activityleem cada chave que pode ver, ou até 50 que--key-idsindique, incluindo as chaves eliminadas.--sincee--untildelimitam um período e aceitam uma hora ISO 8601 como2026-09-01T00:00:00Z.--failed-onlymantém as chamadas respondidas com um estado 400 ou superior.
A sua credencial, e idiomas
openemail me get é o primeiro comando a executar quando uma chamada é recusada. Não precisa de scope, por isso qualquer chave ou início de sessão válidos se podem descrever a si próprios.
scopesé o que a credencial pode fazer neste momento: os scopes com que foi criada, reduzidos pela função com que foi emitida, calculados em cada pedido.grantedScopesé aquilo com que foi criada, eroleIdindica a função. Um scope que está emgrantedScopese falta emscopesfoi retirado pela função. Essa é a razão habitual de um 403insufficient_scopenuma chave que parece ter o scope, e a solução é alterar a função em vez de criar outra chave.domainAllowlisteaddressAllowlistdizem a partir de que endereços pode enviar. Ambos a null significa qualquer endereço que o espaço de trabalho tenha.- Com um início de sessão no navegador descreve o início de sessão:
objectéoauth_token,clientIdindica a aplicação ligada desta CLI, eexpiresAté quando termina a sua aprovação, ou null quando nunca termina. me pingrespondeok: truecom o mesmo detalhe de scopes mas sem as listas de permissões, o que serve para uma verificação de estado. Uma chave revogada, expirada, desativada ou mal escrita falha com um 401 e o código de saída3.me rotatedá à chave com que está a chamar um segredo novo. Precisa dekeys:write, que um início de sessão no navegador nunca tem, por isso exige uma chave de API. Tudo o resto da chave mantém-se, o segredo anterior deixa de funcionar de imediato, e um perfil guardado recebe o novo, como comkeys rotate. Uma resposta perdida pode deixar a chave com um segredo que ninguém viu, e nesse caso precisa de um novo a partir da aplicação web.openemail whoamimostra a mesma resposta formatada para pessoas.
openemail languages list mostra a tabela de idiomas inteira numa só resposta, cerca de duzentas linhas, com o código de cada idioma, o nome em inglês, o nome próprio, a bandeira e se é escrito da direita para a esquerda. O código, o nome em inglês ou o nome próprio funcionam como destino de um envio traduzido. Precisa de um início de sessão mas de nenhum scope. openemail ai languages mostra a mesma tabela com uma opção --search, e sem sessão iniciada mostra a tabela incluída na CLI.
Membros e funções
Um membro tem duas coisas que nunca se misturam. A sua função diz o que pode fazer, e as suas concessões de endereços e domínios dizem com que correio o pode fazer, cada concessão com o seu próprio acesso: member lê e envia, e viewer só lê. Um envio precisa das duas, por isso uma função com emails:send e uma concessão viewer num endereço continua sem poder enviar a partir dele. Um domínio inteiro cobre todos os seus endereços, incluindo os criados mais tarde.
members listpõe primeiro o proprietário do espaço de trabalho, marcado comisOwner, por isso deixe essa linha de fora ao contar lugares. O proprietário tem todas as permissões e não pode ser convidado, alterado nem removido, e ninguém que já esteja no espaço de trabalho pode ser convidado de novo: ambos os casos dão 422member_is_owner.- As pessoas que têm concessões de endereços mas a quem nunca foi dada uma função voltam com
implied: true, e a sua função é deduzida das concessões.members updatedá-lhes uma real. members addenvia um convite, mesmo a alguém que já tem conta. Nada é concedido até aceitar, e depois exatamente a função, os endereços e os domínios que o convite traz. Convidar de novo o mesmo endereço em dez minutos dá 409invitation_too_soon, e depois disso atualiza o convite pendente em vez de enviar um segundo.resend-invitationenvia uma ligação nova válida por mais 14 dias e retira a anterior, o que também renova um convite expirado.revoke-invitationretira um, e um convite que já foi aceite dá 409invitation_accepted, por isso remova antes o membro.members updatealtera a função e mais nada.grant-addressdá um endereço ou altera o acesso a ele, por isso executá-lo de novo com outro--accessaltera a concessão em vez de acrescentar uma segunda.revoke-addressretira um endereço e deixa os restantes. Revogar a última concessão de um membro deduzido remove-o do espaço de trabalho.members removetermina o acesso de alguém ao espaço de trabalho, a sua pertença e cada concessão, e indica emaddressesRevokedquantas concessões de endereços foram retiradas. A conta e o correio que enviou ficam intactos.
Uma função é também um teto para as chaves de API emitidas com ela. O que uma chave pode fazer são os seus próprios scopes reduzidos pelas permissões da sua função, calculados em cada pedido.
roles listmostra primeiro as funções predefinidas, pela ordem Owner, Admin, Member, Viewer, Developer e Billing, e depois as funções personalizadas por nome. Um espaço de trabalho tem até 24 funções personalizadas, e a partir daíroles createdá 422role_limit_reached.- Uma função guarda as permissões que as suas permissões implicam, por isso
templates:writeguarda tambémtemplates:read, eroles:writetrazroles:reademembers:read. Leia a lista na resposta em vez de a presumir. roles update --permissionssubstitui a lista inteira, por isso leia a função, altere a lista e envie-a por inteiro.--description nulllimpa a nota. Uma alteração aplica-se na chamada seguinte de cada membro e chave que tenha a função.- Todas as funções exceto Owner podem mudar de nome, ser reescritas e eliminadas, incluindo as predefinidas, e uma função predefinida eliminada não volta. A função de proprietário responde a uma edição com 409
role_immutablee a uma eliminação com 409role_undeletable. - Enquanto algum membro, chave de API ou convite pendente tiver uma função,
roles deleteprecisa de--reassign-tocom a função que os recebe, ou é recusado com 409role_in_use. As chaves revogadas continuam a apontar para a sua função, por isso uma função cuja contagem deapiKeysé 0 ainda pode precisar dele. A resposta indica as pessoasreassignede as chaveskeysReassigned. roles list-permissionslista o vocabulário inteiro com uma etiqueta e um grupo para cada uma. Algumas, comobilling:writeeworkspace:manage, voltam comscope: false: uma função pode tê-las, mas nenhuma chave.
Uma chave que tem roles:write pode editar a função que a limita e alargar-se na chamada seguinte, por isso não dê esse scope a chaves que só precisam de ler. Com um início de sessão no navegador, members:write e roles:write só são concedidos quando a aprovação cobre todo o espaço de trabalho e não alguns domínios ou endereços.
Caixas de entrada descartáveis
Uma caixa de entrada descartável não precisa de conta nem de início de sessão. Acede-se a ela com o seu próprio token de caixa, que começa por oe_inbox_ e volta uma única vez, quando a caixa é criada. Use openemail temp no dia a dia, e openemail temp-mail quando precisar de um campo ou de um passo que temp não mostra, como as extensões que restam, uma extensão ou os bytes de um anexo.
- Ambos guardam o token em
~/.openemail/temp-mail.json, que só você pode ler.temp newetemp-mail createguardam-no,temp listmostra as caixas criadas de qualquer uma das formas, e as duas eliminações esquecem-no. Uma caixa guardada pode ser indicada pelo endereço sempre que um comando pedir o seu id. - Para uma caixa que esta CLI não criou, passe o token com
--inbox-token. Sem token guardado nem passado, o comando para com o código de saída3antes de enviar o que quer que seja. - Os dois comandos de criação dão nomes diferentes às opções:
temp newaceita--name,--domaine--ttl, etemp-mail createaceita--local-part,--domaine--ttl-minutes. Uma parte local tem de 3 a 32 letras, dígitos, pontos, hífenes ou sublinhados, começa e acaba com uma letra ou um dígito, e nomes comopostmastersão recusados. A concessão dura de 1 a 1440 minutos, 60 por predefinição. - Cada endereço IP pode criar 6 caixas por hora e 30 por dia, e a seguinte dá 429
too_many_inboxes, código de saída8. Estender uma caixa que já tem não conta, por issotemp-mail extendé a resposta a esse limite. temp-mail extendacrescenta até uma hora, nunca para além de 24 horas depois de a caixa ter sido criada, e no máximo 23 vezes. LeiaextensionsLeftna resposta. Em 0, dá 409extension_limitde vez.temp-mail list-messageslê de 1 a 50 mensagens por página, 50 por predefinição, cada uma com umsnippetem texto simples de até 400 caracteres que muitas vezes contém um código de uso único. Nada além de uma página se perde, e--allpercorre todas as páginas.- Ler uma mensagem com
temp read,temp-mail get-messageoutemp-mail list-attachmentsmarca-a como vista. Um corpo com mais de 2 MB é cortado, comotruncatedindica, e um anexo com mais de 8 MB nunca foi guardado, por isso o seucontenté null. - Eliminar uma caixa elimina o seu correio de imediato, mas o endereço fica reservado até 7 dias depois de quando a concessão teria terminado, e pedi-lo de novo antes disso dá 409
address_taken.
O correio numa caixa de entrada descartável vem de desconhecidos, para um endereço que qualquer pessoa poderia indicar. O remetente nunca é verificado e nada no conteúdo é analisado, por isso trate as ligações, o HTML e os anexos com cuidado.
Qualquer endpoint, e o espaço de nomes security
openemail api <method> <path> envia um pedido através do mesmo transporte que qualquer outro comando, por isso aplicam-se o seu perfil ou a sua chave, a renovação do token, os códigos de verificação e as confirmações. Um caminho sozinho é um GET, e uma resposta JSON é mostrada formatada. openemail api /keys/self é a chamada por trás de me get.
-d,--datarecebe o corpo como JSON em linha, de um ficheiro com@path, ou de stdin com-.-q,--querye-H,--headerrecebemkey=valuee podem repetir-se, e-o,--outguarda a resposta tal como veio num ficheiro.- Um
DELETE, e qualquer chamada que um comando de recurso confirmaria, como revogar ou rodar uma chave, pede-lhe primeiro confirmação, e sem supervisão precisa de--yes. - Um pedido falhado mostra o erro da API e sai com o código correspondente.
O espaço de nomes security não aparece em openemail --help, porque é openemail verify que o conduz. Os seus verbos step-up-status, begin-step-up e verify-step-up são as chamadas que verify faz: verify --status lê o estado, e verify pede um código, solicita-lho e verifica-o. Existem para um início de sessão no navegador. Com uma chave de API cada um é recusado com 400 step_up_not_applicable, e openemail verify diz que uma chave nunca precisa de código.
Exemplos
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 billingExecute-o com uma chave de API que tenha keys:manage, por exemplo através de OPENEMAIL_API_KEY. O segredo passa da resposta diretamente para um perfil novo, por isso nunca aparece no ecrã nem num ficheiro. A chave só pode enviar a partir de billing.acme.com, e expira em 90 dias.
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" --yesDesativar primeiro a chave pode ser anulado com --enabled. Cada chamada que ainda a apresente é recusada e aparece na sua atividade como auth_failed, o que lhe diz o que ainda depende dela. Revogar não pode ser anulado, e só uma chave revogada pode ser eliminada.
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-invitationsA função volta também com threads:read e emails:read, porque as permissões que indica as implicam. Sam recebe a função e o domínio inteiro só quando aceitar. Com um início de sessão no navegador, members add pede primeiro um código de verificação.
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 e apiKeys são contados quando os pede, por isso mostram o que a eliminação vai mover. A simulação mostra o DELETE com reassignTo na query sem o enviar. Com um início de sessão no navegador, a atualização e a eliminação pedem cada uma um código de verificação, por isso execute primeiro openemail verify quando for um script a fazê-lo.
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 mostra só o endereço, por isso cabe numa variável da shell, e temp watch --first para na primeira mensagem. Aponte um formulário de registo para o endereço em vez de openemail send para apanhar o código de confirmação da mesma forma.
Scopes, confirmações e erros
| Scope | Comandos |
|---|---|
| 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 |
| Nenhum, com qualquer chave ou início de sessão | me get, me ping, languages list |
| Nenhum, e sem início de sessão | temp, temp-mail list-domains e create. Os outros comandos de temp-mail aceitam o token de caixa |
- Um início de sessão ou uma chave sem o scope para com o código de saída
4, indica o scope em falta e explica como o obter. - Estes pedem-lhe confirmação:
keys delete,rotateerevoke,me rotate,roles delete,members remove,revoke-addresserevoke-invitation,temp delete, etemp-mail deleteedelete-message. Responder que não sai com o código10e não altera nada. Sem supervisão e sem--yes, param com o código de saída2antes de enviar o que quer que seja. - Com um início de sessão no navegador,
roles updateeroles delete, emembers add,update,remove,grant-addresserevoke-address, também pedem um código de verificação, a menos que este início de sessão tenha verificado um nos últimos 60 minutos.--yesnunca o salta, e sem supervisão ninguém o pode escrever, por isso o comando para com o código de saída4. Execute primeiroopenemail verify. A uma chave de API nunca é pedido. --dry-runmostra o pedido que uma alteração enviaria, com o corpo, e sai com o código0sem o enviar nem lhe pedir confirmação.- Uma lista lê uma página.
--limitaceita de 1 a 100 e o servidor envia 25 quando é omitido, exceto emtemp-mail list-messages, que aceita de 1 a 50 e envia 50.--cursoraceita onextCursorda página anterior.--alllê todas as páginas,--max <n>para depois desse número de itens, e--ndjson, ou--allnum pipe, mostra um objeto JSON por linha. Com--json, uma lista mostra um único documento{ items, hasMore, nextCursor }. roles list-permissions,languages list,temp-mail list-domainsetemp-mail list-attachmentsdevolvem tudo de uma vez, como um array simples, sem páginas.- Uma recusa sai com o código do seu estado:
3para um 401, como uma chave revogada,4para um 403, comobeyond_caller_authorityouowner_only,5para um 404,6para um 409, comonot_revoked,role_in_useouinvitation_too_soon,7para um 400 ou um 422, comomember_is_ownerourole_limit_reached, e8para um 429, comotoo_many_inboxes. - Uma alteração que faria algo duas vezes nunca é repetida depois de uma falha de rede:
keys createerotate,me rotate,roles createedelete,members add,remove,revoke-addresseresend-invitation, etemp-mail create,extend,deleteedelete-message. Verifique antes de executar um de novo. As leituras, e as alterações que têm o mesmo efeito duas vezes, comokeys update,keys revoke,roles update,members updateegrant-address, são repetidas automaticamente.