API dokumentācija

API atsauce

Integrējiet MailAudit savā lietotnē: DNS, melno sarakstu un reputācijas pārbaudes, kā arī pilni e-pastu piegādes testi, izmantojot REST API.

Pieprasījumu limits

60 pieprasījumi minūtē, 1000 dienā katrai atslēgai

Bāzes URL

https://api.mailaudit.io/api/v1

Autentifikācija

Katram pieprasījumam nepieciešama API atslēga. Sūtiet to galvenē Authorization kā Bearer marķieri (vai galvenē X-API-Key). Glabājiet atslēgu slepenībā – neiekļaujiet to pārlūkā izpildāmā kodā.

bash
curl -H "Authorization: Bearer ma_live_xxxxxxxxxxxx" \
  "https://api.mailaudit.io/api/v1/tools/mx-check?domain=example.com"

Katrā atbildē ir galvenes X-RateLimit-Remaining un X-RateLimit-Daily-Remaining. Ja limits ir pārsniegts, saņemat HTTP 429 ar galveni Retry-After.

Saņemt API atslēgu

Gala punkti (Endpoints)

MX ierakstu pārbaude

GET/tools/mx-check

Vaicāt domēna MX ierakstiem, kā arī SPF un DMARC iestatījumiem.

Parametri

domainstringobligāts
Pārbaudāmais domēna nosaukums (piem., example.com)

Pieprasījuma piemērs

bash
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
  "https://api.mailaudit.io/api/v1/tools/mx-check?domain=gmail.com"

Atbildes piemērs

json
1{
2  "domain": "gmail.com",
3  "hasMx": true,
4  "records": [
5    {
6      "exchange": "gmail-smtp-in.l.google.com",
7      "priority": 5,
8      "ip": ["142.250.150.27"]
9    },
10    {
11      "exchange": "alt1.gmail-smtp-in.l.google.com",
12      "priority": 10,
13      "ip": ["142.250.141.26"]
14    }
15  ],
16  "hasSpf": true,
17  "spfRecord": "v=spf1 redirect=_spf.google.com",
18  "hasDmarc": true,
19  "dmarcRecord": "v=DMARC1; p=none; sp=quarantine; rua=mailto:..."
20}

Melnā saraksta pārbaude

GET/tools/blacklist-check

Pārbaudīt, vai IP adrese vai domēns atrodas lielākajos spama bloķēšanas sarakstos (32 DNSBL).

Parametri

querystringobligāts
IP adrese (piem., 192.168.1.1) vai domēna nosaukums

Pieprasījuma piemērs

bash
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
  "https://api.mailaudit.io/api/v1/tools/blacklist-check?query=8.8.8.8"

Atbildes piemērs

json
1{
2  "query": "8.8.8.8",
3  "queryType": "ip",
4  "totalChecked": 32,
5  "totalListed": 0,
6  "results": [
7    {
8      "name": "Spamhaus ZEN",
9      "zone": "zen.spamhaus.org",
10      "listed": false,
11      "responseTime": 45
12    },
13    {
14      "name": "Barracuda",
15      "zone": "b.barracudacentral.org",
16      "listed": false,
17      "responseTime": 32
18    }
19    // ...
20  ]
21}

Domēna reputācijas pārbaude

GET/tools/reputation

Visaptverošs domēna reputācijas vērtējums. Pārbauda SPF, DKIM, DMARC, MX ierakstus, melnos sarakstus, STARTTLS atbalstu, domēna vecumu un reverse DNS.

Parametri

domainstringobligāts
Pārbaudāmais domēna nosaukums (piem., gmail.com)

Pieprasījuma piemērs

bash
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
  "https://api.mailaudit.io/api/v1/tools/reputation?domain=gmail.com"
Vērtēšanas skala
90-100 = A+
80-89 = A
70-79 = B
60-69 = C
50-59 = D
0-49 = F

Atbildes piemērs

json
1{
2  "domain": "gmail.com",
3  "ip": "142.250.150.27",
4  "score": 100,
5  "grade": "A+",
6  "factors": [
7    { "name": "SPF", "status": "pass", "detail": "Policy: present", "impact": 15 },
8    { "name": "DKIM", "status": "warn", "detail": "Not found", "impact": 0 },
9    { "name": "DMARC", "status": "warn", "detail": "Policy: none", "impact": 5 },
10    { "name": "MX Records", "status": "pass", "detail": "5 record(s)", "impact": 10 },
11    { "name": "Blacklists", "status": "pass", "detail": "Clean (39 checked)", "impact": 20 },
12    { "name": "STARTTLS", "status": "pass", "detail": "Supported", "impact": 10 },
13    { "name": "Domain Age", "status": "pass", "detail": "30.3 years", "impact": 10 },
14    { "name": "Reverse DNS", "status": "pass", "detail": "wa-in-f27.1e100.net", "impact": 5 }
15  ],
16  "details": {
17    "mx": { "valid": true, "count": 5, "primary": "gmail-smtp-in.l.google.com" },
18    "spf": { "valid": true, "record": "v=spf1 redirect=_spf.google.com" },
19    "dkim": { "valid": false, "selectors": [] },
20    "dmarc": { "valid": true, "policy": "none", "rua": ["mailto:..."] },
21    "blacklists": { "checked": 10, "listed": 0, "clean": true },
22    "tls": { "valid": true, "starttls": true },
23    "domainAge": { "valid": true, "years": 30.3, "registrationDate": "1995-08-13" },
24    "rdns": { "valid": true, "hostname": "wa-in-f27.1e100.net" }
25  },
26  "checkedAt": "2025-12-03T07:05:46.232Z",
27  "cached": false
28}

E-pasta piegādes tests

Izveidojiet testa adresi, nosūtiet uz to e-pastu no servera, kuru vēlaties pārbaudīt, un vaicājiet rezultātu, līdz statuss ir completed (parasti minūtes laikā). Testa adreses derīgums beidzas pēc vienas stundas.

POST/test/generate

Izveidot jaunu testa e-pasta adresi.

Pieprasījuma piemērs

bash
curl -X POST -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
  "https://api.mailaudit.io/api/v1/test/generate"

Atbildes piemērs

json
1{
2  "testId": "k3v9x2m1qa",
3  "email": "[email protected]",
4  "expiresAt": "2026-09-24T18:44:14.762Z",
5  "checkUrl": "/test/k3v9x2m1qa"
6}
GET/test/{testId}

Iegūt testa statusu un rezultātus. Statuss: pending → processing → completed (vai expired / error). Vērtējums ir 0–10.

Parametri

testIdstringobligāts
Testa ID, ko atgrieza /test/generate

Pieprasījuma piemērs

bash
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
  "https://api.mailaudit.io/api/v1/test/k3v9x2m1qa"

Atbildes piemērs

json
1{
2  "testId": "k3v9x2m1qa",
3  "status": "completed",
4  "score": 9.2,
5  "createdAt": "2026-09-24T17:44:14.763Z",
6  "receivedAt": "2026-09-24T17:45:02.118Z",
7  "expiresAt": "2026-09-24T18:44:14.762Z",
8  "email": {
9    "from": "[email protected]",
10    "subject": "Our September newsletter",
11    "bounceAddress": null
12  },
13  "checks": {
14    "spf": { "status": "pass", ... },
15    "dkim": { "status": "pass", ... },
16    "dmarc": { "status": "pass", ... },
17    "blacklist": { "status": "pass", ... },
18    "spamassassin": { "status": "pass", ... }
19  }
20}
POST/test/{testId}/recheck

Atkārtoti palaist visas pārbaudes jau saņemtam e-pastam, nesūtot jaunu.

Parametri

testIdstringobligāts
Testa ID, ko atgrieza /test/generate

Atbildes piemērs

json
1{
2  "success": true,
3  "testId": "k3v9x2m1qa",
4  "message": "Recheck initiated - checks are running"
5}

Izstrādes pastkaste

Katram kontam ir sava vienreizlietojamā adrese ([email protected], ar jebkuru +tagu). Uz to nosūtītās vēstules tiek glabātas 24 stundas, un tās var lasīt, izmantojot API, vadības panelī vai ar koplietošanas saiti. Izmantojiet to pilna cikla (end-to-end) testos īstas pastkastes vietā.

GET/inbox/wait

Gaida (long-poll, līdz 60 s), līdz pienāk atbilstoša vēstule, un atgriež to ar tekstu, HTML, saitēm un vienreizējiem kodiem. Atgriež 408, ja laikā nekas nepienāk.

Parametri

tagstring
Tikai vēstules, kas nosūtītas uz dev-xxxxxx+{tag}@…
timeoutnumber
Gaidīšanas laiks sekundēs, 1–60 (noklusējums 30)
sinceISO 8601
Tikai pēc šī laika saņemtās vēstules (noklusējums: tagad)

Pieprasījuma piemērs

bash
1curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
2  "https://api.mailaudit.io/api/v1/inbox/address?tag=signup-42"
3# → { "address": "[email protected]", … }
4
5curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
6  "https://api.mailaudit.io/api/v1/inbox/wait?tag=signup-42&timeout=60"

Pieejams arī:

  • GET /inbox · GET /inbox/address · GET /inbox/messages?tag=&since=
  • GET /inbox/messages/{id} · GET /inbox/messages/{id}/raw · DELETE /inbox/messages/{id}

Atbildes piemērs

json
1{
2  "id": "81ab56fe-9546-41a1-b7d1-b0f1a594ad37",
3  "to": "[email protected]",
4  "tag": "signup-42",
5  "from": { "address": "[email protected]", "name": "YourApp" },
6  "subject": "Confirm your email address",
7  "receivedAt": "2026-09-24T19:53:43.624Z",
8  "expiresAt": "2026-09-25T19:53:43.624Z",
9  "links": ["https://yourapp.dev/confirm?t=abc"],
10  "codes": ["482913"],
11  "shareUrl": "https://mailaudit.io/m/UjKgBYNGYXjTaGLe…",
12  "text": "Your code: 482 913 …",
13  "html": "<p>Your code: <b>482 913</b></p>…",
14  "headers": { "subject": "Confirm your email address", … }
15}

Izmantojiet to no MI aģenta (MCP)

Tā pati pastkaste ir arī MCP serveris, tāpēc Claude Code, Cursor un citi MCP klienti paši var veidot adreses, gaidīt vēstules un tās lasīt:

bash
claude mcp add --transport http mailaudit https://api.mailaudit.io/mcp \
  --header "Authorization: Bearer $MAILAUDIT_API_KEY"

Rīki: new_address, wait_for_message, list_messages, get_message, extract, share_link, delete_message.

HTTP statusa kodi

KodsStatussApraksts
200OKPieprasījums izdevies
400Bad RequestTrūkst vai ir nederīgs parametrs
401UnauthorizedTrūkst API atslēgas, tā ir nederīga vai atsaukta
404Not FoundTests nav atrasts
429Too Many RequestsPārsniegts pieprasījumu limits (60 minūtē vai 1000 dienā)
500Internal Server ErrorServera kļūda

Kļūdu atbildes

Kļūdas gadījumā atbildē ir lauks error ar kļūdas aprakstu:

json
{
  "error": "Nepieciešams domēns"
}

Koda piemēri

JavaScript / Node.js

javascript
1// Vaicāt MX ierakstus
2const response = await fetch(
3  'https://api.mailaudit.io/api/v1/tools/mx-check?domain=example.com',
4  { headers: { Authorization: `Bearer ${process.env.MAILAUDIT_API_KEY}` } }
5);
6const data = await response.json();
7
8if (data.hasMx) {
9  console.log('MX ieraksti:', data.records);
10  console.log('SPF:', data.hasSpf ? data.spfRecord : 'Nav');
11  console.log('DMARC:', data.hasDmarc ? data.dmarcRecord : 'Nav');
12}

Python

python
1import os
2import requests
3
4# Melnā saraksta pārbaude
5response = requests.get(
6    'https://api.mailaudit.io/api/v1/tools/blacklist-check',
7    params={'query': '192.168.1.1'},
8    headers={'Authorization': f"Bearer {os.environ['MAILAUDIT_API_KEY']}"},
9)
10data = response.json()
11
12print(f"Pārbaudīti: {data['totalChecked']} saraksti")
13print(f"Ierakstīts: {data['totalListed']} reizes")
14
15for result in data['results']:
16    if result['listed']:
17        print(f"⚠️  {result['name']}: IERAKSTĪTS")

Python - Reputation Check

python
1import os
2import requests
3
4# Domēna reputācijas pārbaude
5response = requests.get(
6    'https://api.mailaudit.io/api/v1/tools/reputation',
7    params={'domain': 'example.com'},
8    headers={'Authorization': f"Bearer {os.environ['MAILAUDIT_API_KEY']}"},
9)
10data = response.json()
11
12print(f"Score: {data['score']}/100 ({data['grade']})")
13print("\nFaktori:")
14for factor in data['factors']:
15    icon = "✅" if factor['status'] == 'pass' else "⚠️" if factor['status'] == 'warn' else "❌"
16    print(f"  {icon} {factor['name']}: {factor['detail']} ({factor['impact']:+d})")

Python - Email deliverability test

python
1import os
2import time
3import requests
4
5# Pilns piegādes tests
6api = 'https://api.mailaudit.io/api/v1'
7headers = {'Authorization': f"Bearer {os.environ['MAILAUDIT_API_KEY']}"}
8
9test = requests.post(f'{api}/test/generate', headers=headers).json()
10print('Send your email to:', test['email'])
11
12while True:
13    result = requests.get(f"{api}/test/{test['testId']}", headers=headers).json()
14    if result['status'] in ('completed', 'expired', 'error'):
15        break
16    time.sleep(10)
17
18print(f"Status: {result['status']}, score: {result['score']}/10")

PHP

php
1<?php
2// MX pārbaude
3$domain = 'example.com';
4$url = "https://api.mailaudit.io/api/v1/tools/mx-check?domain=" . urlencode($domain);
5
6$context = stream_context_create(['http' => [
7    'header' => 'Authorization: Bearer ' . getenv('MAILAUDIT_API_KEY'),
8]]);
9$response = file_get_contents($url, false, $context);
10$data = json_decode($response, true);
11
12if ($data['hasMx']) {
13    foreach ($data['records'] as $mx) {
14        echo "MX: {$mx['exchange']} (prioritāte: {$mx['priority']})\n";
15    }
16}
17?>

Vēlaties izmēģināt API?

Izmēģiniet mūsu rīkus tīmekļa saskarnē vai sāciet izstrādi ar API.