Complete guide to integrate temporary email functionality into your applications
https://parekso-temp.pages.dev/apiNo authentication required. All endpoints are publicly accessible.
All responses are in JSON format.
jigidaw.my.idpoam.jigidaw.my.idrokbar.jigidaw.my.idpoam.secretkey.funrokbar.secretkey.funQuery GET /api/emails/domains to fetch the currently selectable domains dynamically.
// Step 1: Generate email
const gen = await fetch('https://parekso-temp.pages.dev/api/emails/generate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ customName: 'test', domain: 'poam.jigidaw.my.id' })
})
const { data } = await gen.json()
const emailId = data.id
const emailAddress = data.email // test@poam.jigidaw.my.id
// Step 2: Poll for messages (every 10 seconds)
setInterval(async () => {
const msgs = await fetch(`https://parekso-temp.pages.dev/api/emails/${emailId}/messages`)
const { data: { messages } } = await msgs.json()
console.log(`Received ${messages.length} messages`)
// Check for OTP codes
messages.forEach(msg => {
if (msg.otp_code) {
console.log('OTP Code:', msg.otp_code)
}
})
}, 10000)POST /api/emails/generate{
"customName": "myemail", // Required: 3-30 lowercase letters/numbers
"domain": "jigidaw.my.id" // Required: exact hostname from GET /api/emails/domains
}GET /api/emails/domains{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "myemail@jigidaw.my.id",
"domain": "jigidaw.my.id",
"localPart": "myemail",
"subdomain": "jigidaw.my.id",
"createdAt": "2025-01-15T10:30:00Z",
"expiresAt": null,
"isActive": true
}
}// 400 Bad Request - Invalid name
{
"error": "Email name must be between 3 and 30 characters"
}
// 400 Bad Request - Unsupported domain
{
"error": "Unsupported domain"
}
// 409 Conflict - Email exists
{
"error": "Email address already exists and is active"
}curl -X POST https://parekso-temp.pages.dev/api/emails/generate \
-H "Content-Type: application/json" \
-d '{"customName": "myemail", "domain": "poam.jigidaw.my.id"}'const response = await fetch('https://parekso-temp.pages.dev/api/emails/generate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
customName: 'myemail',
domain: 'poam.jigidaw.my.id'
})
});
const result = await response.json();
console.log(result.data.email); // myemail@poam.jigidaw.my.id