{"openapi":"3.1.0","info":{"title":"Onyx Mail — disposable email API","version":"1.3.0","description":"Multi-provider disposable mailboxes (1timetech, guerrillamail, grabmail, zenvex), full HTML message reading, and a shared premium Gmail pool. Auth is the mailbox id: `bx_<id>` (1timetech), `gm_<base64url({a,s})>` (guerrillamail), `gr_<base64url(address)>` (grabmail) or `zv_<base64url(address)>` (zenvex)."},"servers":[{"url":"https://mail.sixty9.tech"}],"paths":{"/health":{"get":{"operationId":"tempMailDomains","summary":"Status, provider health, domains","responses":{"200":{"description":"OK"}}}},"/domains":{"get":{"operationId":"tempMailDomainsTm","summary":"Domains in mail.tm format (provider, receive mode, verified flag)","responses":{"200":{"description":"OK"}}}},"/status":{"get":{"operationId":"tempMailStatus","summary":"Provider + domain delivery matrix (live, verified, receive mode)","responses":{"200":{"description":"{counts, verifiedDomains, untestedDomains, poolDomains, providers, domains}"}}}},"/verify":{"get":{"operationId":"tempMailVerify","summary":"Is a mailbox reachable right now, and how many messages does it hold","parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"{ok, provider, receive, verified, messages}"},"422":{"description":"unknown domain / bad address"}}}},"/accounts":{"post":{"operationId":"tempMailCreate","summary":"Create or fetch a mailbox (routes by domain)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","examples":["bot1@oletters.com"]},"password":{"type":"string"}}}}}},"responses":{"201":{"description":"{id, address, provider}"},"422":{"description":"invalid address / provider error"}}}},"/token":{"post":{"operationId":"tempMailToken","summary":"Exchange an address for a bearer token","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string"}}}}}},"responses":{"200":{"description":"{token, id, address, provider}"},"401":{"description":"login failed"}}}},"/messages":{"get":{"operationId":"tempMailMessages","summary":"List messages in the mailbox","security":[{"bearer":[]}],"responses":{"200":{"description":"{ \"hydra:member\": [...] }"},"401":{"description":"unauthorized"}}}},"/messages/{id}":{"get":{"operationId":"tempMailRead","summary":"Read one message with full text + html","security":[{"bearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"{..., text, html[]}"},"404":{"description":"not found"}}},"delete":{"operationId":"tempMailDelete","summary":"No-op, returns 204","responses":{"204":{"description":"no content"}}}},"/sources/{id}":{"get":{"operationId":"tempMailSource","summary":"Raw HTML of a message","security":[{"bearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"text/html"}}}},"/gmail":{"post":{"operationId":"tempMailGmailPool","summary":"Claim a random real Gmail inbox (shared pool)","responses":{"201":{"description":"{id, address, token}"}}}}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"bx_<mailboxId> | tm_<base64url(address)>"}}}}