API documentatie

Onlinespamfilter gebruiker documentatie

API documentatie

Inleiding

Onlinespamfilter biedt haar resellers de mogelijkheid een aantal veel voorkomende handelingen uit te voeren via een API. Deze API kan via https://api.onlinespamfilter.nl worden aangesproken. API toegang is alleen op aanvraag beschikbaar voor resellers. U kunt hiervoor contact opnemen met uw contactpersoon binnen Onlinespamfilter.

De API kent twee soorten aanroepen:

  • Lezen (XML of JSON)GET-requests geven standaard JSON terug; stuur Accept: application/xml als u XML wilt. Zie Deel 1.

  • Schrijven (JSON) — aanmaken en wijzigen gebeurt uitsluitend met een JSON request-body. Zie Deel 2.

De API luistert naar HTTP-requests van het type GET, POST, PUT/PATCH en DELETE. Alleen GET en POST zijn in webbrowsers gedefinieerd; voor volledige functionaliteit schrijft u een eigen client of gebruikt u een tool als cURL (https://curl.se). Bij onverwachte fouten kan een HTML-pagina worden teruggegeven; houd hier rekening mee.

⚠️ Gewijzigd: Het aanmaken en wijzigen van domeinen werkt niet langer via een XML request-body (<api-domain>…</api-domain>). Gebruik hiervoor de JSON-aanroepen in Deel 2. Bestaande XML lees-aanroepen blijven ongewijzigd werken.

Deel 1 — Lezen (XML of JSON)

Alle lees-aanroepen ondersteunen zowel JSON als XML via de Accept-header:

  • Accept: application/json (of geen Accept-header) → JSON (standaard)

  • Accept: application/xml → XML

Voor het aanmaken en wijzigen van domeinen, zie Deel 2.

Domein overzicht

URL

https://api.onlinespamfilter.nl/api_domains

URL

https://api.onlinespamfilter.nl/api_domains

Actie

GET

Response

Domein-objecten voor de geauthenticeerde gebruiker

Voorbeeld (XML)

curl -k -H 'Accept: application/xml' -u username:password 'https://api.onlinespamfilter.nl/api_domains'

Voorbeeld (JSON)

curl -k -H 'Accept: application/json' -u username:password 'https://api.onlinespamfilter.nl/api_domains'

Domein details

URL

https://api.onlinespamfilter.nl/api_domains/[domeinnaam]

URL

https://api.onlinespamfilter.nl/api_domains/[domeinnaam]

Actie

GET

Response

Object voor [domeinnaam]

Voorbeeld (XML)

curl -k -H 'Accept: application/xml' -u username:password 'https://api.onlinespamfilter.nl/api_domains/[domeinnaam]'

Voorbeeld (JSON)

curl -k -H 'Accept: application/json' -u username:password 'https://api.onlinespamfilter.nl/api_domains/[domeinnaam]'

Domein verwijderen

URL

https://api.onlinespamfilter.nl/api_domains/[domeinnaam]

URL

https://api.onlinespamfilter.nl/api_domains/[domeinnaam]

Actie

DELETE

Gevolg

Indien toegestaan wordt het domein verwijderd. Eventuele geschiedenis of andere verwante gegevens verdwijnen hiermee ook!

Response

Een ok in de HTTP-header. Geen object.

Voorbeeld

curl -k -u username:password -X DELETE 'https://api.onlinespamfilter.nl/api_domains/[domeinnaam]'

DomeinAlias overzicht

URL

https://api.onlinespamfilter.nl/api_domain_aliases

URL

https://api.onlinespamfilter.nl/api_domain_aliases

Actie

GET

Response

Domein-alias-objecten voor de geauthenticeerde gebruiker

Voorbeeld (XML)

curl -k -H 'Accept: application/xml' -u username:password 'https://api.onlinespamfilter.nl/api_domain_aliases'

Voorbeeld (JSON)

curl -k -H 'Accept: application/json' -u username:password 'https://api.onlinespamfilter.nl/api_domain_aliases'

Berichten overzicht

URL

https://api.onlinespamfilter.nl/api_histories/[domeinnaam]

URL

https://api.onlinespamfilter.nl/api_histories/[domeinnaam]

Actie

GET

Response

Lijst met bericht-objecten voor [domeinnaam], inclusief het unieke id (de osfsum) voor inleren of het opvragen van berichtinhoud

Voorbeeld (XML)

curl -k -H 'Accept: application/xml' -u username:password 'https://api.onlinespamfilter.nl/api_histories/[domeinnaam]'

Voorbeeld (JSON)

curl -k -H 'Accept: application/json' -u username:password 'https://api.onlinespamfilter.nl/api_histories/[domeinnaam]'

Berichten corrigeren

URL

https://api.onlinespamfilter.nl/api_histories/[osfsum]

URL

https://api.onlinespamfilter.nl/api_histories/[osfsum]

Actie

PUT (lege body)

Gevolg

Indien toegestaan wordt het bericht in de database gecorrigeerd. Het bericht wordt niet doorgestuurd naar de oorspronkelijke ontvanger. Let op: afhankelijk van het type inleeractie is de berichtinhoud daarna mogelijk niet meer op te vragen — vraag deze indien nodig vooraf op via api_messages.

Response

Object met de nieuwe classificering

Voorbeeld (XML)

curl -k -H 'Accept: application/xml' -u username:password -X PUT -d '' 'https://api.onlinespamfilter.nl/api_histories/[osfsum]'

Voorbeeld (JSON)

curl -k -H 'Accept: application/json' -u username:password -X PUT -d '' 'https://api.onlinespamfilter.nl/api_histories/[osfsum]'

Bericht inhoud

URL

https://api.onlinespamfilter.nl/api_messages/[osfsum]

URL

https://api.onlinespamfilter.nl/api_messages/[osfsum]

Actie

GET

Response

Object met header, body en osfsum van bericht [osfsum] (berichtdata in gecomprimeerde/Zlib-vorm, tot 14 dagen bewaard)

Voorbeeld (XML)

curl -k -H 'Accept: application/xml' -u username:password 'https://api.onlinespamfilter.nl/api_messages/[osfsum]'

Voorbeeld (JSON)

curl -k -H 'Accept: application/json' -u username:password 'https://api.onlinespamfilter.nl/api_messages/[osfsum]'

Domein Statistieken

URL

https://api.onlinespamfilter.nl/api_statistics/[domeinnaam]

URL

https://api.onlinespamfilter.nl/api_statistics/[domeinnaam]

Actie

GET

Invoer

Optionele GET-parameter startdate (formaat dd-mm-yyyy); standaard 14 dagen terug

Response

Lijst van objecten met per dag de telling van spam, innocent, virus en banned berichten

Voorbeeld (XML)

curl -k -H 'Accept: application/xml' -u username:password 'https://api.onlinespamfilter.nl/api_statistics/[domeinnaam]?startdate=01-06-2026'

Voorbeeld (JSON)

curl -k -H 'Accept: application/json' -u username:password 'https://api.onlinespamfilter.nl/api_statistics/[domeinnaam]?startdate=01-06-2026'

Toegestane IP-adressen overzicht

URL

https://api.onlinespamfilter.nl/api_allowed_ips

URL

https://api.onlinespamfilter.nl/api_allowed_ips

Actie

GET

Response

Toegestane-IP-objecten (velden: ip, description, created_at) voor de geauthenticeerde gebruiker

Voorbeeld (XML)

curl -k -H 'Accept: application/xml' -u username:password 'https://api.onlinespamfilter.nl/api_allowed_ips'

Voorbeeld (JSON)

curl -k -H 'Accept: application/json' -u username:password 'https://api.onlinespamfilter.nl/api_allowed_ips'

Toegestane IP-adres details

URL

https://api.onlinespamfilter.nl/api_allowed_ips/[ip]

URL

https://api.onlinespamfilter.nl/api_allowed_ips/[ip]

Actie

GET

Response

Object voor [ip] (velden: ip, description, created_at)

Voorbeeld (XML)

curl -k -H 'Accept: application/xml' -u username:password 'https://api.onlinespamfilter.nl/api_allowed_ips/[ip]'

Voorbeeld (JSON)

curl -k -H 'Accept: application/json' -u username:password 'https://api.onlinespamfilter.nl/api_allowed_ips/[ip]'

SASL accounts overzicht

URL

https://api.onlinespamfilter.nl/api_sasl_accounts

URL

https://api.onlinespamfilter.nl/api_sasl_accounts

Actie

GET

Response

SASL-account-objecten (velden: username, description, created_at) voor de geauthenticeerde gebruiker. Het wachtwoord wordt nooit teruggegeven.

Voorbeeld (XML)

curl -k -H 'Accept: application/xml' -u username:password 'https://api.onlinespamfilter.nl/api_sasl_accounts'

Voorbeeld (JSON)

curl -k -H 'Accept: application/json' -u username:password 'https://api.onlinespamfilter.nl/api_sasl_accounts'

SASL account details

URL

https://api.onlinespamfilter.nl/api_sasl_accounts/[gebruikersnaam]

URL

https://api.onlinespamfilter.nl/api_sasl_accounts/[gebruikersnaam]

Actie

GET

Response

Object voor [gebruikersnaam] (velden: username, description, created_at). Het wachtwoord wordt nooit teruggegeven.

Voorbeeld (XML)

curl -k -H 'Accept: application/xml' -u username:password 'https://api.onlinespamfilter.nl/api_sasl_accounts/[gebruikersnaam]'

Voorbeeld (JSON)

curl -k -H 'Accept: application/json' -u username:password 'https://api.onlinespamfilter.nl/api_sasl_accounts/[gebruikersnaam]'

Deel 2 — Schrijven (JSON)

Stuur bij schrijfacties een JSON request-body met Content-Type: application/json. De velden zijn flat (geen <api-domain>-wrapper).

Domein aanmaken

URL

https://api.onlinespamfilter.nl/api_domains

URL

https://api.onlinespamfilter.nl/api_domains

Actie

POST

Invoer

JSON. Verplicht: domain, testuser. Optioneel: transportip, transportport, description

Gevolg

Domein wordt aangemaakt

Response

JSON object van het aangemaakte domein

Voorbeeld

curl -k -H 'Content-Type: application/json' -u username:password -X POST -d '{"domain":"new-domein.nl","testuser":"postmaster","transportip":"mail.new-domain.com","transportport":2525,"description":"Optionele omschrijving"}' 'https://api.onlinespamfilter.nl/api_domains'

Domein details aanpassen

URL

https://api.onlinespamfilter.nl/api_domains/[domeinnaam]

URL

https://api.onlinespamfilter.nl/api_domains/[domeinnaam]

Actie

PATCH (PUT wordt ook geaccepteerd)

Invoer

JSON met aan te passen attributes. Toegestaan: transportip, transportport, testuser, description

Gevolg

De opgegeven attributes worden aangepast

Response

JSON object van het domein

Voorbeeld

curl -k -H 'Content-Type: application/json' -u username:password -X PATCH -d '{"description":"Nieuwe omschrijving"}' 'https://api.onlinespamfilter.nl/api_domains/[domeinnaam]'

Toegestane IP omschrijving aanpassen

URL

https://api.onlinespamfilter.nl/api_allowed_ips/[ip]

URL

https://api.onlinespamfilter.nl/api_allowed_ips/[ip]

Actie

PATCH (PUT wordt ook geaccepteerd)

Invoer

JSON. Alleen description kan worden aangepast (max. 255 tekens)

Gevolg

De omschrijving van het toegestane IP wordt aangepast

Response

JSON object van het toegestane IP

Voorbeeld

curl -k -H 'Content-Type: application/json' -u username:password -X PATCH -d '{"description":"Nieuwe omschrijving"}' 'https://api.onlinespamfilter.nl/api_allowed_ips/[ip]'

SASL account omschrijving aanpassen

URL

https://api.onlinespamfilter.nl/api_sasl_accounts/[gebruikersnaam]

URL

https://api.onlinespamfilter.nl/api_sasl_accounts/[gebruikersnaam]

Actie

PATCH (PUT wordt ook geaccepteerd)

Invoer

JSON. Alleen description kan worden aangepast (max. 255 tekens). De gebruikersnaam en het wachtwoord kunnen niet via de API worden gewijzigd.

Gevolg

De omschrijving van het SASL-account wordt aangepast

Response

JSON object van het SASL-account (zonder wachtwoord)

Voorbeeld

curl -k -H 'Content-Type: application/json' -u username:password -X PATCH -d '{"description":"Nieuwe omschrijving"}' 'https://api.onlinespamfilter.nl/api_sasl_accounts/[gebruikersnaam]'

Spam berichten corrigeren zonder API key

Voor berichten die als spam hadden moeten worden geclassificeerd kan correctie (Innocent → Spam) zonder API key, op basis van de unieke combinatie domeinnaam + X-OSF-Sum header. Bruikbaar voor bijvoorbeeld een 'spam'-knop in een mailclient. Vervangt op termijn de "retrain by mail"-functionaliteit.

URL

https://api.onlinespamfilter.nl/api_classify_spam

URL

https://api.onlinespamfilter.nl/api_classify_spam

Actie

POST

Invoer

domain en osfsum (Spamfilter ID uit de X-OSF-Sum header)

Response

JSON {"status":"OK"} of {"error":"…"}

Voorbeeld

curl -X POST -F 'domain=<domain_name>' -F 'osfsum=<Spamfilter ID>' https://api.onlinespamfilter.nl/api_classify_spam

Domein Status informatie (token)

Geeft connectie- en MX-status, het aantal deferred e-mails en of het domein actief is. Werkt met een per-domein token dat in de loginportal wordt gegenereerd.

URL

https://api.onlinespamfilter.nl/api_domains/status

URL

https://api.onlinespamfilter.nl/api_domains/status

Actie

GET

Response

JSON datastructuur

Voorbeeld

curl -H 'Accept: application/json' -H 'Authorization: Bearer <<token>>' https://api.onlinespamfilter.nl/api_domains/status