{"openapi":"3.1.1","info":{"title":"Disposable Email","description":"Create short-lived disposable email inboxes on agentemailing.com, then list and fetch received messages.","version":"1.0.0"},"servers":[{"url":"https://api.onestop.sh/v1/invoke/side-projects/disposable-email"}],"security":[{"oneStopApiKey":[]}],"components":{"securitySchemes":{"oneStopApiKey":{"type":"http","scheme":"bearer"}}},"paths":{"/mailboxes":{"post":{"operationId":"create_mailbox","summary":"Create a temporary disposable email address","responses":{"200":{"description":"Existing active temporary mailbox","content":{"application/json":{"schema":{"type":"object","properties":{"mailbox":{"type":"object","properties":{"mailbox_id":{"type":"string"},"email":{"type":"string","format":"email"},"domain":{"type":"string","description":"The configured disposable email domain. This deployment uses agentemailing.com."},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"message_count":{"type":"integer","minimum":0}},"required":["mailbox_id","email","domain","created_at","expires_at","message_count"]},"created":{"type":"boolean"}},"required":["mailbox","created"]}}}},"201":{"description":"Temporary mailbox created","content":{"application/json":{"schema":{"type":"object","properties":{"mailbox":{"type":"object","properties":{"mailbox_id":{"type":"string"},"email":{"type":"string","format":"email"},"domain":{"type":"string","description":"The configured disposable email domain. This deployment uses agentemailing.com."},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"message_count":{"type":"integer","minimum":0}},"required":["mailbox_id","email","domain","created_at","expires_at","message_count"]},"created":{"type":"boolean"}},"required":["mailbox","created"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/mailboxes/current/status":{"get":{"operationId":"get_current_mailbox_status","summary":"Read the active mailbox status for this customer","responses":{"200":{"description":"Active mailbox status","content":{"application/json":{"schema":{"type":"object","properties":{"mailbox":{"type":"object","properties":{"mailbox_id":{"type":"string"},"email":{"type":"string","format":"email"},"domain":{"type":"string","description":"The configured disposable email domain. This deployment uses agentemailing.com."},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"message_count":{"type":"integer","minimum":0}},"required":["mailbox_id","email","domain","created_at","expires_at","message_count"]},"remaining_seconds":{"type":"integer","minimum":0},"max_expires_at":{"type":"string","format":"date-time"},"can_extend":{"type":"boolean"}},"required":["mailbox","remaining_seconds","max_expires_at","can_extend"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Active mailbox not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/mailboxes/current/extend":{"post":{"operationId":"extend_current_mailbox","summary":"Add the fixed extension window to the active mailbox for this customer","responses":{"200":{"description":"Extended active mailbox status","content":{"application/json":{"schema":{"type":"object","properties":{"mailbox":{"type":"object","properties":{"mailbox_id":{"type":"string"},"email":{"type":"string","format":"email"},"domain":{"type":"string","description":"The configured disposable email domain. This deployment uses agentemailing.com."},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"message_count":{"type":"integer","minimum":0}},"required":["mailbox_id","email","domain","created_at","expires_at","message_count"]},"remaining_seconds":{"type":"integer","minimum":0},"max_expires_at":{"type":"string","format":"date-time"},"can_extend":{"type":"boolean"}},"required":["mailbox","remaining_seconds","max_expires_at","can_extend"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Active mailbox not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"409":{"description":"Mailbox cannot be extended further","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/mailboxes/{mailbox_id}":{"get":{"operationId":"get_mailbox","summary":"Read mailbox metadata and message count","parameters":[{"name":"mailbox_id","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","pattern":"^m_[0-9a-f]{16}$","examples":["m_0123456789abcdef"]}}],"responses":{"200":{"description":"Mailbox metadata","content":{"application/json":{"schema":{"type":"object","properties":{"mailbox_id":{"type":"string"},"email":{"type":"string","format":"email"},"domain":{"type":"string","description":"The configured disposable email domain. This deployment uses agentemailing.com."},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"message_count":{"type":"integer","minimum":0}},"required":["mailbox_id","email","domain","created_at","expires_at","message_count"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Mailbox not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/mailboxes/{mailbox_id}/messages":{"get":{"operationId":"list_messages","summary":"List messages received by a temporary mailbox","parameters":[{"name":"mailbox_id","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","pattern":"^m_[0-9a-f]{16}$","examples":["m_0123456789abcdef"]}},{"name":"limit","in":"query","required":false,"style":"form","explode":true,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20,"examples":[20]}},{"name":"offset","in":"query","required":false,"style":"form","explode":true,"schema":{"type":["integer","null"],"minimum":0,"default":0,"examples":[0]}}],"responses":{"200":{"description":"Mailbox messages","content":{"application/json":{"schema":{"type":"object","properties":{"mailbox":{"type":"object","properties":{"mailbox_id":{"type":"string"},"email":{"type":"string","format":"email"},"domain":{"type":"string","description":"The configured disposable email domain. This deployment uses agentemailing.com."},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"message_count":{"type":"integer","minimum":0}},"required":["mailbox_id","email","domain","created_at","expires_at","message_count"]},"messages":{"type":"array","items":{"type":"object","properties":{"message_id":{"type":"string","format":"uuid"},"from_address":{"type":"string"},"to_address":{"type":"string"},"subject":{"type":["string","null"]},"received_at":{"type":"string","format":"date-time"},"raw_size":{"type":"integer","minimum":0,"maximum":1048576},"has_text":{"type":"boolean"},"has_html":{"type":"boolean"},"attachment_count":{"type":"integer","minimum":0}},"required":["message_id","from_address","to_address","subject","received_at","raw_size","has_text","has_html","attachment_count"]}},"next_offset":{"type":["integer","null"],"minimum":0}},"required":["mailbox","messages","next_offset"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Mailbox not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/mailboxes/{mailbox_id}/messages/{message_id}":{"get":{"operationId":"get_message","summary":"Fetch one parsed message","parameters":[{"name":"mailbox_id","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","pattern":"^m_[0-9a-f]{16}$","examples":["m_0123456789abcdef"]}},{"name":"message_id","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid","examples":["00000000-0000-4000-8000-000000000001"]}}],"responses":{"200":{"description":"Parsed message","content":{"application/json":{"schema":{"type":"object","properties":{"mailbox":{"type":"object","properties":{"mailbox_id":{"type":"string"},"email":{"type":"string","format":"email"},"domain":{"type":"string","description":"The configured disposable email domain. This deployment uses agentemailing.com."},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"message_count":{"type":"integer","minimum":0}},"required":["mailbox_id","email","domain","created_at","expires_at","message_count"]},"message":{"allOf":[{"type":"object","properties":{"message_id":{"type":"string","format":"uuid"},"from_address":{"type":"string"},"to_address":{"type":"string"},"subject":{"type":["string","null"]},"received_at":{"type":"string","format":"date-time"},"raw_size":{"type":"integer","minimum":0,"maximum":1048576},"has_text":{"type":"boolean"},"has_html":{"type":"boolean"},"attachment_count":{"type":"integer","minimum":0}},"required":["message_id","from_address","to_address","subject","received_at","raw_size","has_text","has_html","attachment_count"]},{"type":"object","properties":{"headers":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]}},"text_body":{"type":["string","null"]},"html_body":{"type":["string","null"]},"attachment_metadata":{"type":"array","items":{"type":"object","properties":{"filename":{"type":["string","null"]},"mime_type":{"type":"string"},"disposition":{"type":["string","null"]},"content_id":{"type":["string","null"]},"size_bytes":{"type":"integer","minimum":0}},"required":["filename","mime_type","disposition","content_id","size_bytes"]}}},"required":["headers","text_body","html_body","attachment_metadata"]}]}},"required":["mailbox","message"]}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Message not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}},"/mailboxes/{mailbox_id}/messages/{message_id}/raw":{"get":{"operationId":"get_raw_message","summary":"Fetch the raw RFC822 message bytes","parameters":[{"name":"mailbox_id","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","pattern":"^m_[0-9a-f]{16}$","examples":["m_0123456789abcdef"]}},{"name":"message_id","in":"path","required":true,"style":"simple","explode":false,"schema":{"type":"string","format":"uuid","examples":["00000000-0000-4000-8000-000000000001"]}}],"responses":{"200":{"description":"Raw RFC822 email","content":{"message/rfc822":{"schema":{"type":"string","contentMediaType":"application/octet-stream"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"404":{"description":"Message not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}}}}