← Quay lại trang nhận mail

📖 API Documentation

Tạo email tạm thời hoặc vĩnh viễn (có mật khẩu), nhận mail và lấy mã OTP tự động qua REST API. Không cần API key.

1
Tạo Mailbox
POST /random hoặc /custom
2
Lưu Address
Dùng address để truy vấn inbox
3
Đọc Inbox
GET /inbox/{address}
4
Lấy OTP
GET /inbox/{address}/latest-code
Base URL:
Domains Mail Không MK Đọc Inbox Lấy OTP Mail Có MK Đăng Nhập Đổi MK Khôi Phục Hàng Loạt Ví Dụ Code

📋 Danh Sách Domain

GET /api/v1/domains Lấy danh sách domain khả dụng

Response

// 200 OK { "items": [ { "id": 1, "name": "1azstool.click" }, { "id": 2, "name": "oneazstool.online" } ] }

🎲 Tạo Mailbox Không Mật Khẩu

POST /api/v1/mailboxes/random Tạo mailbox ngẫu nhiên (tạm thời)

Request Body

Tham sốKiểuMô tả
domainrequiredstringTên domain

Ví dụ

curl -X POST "{BASE}/api/v1/mailboxes/random" \ -H "Content-Type: application/json" \ -d '{"domain": "1azstool.click"}'

Response

// 201 Created { "address": "k8xj2m@1azstool.click", "expires_at": "2026-03-20T17:00:00+07:00" }
📌 Lưu ý: Mail tạm thời sẽ hết hạn sau vài giờ. Dùng address để đọc inbox — không cần token hay mật khẩu.
POST /api/v1/mailboxes/custom Tạo mailbox tùy chỉnh (tạm thời)

Request Body

Tham sốKiểuMô tả
domainrequiredstringTên domain
local_partrequiredstringPhần tên trước @, 3-32 ký tự

Response

// 201 Created { "address": "mytest123@1azstool.click", "expires_at": "2026-03-20T17:00:00+07:00" }

📥 Đọc Inbox

GET /api/v1/inbox/{address} Lấy danh sách email trong mailbox

Parameters

Tham sốVị tríMô tả
addressrequiredPathĐịa chỉ email đầy đủ
X-Mailbox-PasswordheaderHeaderMật khẩu mailbox (chỉ bắt buộc nếu mail có MK)

Ví dụ — Mail không MK

curl -s "{BASE}/api/v1/inbox/k8xj2m@1azstool.click"

Ví dụ — Mail có MK

curl -s "{BASE}/api/v1/inbox/mymail@1azstool.click" \ -H "X-Mailbox-Password: MyPassword123"

Response

// 200 OK { "items": [ { "id": 1, "from_email": "noreply@facebook.com", "subject": "Mã xác nhận của bạn", "detected_code": "483921", "received_at": "2026-03-19T17:00:00+07:00" } ] }
⚠️ Nếu mailbox có mật khẩu mà không truyền header X-Mailbox-Password, API sẽ trả 401 Unauthorized.

🔐 Lấy Mã OTP Mới Nhất

GET /api/v1/inbox/{address}/latest-code Trả mã OTP/code mới nhất (nếu có)

Parameters

Tham sốVị tríMô tả
addressrequiredPathĐịa chỉ email
X-Mailbox-PasswordheaderHeaderMật khẩu (nếu mail có MK)

Response (có code)

// 200 OK { "code": "483921", "message_id": 1, "subject": "Mã xác nhận của bạn", "from_email": "noreply@facebook.com", "received_at": "2026-03-19T17:00:00+07:00" }

Response (chưa có code)

// 200 OK { "code": null, "message_id": null, "subject": null, "from_email": null, "received_at": null }
💡 Mẹo: Gọi endpoint này trong vòng lặp (polling mỗi 3-5 giây) để chờ OTP. Khi code khác null thì đã nhận được mã.

📄 Chi Tiết Một Email

GET /api/v1/messages/{message_id} Xem nội dung đầy đủ của email

Parameters

Tham sốVị tríMô tả
message_idrequiredPathID của message (lấy từ danh sách inbox)

Response

// 200 OK { "id": 1, "from_email": "noreply@facebook.com", "subject": "Mã xác nhận", "text_body": "Mã OTP của bạn là: 483921", "html_body": "<p>Mã OTP: <b>483921</b></p>", "detected_code": "483921", "received_at": "2026-03-19T17:00:00+07:00" }

🔒 Tạo Mailbox Có Mật Khẩu (Vĩnh Viễn)

POST /api/v1/mailboxes/create-with-password Tạo mailbox vĩnh viễn, bảo vệ bằng mật khẩu

Request Body

Tham sốKiểuMô tả
domainrequiredstringTên domain
local_partoptionalstringTên trước @. Bỏ trống = random
passwordoptionalstringMật khẩu (≥ 4 ký tự)
generate_passwordoptionalbooleantrue = tự sinh mật khẩu random

Ví dụ — Tự chọn mật khẩu

curl -X POST "{BASE}/api/v1/mailboxes/create-with-password" \ -H "Content-Type: application/json" \ -d '{"domain": "1azstool.click", "password": "MyPass123"}'

Ví dụ — Sinh mật khẩu random

curl -X POST "{BASE}/api/v1/mailboxes/create-with-password" \ -H "Content-Type: application/json" \ -d '{"domain": "1azstool.click", "generate_password": true}'

Response

// 201 Created { "address": "abc123@1azstool.click", "expires_at": "2099-12-31T07:00:00+07:00", "password": "MyPass123", "is_permanent": true }
⚠️ Quan trọng: Mật khẩu chỉ hiện 1 lần duy nhất trong response tạo mailbox. Hãy lưu lại ngay!

🔑 Đăng Nhập Mailbox

POST /api/v1/mailboxes/login Xác thực email + mật khẩu

Request Body

Tham sốKiểuMô tả
addressrequiredstringĐịa chỉ email
passwordrequiredstringMật khẩu

Response

// 200 OK { "address": "abc123@1azstool.click", "is_permanent": true, "has_recovery_email": false }

🔄 Đổi Mật Khẩu

POST /api/v1/mailboxes/change-password Đổi mật khẩu mailbox

Request Body

Tham sốKiểuMô tả
addressrequiredstringĐịa chỉ email
old_passwordrequiredstringMật khẩu hiện tại
new_passwordrequiredstringMật khẩu mới (≥ 4 ký tự)

Ví dụ

curl -X POST "{BASE}/api/v1/mailboxes/change-password" \ -H "Content-Type: application/json" \ -d '{"address": "abc123@1azstool.click", "old_password": "MyPass123", "new_password": "NewPass456"}'

Response

// 200 OK { "message": "Đổi mật khẩu thành công" }

🆘 Khôi Phục Mật Khẩu

POST /api/v1/mailboxes/recovery-email Thêm / đổi email khôi phục

Request Body

Tham sốKiểuMô tả
addressrequiredstringĐịa chỉ email
passwordrequiredstringMật khẩu hiện tại
recovery_emailrequiredstringEmail khôi phục mới

Response

{ "message": "Đã lưu mail khôi phục" }
POST /api/v1/mailboxes/forgot-password Gửi mã xác thực đến email khôi phục

Request Body

Tham sốKiểuMô tả
addressrequiredstringĐịa chỉ email cần khôi phục

Response

{ "message": "Mã xác thực đã gửi đến te***@gmail.com", "recovery_email_masked": "te***@gmail.com" }
POST /api/v1/mailboxes/reset-password Đặt lại mật khẩu bằng mã xác thực

Request Body

Tham sốKiểuMô tả
addressrequiredstringĐịa chỉ email
coderequiredstringMã 6 số từ email khôi phục
new_passwordrequiredstringMật khẩu mới (≥ 4 ký tự)

Response

{ "message": "Mật khẩu đã được đặt lại thành công" }

📦 Thao Tác Hàng Loạt

POST /api/v1/mailboxes/bulk-update Đổi MK / recovery email cho nhiều mailbox cùng lúc

Request Body

Tham sốKiểuMô tả
itemsrequiredarrayMảng [{address, password}] — mỗi mail cần xác thực MK cũ
new_passwordoptionalstringMật khẩu mới (áp dụng tất cả)
new_recovery_emailoptionalstringEmail khôi phục mới (áp dụng tất cả)

Ví dụ

curl -X POST "{BASE}/api/v1/mailboxes/bulk-update" \ -H "Content-Type: application/json" \ -d '{ "items": [ {"address": "mail1@1azstool.click", "password": "oldpw1"}, {"address": "mail2@1azstool.click", "password": "oldpw2"} ], "new_password": "NewCommonPass", "new_recovery_email": "mybackup@gmail.com" }'

Response

{ "total": 2, "success_count": 2, "results": [ { "address": "mail1@...", "success": true, "error": null }, { "address": "mail2@...", "success": true, "error": null } ] }

🗑️ Xóa Mailbox

DELETE /api/v1/mailboxes/{address} Xóa mailbox và toàn bộ email

Parameters

Tham sốVị tríMô tả
addressrequiredPathĐịa chỉ email
X-Mailbox-PasswordheaderHeaderMật khẩu (bắt buộc nếu mail có MK)

Response

{ "deleted": true }

💻 Ví Dụ Tích Hợp

PY Python — Mail tạm thời + chờ OTP
# pip install requests import requests, time BASE = "https://1azstool.click" # Bước 1: Tạo mailbox random res = requests.post(f"{BASE}/api/v1/mailboxes/random", json={"domain": "1azstool.click"}) data = res.json() email = data["address"] print(f"📧 Email: {email}") # Bước 2: Dùng email đăng ký dịch vụ... # Bước 3: Polling chờ OTP (tối đa 60s) for _ in range(20): r = requests.get(f"{BASE}/api/v1/inbox/{email}/latest-code") code = r.json()["code"] if code: print(f"🔐 OTP: {code}") break time.sleep(3)
PY Python — Mail có mật khẩu + chờ OTP
import requests, time BASE = "https://1azstool.click" # Bước 1: Tạo mailbox có mật khẩu res = requests.post(f"{BASE}/api/v1/mailboxes/create-with-password", json={"domain": "1azstool.click", "password": "MyPass123"}) data = res.json() email = data["address"] pw = "MyPass123" print(f"📧 Email: {email}") # Bước 2: Đọc inbox (cần header password) headers = {"X-Mailbox-Password": pw} for _ in range(20): r = requests.get(f"{BASE}/api/v1/inbox/{email}/latest-code", headers=headers) code = r.json()["code"] if code: print(f"🔐 OTP: {code}") break time.sleep(3) # Bước 3: Đổi mật khẩu (optional) requests.post(f"{BASE}/api/v1/mailboxes/change-password", json={"address": email, "old_password": pw, "new_password": "NewPass456"})
JS JavaScript (Node.js / Fetch)
const BASE = "https://1azstool.click"; // Bước 1: Tạo mailbox const res = await fetch(`${BASE}/api/v1/mailboxes/random`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ domain: "1azstool.click" }) }); const { address } = await res.json(); console.log(`📧 Email: ${address}`); // Bước 2: Polling chờ OTP const sleep = ms => new Promise(r => setTimeout(r, ms)); for (let i = 0; i < 20; i++) { const r = await fetch(`${BASE}/api/v1/inbox/${address}/latest-code`); const { code } = await r.json(); if (code) { console.log(`🔐 OTP: ${code}`); break; } await sleep(3000); }