{"openapi":"3.1.0","info":{"title":"YelMail API","version":"1.0.0"},"servers":[{"url":"https://yelmail.com/api/v1"}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Premium API key starting with tm_"},"inboxToken":{"type":"apiKey","in":"header","name":"X-Inbox-Token","description":"Guest inbox token returned by POST /inboxes"}}},"paths":{"/domains":{"get":{"summary":"List domains you can create addresses on","parameters":[],"security":[],"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}}},"/inboxes":{"post":{"summary":"Create an inbox (random, or custom with localPart + domainId)","parameters":[],"security":[],"requestBody":{"content":{"application/json":{"example":{"localPart":"signup-test","domainId":"dom_123"}}}},"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}},"get":{"summary":"List your active inboxes","parameters":[],"security":[{"apiKey":[]},{"inboxToken":[]}],"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}}},"/inboxes/{id}":{"get":{"summary":"Get one inbox","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"inboxToken":[]}],"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}},"patch":{"summary":"Update label or forwarding target","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"inboxToken":[]}],"requestBody":{"content":{"application/json":{"example":{"label":"CI"}}}},"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}},"delete":{"summary":"Delete an inbox and its emails","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"inboxToken":[]}],"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}}},"/inboxes/{id}/messages":{"get":{"summary":"List messages (newest first, cursor pagination)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"inboxToken":[]}],"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}}},"/inboxes/{id}/stream":{"get":{"summary":"Server-Sent Events stream of new messages","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"inboxToken":[]}],"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}}},"/messages/{id}":{"get":{"summary":"Get a message with text, sanitized HTML and attachments","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"inboxToken":[]}],"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}},"delete":{"summary":"Delete a message","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"inboxToken":[]}],"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}}},"/messages/{id}/attachments/{attachmentId}":{"get":{"summary":"Download an attachment","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"attachmentId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"apiKey":[]},{"inboxToken":[]}],"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}}},"/me":{"get":{"summary":"Current user and plan entitlements","parameters":[],"security":[],"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}}},"/me/session":{"delete":{"summary":"Sign out the bearer session token sent with the request (apps, extension)","parameters":[],"security":[{"apiKey":[]},{"inboxToken":[]}],"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}}},"/extension/token":{"post":{"summary":"Browser extension sign-in: trade a connect code and PKCE verifier for a session token","parameters":[],"security":[],"requestBody":{"content":{"application/json":{"example":{"code":"dom_123","codeVerifier":"...","redirectUri":"https://<id>.chromiumapp.org/"}}}},"responses":{"200":{"description":"`{ data: ... }`"},"4XX":{"description":"`{ error: { code, message } }`"}}}}}}