External Tests API
Simplified API for third-party integrations
External Tests API
The External Tests API is designed for third-party integrations like DMARC Reporter, New Reply, and other services that need to embed deliverability testing.
For direct InboxIssue users: Consider using the Spam Tests API instead, which provides richer features and shareable reports.
Webhooks Recommended: External Tests are typically used with webhooks for real-time result notifications. This allows your integration to receive results automatically without polling.
Quick Start
1. Get Available Test Addresses
2. Create a Test
3. Send Your Test Email
Send your email to all addresses returned in send_to. Include the tracking_id in your email body or subject line.
4. Poll for Results
Endpoints
List Providers
Retrieve available test email addresses grouped by provider type.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
provider_types[] | array | No | Filter by types: consumer, business, protected |
Response
Provider Types
| Type | Description | Examples |
|---|---|---|
consumer | Free consumer email | Gmail, Yahoo, AOL, Outlook.com, iCloud |
business | Enterprise email | Office 365, Google Workspace, Exchange |
protected | Commercial spam filters | Mimecast, Proofpoint, Barracuda |
Provider Status
| Status | Description |
|---|---|
healthy | Active and receiving emails |
degraded | Experiencing delays |
unhealthy | Temporarily unavailable |
Create Test
Create a new deliverability test.
Request Body
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
external_test.name | string | No | Human-readable test name |
external_test.source | string | No | Your application identifier |
external_test.metadata | object | No | Custom key-value pairs |
provider_types | array | No | Provider types to test (defaults to all) |
Response (201 Created)
Important: You MUST include the tracking_id in your email body or subject line for InboxIssue to correlate results with your test.
Get Test Status
Retrieve test status and results.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | integer/string | Test ID or test key |
Response
Test Status Values
| Status | Description |
|---|---|
pending | Test created, no results yet |
in_progress | Some results received |
complete | All results received |
expired | Timed out (60 minutes) |
Result Status Values
| Status | Description |
|---|---|
pending | Waiting for email |
received | Email received and analyzed |
List Tests
List external tests with pagination.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
source | string | - | Filter by source |
status | string | - | Filter by status |
page | integer | 1 | Page number |
per_page | integer | 10 | Results per page (max 50) |
Response
Result Details
Authentication Results
Each result includes authentication details:
Spam Scores
Microsoft providers return detailed spam scores:
See Deliverability Insights for score interpretation.
Best Practices
Use Meaningful Metadata
Include metadata for result correlation:
Test All Provider Types
For comprehensive results:
Use Webhooks
Instead of polling, use webhooks for real-time results.
Handle Expiration
Tests expire after 60 minutes. Check for expired status:
Related
- Authentication - API tokens
- Code Examples - SDK examples
- Webhooks - Real-time notifications