Saltar para a documentação
API

Criar uma caixa de entrada

Emite um endereço e devolve o token que o lê. Todos os campos são opcionais, incluindo o corpo.

POSTapi.openemail.uk/temp-mail/inboxes

Executa a chamada real contra o seu espaço de trabalho, com a sua própria chave.

POST /temp-mail/inboxes

Emite um endereço e devolve o token que o lê. Todos os campos são opcionais, incluindo o corpo.

Sem credencial

shell
export OE=https://api.openemail.uk

Não envie qualquer cabeçalho Authorization. Este é o único recurso da API que responde sem ele. Está registado antes da verificação da chave, em vez de lhe ser atribuído um âmbito, porque o que se oferece é um endereço para quem não tem nenhum, e pedir primeiro uma chave faria disto um formulário de captação de contactos disfarçado de ferramenta.

Exemplo

Um corpo vazio é válido e é o caso comum: uma parte local gerada, num domínio escolhido do conjunto, concedida por uma hora.

curl
curl -X POST "$OE/temp-mail/inboxes" -H "Content-Type: application/json" \  -d '{ "localPart": "octopus-signup", "ttlMinutes": 120 }'
Resposta
{  "object": "temp_inbox",  "id": "tinb_9c2f41ab7d3e4c118a0f5d72",  "address": "[email protected]",  "domain": "freemailaddress.com",  "createdAt": "2026-09-01T10:00:00.000Z",  "expiresAt": "2026-09-01T12:00:00.000Z",  "extensionsLeft": 22,  "messageCount": 0,  "messageLimit": 50,  "lastMessageAt": null,  "token": "oe_inbox_kQ8v…"}

201, e a única resposta em toda a API que contém token. Guarde-o antes de fazer qualquer outra coisa com o endereço.

Uma parte local gerada tem doze caracteres de um alfabeto sem vogais nem caracteres semelhantes entre si, pelo que não forma palavras e resiste a ser lida num ecrã.

Tudo o que pode ser recusado é recusado de forma explícita, em vez de ajustado: 422 unknown_domain, invalid_address, reserved_address ou invalid_parameter para um ttlMinutes fora do intervalo de 1 a 1440; 409 address_taken para uma parte local já ocupada; 429 too_many_inboxes ao atingir o limite de emissão; 503 temp_mail_unavailable numa instalação sem qualquer domínio no conjunto.

Parâmetros

Corpo

domainstring
Um dos devolvidos por `GET /temp-mail/domains`. Se o omitir, o conjunto escolhe ao acaso em vez de encher o primeiro domínio. Um domínio que recebe todos os registos descartáveis da internet ganha a reputação correspondente, e essa reputação é partilhada por todos os endereços nele. Um domínio que não está no conjunto é recusado de forma explícita (422 `unknown_domain`) em vez de ser substituído silenciosamente, porque já teria copiado o endereço que pediu.
localPartstring
A parte antes do @, se a quiser escolher: 3 a 32 caracteres entre letras, algarismos, pontos, hífenes e sublinhados, a começar e a terminar numa letra ou num algarismo. É mais restrito do que o RFC 5321 permite, porque esta string vai para um caminho de URL, um cabeçalho `To:` e uma página de HTML. O `+` está excluído, uma vez que o subendereçamento é colapsado à entrada, pelo que `alice+bob` seria um nome através do qual não poderia ser efetivamente contactado. Os nomes ocupados respondem 409 `address_taken`, o que cobre dois casos: outro visitante detém-no (ou deteve-o na última semana, enquanto o endereço ainda está fora de circulação), ou o proprietário do domínio criou-o como endereço real, o que é recusado com o mesmo código porque o correio enviado para ele chega ao proprietário e nunca a si. `postmaster` e os restantes endereços reservados respondem 422 `reserved_address`.
ttlMinutesnumber
Duração da concessão, em minutos, de 1 a 1440. Predefinição: 60. Qualquer valor fora desse intervalo responde 422 `invalid_parameter` com a indicação do campo, em vez de ser ajustado silenciosamente. Já teria mostrado a alguém a expiração que pediu. As 24 horas contam a partir da criação, pelo que cada hora pedida à partida é uma extensão que não pode ser usada mais tarde: `ttlMinutes: 120` devolve 22 extensões, e 1440 nenhuma.

Resposta: temp_inbox, mais um token

idstring
O id da caixa de entrada: `tinb_` seguido de vinte e quatro caracteres hexadecimais. Vai no caminho de todas as outras chamadas e não é secreto. O token é.
addressstring
O endereço a fornecer. O correio endereçado a `that+anything@` também lhe chega, porque o subendereçamento é colapsado antes da pesquisa.
domainstring
O domínio do conjunto a que o endereço pertence, apresentado à parte para que um cliente não tenha de analisar o endereço para o mostrar.
createdAtstring
ISO-8601. O limite de 24 horas conta a partir deste valor, não da última extensão.
expiresAtstring
ISO-8601. Passado este momento, o token deixa imediatamente de autenticar e a limpeza apaga o correio na execução seguinte.
extensionsLeftnumber
Quantas vezes mais `extend` vai efetivamente acrescentar tempo, contando com ambos os limites: as 23 extensões que uma concessão permite e as 24 horas desde `createdAt` que nunca pode ultrapassar, consoante o que for atingido primeiro. Uma caixa de entrada criada com `ttlMinutes: 1440` indica 0 sem ter gasto nada. Zero significa que a chamada responderia 409, e é com base nisso que um cliente deve desativar o botão, em vez de o descobrir ao carregar nele.
messageCountnumber
Mensagens que esta caixa de entrada ACEITOU, não quantas estão visíveis. Não diminui quando apaga uma: o limite conta as chegadas, pelo que apagar liberta armazenamento, mas não capacidade.
messageLimitnumber
O limite, enviado em cada caixa de entrada para que um cliente possa indicar "cheia" sem codificar a nossa constante.
lastMessageAtstring | null
Quando chegou correio pela última vez, em ISO-8601, ou null se ainda não chegou nenhum. Para quem está à espera há dois minutos, null numa caixa de entrada acabada de criar lê-se de forma muito diferente de uma caixa sem movimento.
tokenstring
A credencial, nesta resposta e em nenhuma outra. `oe_inbox_` seguido de 43 caracteres base64url; a linha guarda apenas um hash com chave, pelo que não pode ser relida nem recuperada.

Todas as outras respostas de caixa de entrada (obter, estender) são este objeto sem token.