RXmail API

Simple REST API for creating disposable email addresses and managing inbox messages.

Create or Validate Email

GET /api/email/{email}/{apikey}

Create or validate an email address.

Example Request
GET https://api.bloo.my.id/api/email/test@bloo.my.id/yourapikey
Response
"test@bloo.my.id"

Fetch Inbox Messages

GET /api/messages/{email}/{apikey}

Fetch latest inbox messages.
Returns maximum 20 messages ordered by newest first.

Example Request
GET https://api.bloo.my.id/api/messages/test@bloo.my.id/yourapikey
Response (With Messages)
[
  {
    "subject": "Wonderful Indonesia",
    "sender_name": "John Doe",
    "sender_email": "johndoe@domain.com",
    "timestamp": {
      "date": "2025-08-07 02:04:20.000000",
      "timezone_type": 1,
      "timezone": "+04:00"
    },
    "date": "07 Aug 2025 02:04 AM",
    "id": 27,
    "content": "",
    "attachments": []
  }
]
Response (Empty Inbox)
[]

Fetch Single Message

GET /api/message/{id}/{apikey}

Fetch a specific message by ID.

Example Request
GET https://api.bloo.my.id/api/message/27/yourapikey
Response
{
  "subject": "API Test Subject",
  "sender_name": "John Doe",
  "sender_email": "johndoe@domain.com",
  "timestamp": {
    "date": "2025-08-07 02:04:20.000000",
    "timezone_type": 1,
    "timezone": "+04:00"
  },
  "date": "07 Aug 2025 02:04 AM",
  "id": 27,
  "content": "<div dir=\"ltr\">Hello World</div>",
  "attachments": []
}

Delete Message

DELETE /api/message/{id}/{apikey}

Delete a message by ID.

Example Request
DELETE https://api.bloo.my.id/api/message/27/yourapikey
Response
[]

Example JavaScript Client

Basic JavaScript wrapper for interacting with the API.

Example Code
const API_KEY = 'buyapikey000000000000000';
const DOMAIN = 'bloo.my.id';

class rxMailApi {

    constructor(apiKey) {

        this.apiKey = apiKey;
        this.baseUrl = `https://api.${DOMAIN}/api/`;

    }

    async createEmail(email) {

    const response = await fetch(
        `${this.baseUrl}email/${email}/${this.apiKey}`
    );

    return await response.json();

}

    async fetchMessages(email) {

        const response = await fetch(
            `${this.baseUrl}messages/${email}/${this.apiKey}`
        );

        return await response.json();

    }

    async fetchSingleMessage(messageId) {

        const response = await fetch(
            `${this.baseUrl}message/${messageId}/${this.apiKey}`
        );

        return await response.json();

    }

    async deleteMessage(messageId) {

        const response = await fetch(
            `${this.baseUrl}message/${messageId}/${this.apiKey}`,
            {
                method: 'DELETE'
            }
        );

        return await response.json();

    }

}

// Usage
const api = new rxMailApi(API_KEY);

// Example usage
async function example() {

    try {

        // Create email
        const email = await api.createEmail('test@bloo.my.id');
console.log('Created Email:', email);

        // Fetch inbox messages
        const messages = await api.fetchMessages(email);
        console.log('Messages:', messages);

        // Fetch single message
        if (messages.length > 0) {

            const message = await api.fetchSingleMessage(messages[0].id);
            console.log('Single Message:', message);

            // Delete message
            await api.deleteMessage(messages[0].id);
            console.log('Message deleted');

        }

    } catch (error) {

        console.error('API Error:', error);

    }

}

example();