Endpoints
10 endpoints, the same 10 names in MCP.
GET · POST /api/v1/ssl/check MCP: check_ssl
Check a server TLS certificate
Connects to a public host and returns the certificate, chain, trust status, hostname match, days to expiry, negotiated protocol and supported TLS versions (1.0 to 1.3).
host *
string · Hostname, e.g. example.pt or mail.example.pt
port
integer · TLS port · default: 443
curl "https://digitaltrust.pt/api/v1/ssl/check?host=company.eu"
GET · POST /api/v1/certificate/decode MCP: decode_certificate
Decode X.509 certificates
Decodes one or more PEM certificates (a full chain is accepted) and returns subject, SANs, issuer, validity, validation type (DV, OV, EV, QWAC), key, fingerprints and OCSP URL.
certificate *
string · PEM certificate(s), starting with -----BEGIN CERTIFICATE-----
curl -X POST https://digitaltrust.pt/api/v1/certificate/decode \
-H "Content-Type: application/json" \
-d '{"certificate":"-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"}'
GET · POST /api/v1/csr/decode MCP: decode_csr
Decode a certificate signing request
Decodes a PEM CSR and returns subject, SANs, key type and size, signature algorithm, signature validity, public key fingerprint and warnings that would make a CA reject it.
csr *
string · PEM CSR, starting with -----BEGIN CERTIFICATE REQUEST-----
curl -X POST https://digitaltrust.pt/api/v1/csr/decode \
-H "Content-Type: application/json" \
-d '{"csr":"-----BEGIN CERTIFICATE REQUEST-----\n...\n-----END CERTIFICATE REQUEST-----"}'
GET · POST /api/v1/keys/match MCP: match_public_keys
Check that a certificate and a CSR share the same key
Compares the SHA-256 fingerprints of the public keys in a certificate and a CSR. Private keys are never accepted by this API: compare them locally with "openssl pkey -in key.pem -pubout | openssl sha256".
certificate
string · PEM certificate
csr
string · PEM CSR
curl -X POST https://digitaltrust.pt/api/v1/keys/match \
-H "Content-Type: application/json" \
-d '{"certificate":"-----BEGIN CERTIFICATE-----...","csr":"-----BEGIN CERTIFICATE REQUEST-----..."}'
GET · POST /api/v1/ct/search MCP: search_certificate_transparency
List valid certificates issued for a domain
Searches public Certificate Transparency logs (Cert Spotter, with crt.sh as fallback) and returns the certificates still valid for a domain and, optionally, its subdomains: names, issuer, validity, days left and revocation.
domain *
string · Domain, e.g. example.pt
include_subdomains
boolean · Include subdomains · default: true
curl "https://digitaltrust.pt/api/v1/ct/search?domain=company.eu&include_subdomains=true"
GET · POST /api/v1/caa/check MCP: check_caa
Check CAA records
Reads the CAA records that apply to a domain (walking up to the parent domain) and says which certificate authorities (Actalis, Asseco, GlobalSign, DigiCert, Sectigo, Let's Encrypt) may issue normal and wildcard certificates.
domain *
string · Domain, e.g. example.pt
curl "https://digitaltrust.pt/api/v1/caa/check?domain=company.eu"
GET · POST /api/v1/caa/generate MCP: generate_caa
Generate CAA records
Builds CAA records, in structured form and as zone-file lines, that authorise the chosen certificate authorities to issue for a domain.
domain *
string · Domain, e.g. example.pt
cas
array · Certificate authorities to authorise: actalis, asseco, globalsign, digicert, sectigo, letsencrypt, harica, or a CAA identifier such as actalis.it · default: actalis,asseco
wildcard
string · "same" lets the same CAs issue wildcards; "none" forbids wildcard certificates · default: 'same'
iodef
string · Email address for CA incident reports
curl "https://digitaltrust.pt/api/v1/caa/generate?domain=company.eu&cas=actalis,asseco&iodef=security%40company.eu"
GET · POST /api/v1/email/check MCP: check_email_security
Check email authentication of a domain
Returns MX, SPF, DKIM (when a selector is given), DMARC with its parsed tags, BIMI, MTA-STS (record and published policy) and TLS-RPT for a domain.
domain *
string · Domain, e.g. example.pt
dkim_selector
string · DKIM selector to test, e.g. default, google, selector1
curl "https://digitaltrust.pt/api/v1/email/check?domain=company.eu&dkim_selector=default"
GET /api/v1/products MCP: list_ssl_products
List SSL/TLS certificates and prices
Lists the SSL/TLS certificates sold by DigitalTrust (DV, OV, EV, QWAC, QWAC PSD2), with yearly prices in euros without VAT, coverage options, issuance time and the order page for each.
curl https://digitaltrust.pt/api/v1/products
GET · POST /api/v1/order/url MCP: build_order_url
Build a prefilled order link
Returns the price and a link to the DigitalTrust order page with the certificate already chosen. Orders are confirmed by a person on that page; this API does not place orders.
type *
string · Certificate type
coverage
string · Coverage · default: 'unico'
years
integer · Subscription length in years, paid upfront (discounts: 2y 15%, 3y 17%, 4y 20%, 5y 25%) · default: 1
curl "https://digitaltrust.pt/api/v1/order/url?type=ov&coverage=wildcard&years=1"