{"openapi":"3.1.0","info":{"title":"Fusspawn Temp Mail API","version":"0.1.0","description":"Temporary mailbox API for fusspawn.uk."},"servers":[{"url":"https://tmpmail.fusspawn.uk"}],"paths":{"/health":{"get":{"summary":"Health check","responses":{"200":{"description":"OK"}}}},"/domains":{"get":{"summary":"List domains","responses":{"200":{"description":"Available domains"}}}},"/accounts":{"post":{"summary":"Create account","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address","password"],"properties":{"address":{"type":"string","example":"demo@fusspawn.uk"},"password":{"type":"string","minLength":8}}}}}},"responses":{"201":{"description":"Account created"},"409":{"description":"Account already exists"}}}},"/token":{"post":{"summary":"Create bearer token","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address","password"],"properties":{"address":{"type":"string","example":"demo@fusspawn.uk"},"password":{"type":"string","minLength":8}}}}}},"responses":{"200":{"description":"Token response"},"401":{"description":"Invalid credentials"}}}},"/me":{"get":{"summary":"Get authenticated account","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid bearer token"}}}},"/messages":{"get":{"summary":"List authenticated account messages","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid bearer token"}}}},"/messages/{id}":{"get":{"summary":"Get one message","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid bearer token"}}},"delete":{"summary":"Delete one message","security":[{"bearerAuth":[]}],"responses":{"204":{"description":"Deleted"},"401":{"description":"Missing or invalid bearer token"}}}},"/messages/{id}/source":{"get":{"summary":"Download raw RFC 822 source","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Raw email source"},"401":{"description":"Missing or invalid bearer token"}}}}}}