Complete reference for all 30 API endpoints organized by resource type. All endpoints require authentication with a valid API key.
/api/v1/accountRetrieve your account information including subscription details and limits.
{
"data": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"email": "user@example.com",
"tier": "business",
"limits": {
"links": 50000,
"linksUsed": 1234,
"apiKeys": 25,
"webhooks": 25
},
"createdAt": "2024-01-01T00:00:00Z"
}
}/api/v1/usageGet your API usage statistics for the current billing period.
{
"data": {
"requests": {
"total": 5420,
"thisMonth": 1234,
"today": 56
},
"links": {
"total": 1500,
"active": 1423,
"dead": 77
},
"checks": {
"thisMonth": 45000,
"lastCheck": "2024-12-25T12:00:00Z"
}
}
}/api/v1/keysList all API keys for your account.
pagePage number (default: 1)
per_pageItems per page (default: 20, max: 100)
/api/v1/keysCreate a new API key.
namerequiredName for the API key (max 100 chars)
permissionsPermissions object with read/write booleans
expires_atISO 8601 expiration date (optional)
The full API key is only returned once during creation. Store it securely!
/api/v1/keys/{id}Get details of a specific API key.
/api/v1/keys/{id}Update an API key's name, permissions, or expiration.
nameNew name (max 100 chars)
permissionsUpdated permissions
expires_atNew expiration date
/api/v1/keys/{id}Revoke (delete) an API key. This action cannot be undone.
/api/v1/keys/{id}/rotateGenerate a new key value while keeping the same key ID and settings.
Rotation creates a new key value and invalidates the old one. The new key is only shown once.
/api/v1/linksList all monitored links with optional filtering and pagination.
statusFilter by status
activedeadunknowncheckingserviceFilter by service (k2s, mega, etc.)
group_idFilter by group
searchSearch in URL (max 255 chars)
pagePage number (default: 1)
per_pageItems per page (default: 20, max: 100)
/api/v1/linksCreate a new monitored link.
urlrequiredURL to monitor (max 2048 chars)
group_idOptional group to add the link to
check_frequencydailyCheck frequency
hourlydailyweeklymonthlycurl -X POST https://deadlinkradar.com/api/v1/links \
-H "Authorization: Bearer dlr_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://mega.nz/file/abc123",
"check_frequency": "daily"
}'/api/v1/links/batchCreate multiple links in a single request (up to 1,000).
linksrequiredArray of link objects (max 1,000)
links[].urlrequiredURL to monitor
links[].group_idOptional group ID
links[].check_frequencyCheck frequency
curl -X POST https://deadlinkradar.com/api/v1/links/batch \
-H "Authorization: Bearer dlr_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"links": [
{"url": "https://mega.nz/file/abc123"},
{"url": "https://k2s.cc/file/xyz789", "check_frequency": "hourly"}
]
}'/api/v1/links/{id}Get details of a specific link including its current status.
/api/v1/links/{id}Update a link's group or check frequency.
group_idNew group ID (null to remove from group)
check_frequencyNew check frequency
hourlydailyweeklymonthly/api/v1/links/{id}Delete a monitored link and all its history.
/api/v1/links/{id}/checkTrigger an immediate status check for a link.
{
"data": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"status": "checking",
"message": "Check initiated"
}
}/api/v1/links/{id}/historyGet the check history for a specific link.
start_dateStart date (ISO 8601)
end_dateEnd date (ISO 8601)
pagePage number
per_pageItems per page
/api/v1/groupsList all link groups.
pagePage number (default: 1)
per_pageItems per page (default: 20, max: 100)
/api/v1/groupsCreate a new link group.
namerequiredGroup name (max 100 chars)
descriptionOptional description (max 500 chars)
colorHex color code (e.g., #FF5733)
/api/v1/groups/{id}Get details of a specific group including link count.
/api/v1/groups/{id}Update a group's name, description, or color.
/api/v1/groups/{id}Delete a group. Links in the group are not deleted, just ungrouped.
/api/v1/groups/{id}/linksList all links in a specific group.
statusFilter by status
pagePage number
per_pageItems per page
/api/v1/groups/{id}/linksAdd links to a group (move existing links).
link_idsrequiredArray of link UUIDs to add
/api/v1/historyGet check history across all links.
link_idFilter by specific link
statusFilter by result status
activedeadunknownstart_dateStart date (ISO 8601)
end_dateEnd date (ISO 8601)
pagePage number
per_pageItems per page
/api/v1/history/statsGet aggregated statistics for a date range.
start_dateStart date (ISO 8601)
end_dateEnd date (ISO 8601)
{
"data": {
"totalChecks": 45000,
"aliveCount": 43500,
"deadCount": 1200,
"unknownCount": 300,
"statusChanges": 156,
"avgResponseTimeMs": 234
}
}Webhooks let you receive real-time notifications when link statuses change. All webhook payloads are cryptographically signed for security.
Webhook Event Types
| Event | Description |
|---|---|
link.dead | A link status changed to dead |
link.alive | A link status changed to alive |
link.created | A new link was created |
link.deleted | A link was deleted |
check.complete | A single link check completed |
batch.complete | A batch check job completed |
/api/v1/webhooksList all configured webhooks.
/api/v1/webhooksCreate a new webhook endpoint.
urlrequiredWebhook endpoint URL (HTTPS recommended)
eventsrequiredEvent types to subscribe to (1-10)
curl -X POST https://deadlinkradar.com/api/v1/webhooks \
-H "Authorization: Bearer dlr_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-app.com/webhooks/deadlinkradar",
"events": ["link.dead", "link.alive"]
}'Save the signing_secret returned - it's only shown once! Use it to verify webhook authenticity.
/api/v1/webhooks/{id}Get details of a specific webhook.
/api/v1/webhooks/{id}Update a webhook's URL, events, or active status.
urlNew webhook URL
eventsUpdated event subscriptions
is_activeEnable or disable the webhook
/api/v1/webhooks/{id}Delete a webhook endpoint.
/api/v1/webhooks/{id}/testSend a test event to verify your webhook endpoint.
{
"success": true,
"message": "Test event sent",
"response": {
"statusCode": 200,
"duration": 234
}
}All webhook payloads include a signature header for verification:
{
"event": "link.dead",
"timestamp": "2024-12-25T12:00:00Z",
"webhookId": "wh_123abc",
"data": {
"linkId": "123e4567-e89b-12d3-a456-426614174000",
"url": "https://mega.nz/file/abc123",
"previousStatus": "active",
"currentStatus": "dead",
"checkedAt": "2024-12-25T12:00:00Z"
}
}