Article Preview
Overview
This article provides a comprehensive migration plan for moving from Email on Acid (EoA) API v5 to Mailgun Inspect API. The focus is on email preview functionality and will not cover EoA functionality that is not being migrated, or new Mailgun Inspect functionality.
For more detail on our APIs, please see our API documentation for Mailgun Inspect and Email On Acid.
Unsupported EoA Functionality
Spam Testing (coming soon)
Analytics
New Mailgun Inspect Functionality
Image Validation
Link Validation
Accessibility Testing
Code Analysis
API Comparison Overview
Authentication
Aspect |
Email on Acid |
Mailgun Inspect |
|---|---|---|
Method |
HTTP Basic Auth |
HTTP Basic Auth |
Username |
API Key |
|
Password |
Account Password |
Your API Key |
Base URL (US) |
|
|
Base URL (EU) |
N/A |
|
Request Format
Aspect |
Email on Acid |
Mailgun Inspect |
|---|---|---|
Content-Type |
|
|
Accept Header |
|
|
API Version |
URL-based ( |
URL-based ( |
Core Functionality Mapping
1. List Available Clients
Email on Acid:
GET /v5/clients
Mailgun Inspect:
GET /v1/preview/tests/clients
Both endpoints return a collection of clients with the same structure.
2. Create Email Preview Test
Email on Acid (Request):
POST /v5/tests
Email on Acid (Request Body:
{
"subject": "Test Email Subject",
"html": "<html>...</html>",
"clients": ["client1", "client2"],
"transfer_encoding": "base64",
"charset": "utf-8",
"customer_id": "optional_customer_id",
"reference_id": "optional_reference_id"
}Mailgun Inspect (Request):
POST /v2/preview/tests
Mailgun Inspect (Request Body):
{
"subject": "Test Email Subject",
"html": "<html>...</html>",
"clients": ["client1", "client2"],
"transfer_encoding": "base64",
"charset": "utf-8",
"customer_id": "optional_customer_id",
"reference_id": "optional_reference_id"
"content_checking": {
"link_validation": false,
"image_validation": false,
"accessibility": false
}
}Key Differences:
Mailgun includes
content_checkingobject (set all tofalsefor basic preview)
Email on Acid (JSON Response):
{
"id": "test_id_here",
"customer_id": "optional_customer_id"
}Mailgun Inspect (JSON Response):
{
"id": "test_id_here",
"customer_id": "optional_customer_id",
"warnings": []
}
3. Get Test Results
Email on Acid:
GET /v5/tests/{test_id}/resultsMailgun Inspect:
GET /v1/preview/tests/{test_id}/resultsBoth APIs return identical data structures with client results in the JSON response:
{
"client_id": {
"id": "client_id",
"displayname": "Client Display Name",
"client": "Email Client",
"os": "Operating System",
"category": "Desktop|Mobile|Webmail",
"browser": "Browser Name (if applicable)",
"screenshots": {
"full": "url_to_full_screenshot",
"thumb": "url_to_thumbnail"
},
"thumbnail": "url_to_thumbnail",
"fullthumbnail": "url_to_full_thumbnail",
"status": "Complete|Processing|Failed",
"statusdetails": {}
}
4. Get Individual Client Result
Email on Acid:
GET /v5/tests/{test_id}/results/{client_id}Mailgun Inspect:
GET /v2/preview/tests/{test_id}/results/{client_id}Both endpoints return a single client result object with the same structure as in the full results.
5. Reprocess Test Results
Email on Acid:
PUT /v5/tests/{test_id}/results/reprocessMailgun Inspect:
PUT /v1/preview/tests/{test_id}/results/reprocessThe request body on these two API calls is identical.
6. Get Test Content
Email on Acid:
GET /v5/tests/{test_id}/content
GET /v5/tests/{test_id}/content/{type}Types: inlinecss, textonly
Mailgun Inspect:
GET /v1/preview/tests/{test_id}/content
GET /v1/preview/tests/{test_id}/content/{content}Content: inlinecss, textonly
7. List/Search Tests
Email on Acid:
GET /v5/tests
Mailgun Inspect:
GET /v2/preview/tests
Key Differences
Spam test aren’t supported on Mailgun Inspect so the
typeparameter serves no purpose.Mailgun doesn't have
reference_idfiltering in the documented API.
8. Get Test Information
Email on Acid:
GET /v5/tests/{test_id}Mailgun Inspect:
GET /v2/preview/tests/{test_id}
9. Delete Test
Email on Acid:
DELETE /v5/tests/{test_id}Mailgun Inspect:
DELETE /v2/preview/tests/{test_id}
10. Auto-Inbox Email Submission
Email on Acid:
Send email to provided auto-inbox address
Can append customer_id:
address+customer_id@api.mail.emailonacid.comSupports X-Headers for client selection and metadata
Mailgun Inspect:
POST /v1/preview/address
Migration Notes:
Mailgun generates a preview address via API call
Email on Acid provides a static address
Need to adapt workflow if using auto-inbox feature
X-Headers are not supported on Auto Inbox
Need Support?
Our Support Team here at Sinch Mailgun is happy to help! Reach out to us in the Support page of your Mailgun Control Panel, and we'll be with you shortly!