{"openapi":"3.1.0","info":{"title":"Temp Mail API","version":"1.0.0","description":"Disposable / temporary email as an API — no key, no signup. Spin up a throwaway mailbox in one call (you get back the address plus a token), then receive real inbound email and read it: list the inbox, open any message with its full HTML and plain-text body and attachments, mark messages seen, delete a single message, or delete the whole mailbox when done. List the available mailbox domains and look up account details (quota, usage). Perfect for sign-up flows, OTP / verification-code capture, QA and end-to-end test automation, and throwaway registrations. Inbox endpoints use a per-mailbox token returned by /v1/account/new (pass it as ?token= or an Authorization: Bearer header). Every call is live (no cache). 9 endpoints, backed by the public mail.tm service. Mailboxes are ephemeral. No upstream key, no cache.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/tempmail-api","description":"oanor gateway"}],"tags":[{"name":"Mailbox"},{"name":"Messages"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/account":{"get":{"operationId":"get_v1_account","tags":["Mailbox"],"summary":"Account details","description":"","parameters":[{"name":"token","in":"query","required":true,"description":"Mailbox JWT from /v1/account/new","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/account/delete":{"get":{"operationId":"get_v1_account_delete","tags":["Mailbox"],"summary":"Delete mailbox","description":"","parameters":[{"name":"token","in":"query","required":true,"description":"Mailbox JWT from /v1/account/new","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/account/new":{"get":{"operationId":"get_v1_account_new","tags":["Mailbox"],"summary":"Create disposable mailbox","description":"","parameters":[{"name":"username","in":"query","required":false,"description":"Custom local part (default: random)","schema":{"type":"string"}},{"name":"domain","in":"query","required":false,"description":"Domain (default: first available)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":"6a1f0a74da099a12b904068e","note":"Use this token (as ?token= or Authorization: Bearer) to read the inbox. The mailbox is disposable and may be purged by mail.tm.","used":0,"quota":40000000,"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE3ODA0MTkxODgsInJvbGVzIjpbIlJPTEVfVVNFUiJdLCJhZGRyZXNzIjoib2Ewc280cm1od3ZyQHdzaHUubmV0IiwiaWQiOiI2YTFmMGE3NGRhMDk5YTEyYjkwNDA2OGUiLCJtZXJjdXJlIjp7InN1YnNjcmliZSI6WyIvYWNjb3VudHMvNmExZjBhNzRkYTA5OWExMmI5MDQwNjhlIl19fQ.4Nq9EMw5dT75tJJu-vZxga4lrk3Adc62mHnOPt713uf4eRP612-QmWR_6Xtx9xx47prMzO4Ot-sETfwl3MwQKw","address":"oa0so4rmhwvr@wshu.net","password":"Pwx0kg7yt05wwqb7","createdAt":"2026-06-02T16:53:08+00:00"},"meta":{"timestamp":"2026-06-02T16:53:08.948Z","request_id":"0fe6ca5f-34af-45ed-b2db-57ba0829f344"},"status":"ok","message":"Create disposable mailbox","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/domains":{"get":{"operationId":"get_v1_domains","tags":["Mailbox"],"summary":"Available mailbox domains","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":1,"domains":[{"id":"69fbf6b9ab3b957d116c6be8","domain":"wshu.net","isActive":true,"createdAt":"2026-05-07T00:00:00+00:00"}]},"meta":{"timestamp":"2026-06-02T16:53:09.048Z","request_id":"90c4748a-a12c-40df-ae04-0637a424406f"},"status":"ok","message":"Available mailbox domains","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/message":{"get":{"operationId":"get_v1_message","tags":["Messages"],"summary":"Read one message","description":"","parameters":[{"name":"token","in":"query","required":true,"description":"Mailbox JWT from /v1/account/new","schema":{"type":"string"}},{"name":"id","in":"query","required":true,"description":"Message id","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/message/delete":{"get":{"operationId":"get_v1_message_delete","tags":["Messages"],"summary":"Delete one message","description":"","parameters":[{"name":"token","in":"query","required":true,"description":"Mailbox JWT from /v1/account/new","schema":{"type":"string"}},{"name":"id","in":"query","required":true,"description":"Message id","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/message/seen":{"get":{"operationId":"get_v1_message_seen","tags":["Messages"],"summary":"Mark message seen","description":"","parameters":[{"name":"token","in":"query","required":true,"description":"Mailbox JWT from /v1/account/new","schema":{"type":"string"}},{"name":"id","in":"query","required":true,"description":"Message id","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/messages":{"get":{"operationId":"get_v1_messages","tags":["Messages"],"summary":"List inbox messages","description":"","parameters":[{"name":"token","in":"query","required":true,"description":"Mailbox JWT from /v1/account/new","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"auth":"none upstream; this gateway requires x-api-key. Inbox endpoints need a per-mailbox token from /v1/account/new.","name":"Temp Mail API","note":"Create a throwaway mailbox, receive real inbound email, read/delete messages. Live, no cache. Token is a JWT — pass as ?token= or Authorization: Bearer. Mailboxes are ephemeral and may be purged upstream.","source":"mail.tm public REST (disposable email) — no key","endpoints":9},"meta":{"timestamp":"2026-06-02T16:53:09.156Z","request_id":"3fe60712-ef00-458f-b8d8-ff83fe8dc39b"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":2400,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":890,"monthly_call_quota":48000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2650,"monthly_call_quota":240000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6100,"monthly_call_quota":1180000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/tempmail-api"}