Back to Mail

Secure, stateless, and high-speed temporary email API documentation

Introduction

Yuki Mail developer API allows you to automate disposable email workflows. Our API lets you create inboxes, query received emails, and pull message details including complete HTML codes and attachment files.

All database records are stored locally on our high-speed VPS and are automatically deleted after 24 hours to ensure privacy and security.

Authentication

Yuki Mail API is completely **stateless and open**. No signups or API keys are required to use the service.

To access an inbox, use the recipient's **full email address** (e.g. `user@yukiapi.site`) as the authentication token in the request parameters.

GET /api/domains

Retrieves the list of active domains supported by the temporary email server.

curl -X GET "https://mail.yukiapi.site/api/domains"
fetch("https://mail.yukiapi.site/api/domains") .then(res => res.json()) .then(data => console.log(data));
import requests response = requests.get("https://mail.yukiapi.site/api/domains") print(response.json())
POST /api/account

Creates a temporary email session context. Since the API is stateless, this serves as a helper endpoint to validate name formats.

Request Body

Field Type Description
username string Clean inbox prefix (alphanumeric and dashes)
domain string Active domain name from /api/domains
curl -X POST "https://mail.yukiapi.site/api/account" \ -H "Content-Type: application/json" \ -d '{"username": "test", "domain": "yukiapi.site"}'
fetch("https://mail.yukiapi.site/api/account", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ username: "test", domain: "yukiapi.site" }) }) .then(res => res.json()) .then(data => console.log(data));
import requests payload = {"username": "test", "domain": "yukiapi.site"} response = requests.post("https://mail.yukiapi.site/api/account", json=payload) print(response.json())
GET /api/emails

Lists all emails received by the specified inbox token.

Query Parameters

Parameter Type Required Description
token string Yes Full email address (e.g. `test@yukiapi.site`)
curl -X GET "https://mail.yukiapi.site/api/emails?token=test@yukiapi.site"
fetch("https://mail.yukiapi.site/api/emails?token=test@yukiapi.site") .then(res => res.json()) .then(data => console.log(data));
import requests params = {"token": "test@yukiapi.site"} response = requests.get("https://mail.yukiapi.site/api/emails", params=params) print(response.json())
GET /api/email/{msg_id}

Retrieves the complete details of a specific email, including its HTML body, text body, and list of attachments.

Query Parameters

Parameter Type Required Description
token string Yes Full email address belonging to this message context
curl -X GET "https://mail.yukiapi.site/api/email/MESSAGE_ID?token=test@yukiapi.site"
fetch("https://mail.yukiapi.site/api/email/MESSAGE_ID?token=test@yukiapi.site") .then(res => res.json()) .then(data => console.log(data));
import requests params = {"token": "test@yukiapi.site"} response = requests.get("https://mail.yukiapi.site/api/email/MESSAGE_ID", params=params) print(response.json())
GET /api/download/{msg_id}

Streams and downloads a specific file attachment belonging to an email.

Query Parameters

Parameter Type Required Description
file_id string Yes Unique identifier of the attachment
token string Yes Full email address
curl -O -L "https://mail.yukiapi.site/api/download/MESSAGE_ID?file_id=FILE_ID&token=test@yukiapi.site"
// Direct link for browser downloads window.open("https://mail.yukiapi.site/api/download/MESSAGE_ID?file_id=FILE_ID&token=test@yukiapi.site");
import requests params = { "file_id": "FILE_ID", "token": "test@yukiapi.site" } response = requests.get("https://mail.yukiapi.site/api/download/MESSAGE_ID", params=params) with open("attachment_file", "wb") as f: f.write(response.content)