The Link Validation API processes a list of URLs to verify their HTTP status, monitor redirect chains with timing metrics, and provide detailed information on content length, content type, and SSL certificate status.
Returns the results of a link validation test.
A 200 response
object | |
object |
A 401 response
A 404 response
{- "meta": {
- "status": "Completed"
}, - "items": {
- "id": "677eeda04fc661c900945dec",
- "results": [
- {
- "status": "Valid",
- "status_code": 200,
- "passes": [
- {
- "id": "http_status_check",
- "rule": "Valid HTTP Response",
- "description": "Link returned a 2xx status",
- "details": [
- {
- "status_code": 200
}
]
}, - {
- "id": "ssl_certificate_check",
- "rule": "SSL Certificate Valid",
- "description": "SSL certificate is valid and not expiring soon",
- "details": [
- {
- "common_name": "*.mailgun.com",
- "expires_on": "2025-05-27T23:59:59Z"
}
]
}, - {
- "id": "redirect_check",
- "rule": "Redirect Check",
- "description": "Redirect chain is within allowed limits and no loop detected",
}, - {
- "id": "response_time_check",
- "rule": "Fast Response Time",
- "description": "Link responded quickly",
- "details": [
- {
- "time_elapsed": "209.914666ms"
}
]
}
], - "failures": [
- {
- "id": "http_status_check",
- "rule": "Broken Link",
- "description": "URL returned an error status",
- "impact": "critical",
- "recommendation": "Verify the destination URL is correct and accessible.",
}, - {
- "id": "ssl_certificate_check",
- "rule": "Missing SSL Certificate",
- "description": "No SSL certificate was found for the link",
- "impact": "critical",
- "recommendation": "Ensure the server provides a valid SSL certificate.",
}
], - "informational": [
- {
- "id": "content_type_check",
- "rule": "Content Type",
- "description": "Detected MIME type",
- "details": [
- {
- "content_type": "text/html"
}
]
}, - {
- "id": "content_length_check",
- "rule": "Content Length",
- "description": "Size of the page in bytes",
- "details": [
- {
- "content_length": "5682"
}
]
}, - {
- "id": "ga_tags_check",
- "rule": "Google Analytics Tags Present",
- "description": "UTM parameters found in the URL",
- "details": [
- {
- "tags": [
- "utm_source",
- "utm_medium",
- "utm_campaign"
]
}
]
}
]
}
]
}
}
Reprocess a link validation test.
A 200 response
object | |
object |
A 400 response
A 401 response
{- "meta": {
- "status": "Processing"
}, - "items": {
- "id": "67803c4b7061304b609e47d0",
}
}
Delete a specific link validation test by its unique test ID. This endpoint allows you to remove a link validation test from the system. If the test ID does not exist, the appropriate error message is returned.
{- "message": "Test <id> has been successfully deleted."
}
Retrieve a list of previous link validation tests based on various filters.
A 200 response
object | |
object | |
Array of objects |
A 400 response
A 401 response
{- "meta": {
- "count": 1
}, - "paging": {
}, - "items": [
- {
- "id": "67803ec37061304b609e47d7",
- "results": [
- {
- "status": "Valid",
- "status_code": 200,
- "passes": [
- {
- "id": "http_status_check",
- "rule": "Valid HTTP Response",
- "description": "Link returned a 2xx status",
- "details": [
- {
- "status_code": 200
}
]
}, - {
- "id": "ssl_certificate_check",
- "rule": "SSL Certificate Valid",
- "description": "SSL certificate is valid and not expiring soon",
- "details": [
- {
- "common_name": "*.mailgun.com",
- "expires_on": "2025-05-27T23:59:59Z"
}
]
}, - {
- "id": "redirect_check",
- "rule": "Redirect Check",
- "description": "Redirect chain is within allowed limits and no loop detected",
}, - {
- "id": "response_time_check",
- "rule": "Fast Response Time",
- "description": "Link responded quickly",
- "details": [
- {
- "time_elapsed": "209.914666ms"
}
]
}
], - "failures": [
- {
- "id": "http_status_check",
- "rule": "Broken Link",
- "description": "URL returned an error status",
- "impact": "critical",
- "recommendation": "Verify the destination URL is correct and accessible.",
}, - {
- "id": "ssl_certificate_check",
- "rule": "Missing SSL Certificate",
- "description": "No SSL certificate was found for the link",
- "impact": "critical",
- "recommendation": "Ensure the server provides a valid SSL certificate.",
}
], - "informational": [
- {
- "id": "content_type_check",
- "rule": "Content Type",
- "description": "Detected MIME type",
- "details": [
- {
- "content_type": "text/html"
}
]
}, - {
- "id": "content_length_check",
- "rule": "Content Length",
- "description": "Size of the page in bytes",
- "details": [
- {
- "content_length": "5682"
}
]
}, - {
- "id": "ga_tags_check",
- "rule": "Google Analytics Tags Present",
- "description": "UTM parameters found in the URL",
- "details": [
- {
- "tags": [
- "utm_source",
- "utm_medium",
- "utm_campaign"
]
}
]
}
]
}
]
}
]
}
Create a link validation test.
A 200 response
object | |
object |
A 400 response
A 401 response
{- "links": [
- "string"
], - "userAgent": "string"
}
{- "meta": {
- "status": "Processing"
}, - "items": {
- "id": "67803c4b7061304b609e47d0",
}
}
Compares link validation test results to the spreadsheet provided as a CSV, XLS or XLSX file.
A 200 response
object | |
object |
A 400 response
A 401 response
expected file upload with key 'csv'
{- "meta": {
- "status": "Complete"
}, - "items": {
- "errors": [
- {
- "row": 4,
- "message": "final redirect mismatch: expected 'https://en.wikipedia.org/wiki', got 'https://en.wikipedia.org/wiki2'",
- "alert": {
- "severity": "Critical",
- "data": {
- "row": "4",
}
}
}
]
}
}