DIGITALTRUST
Ferramentas · API e IA

As nossas ferramentas, na sua aplicação e no seu assistente de IA.

Uma API REST pública e gratuita e um servidor MCP para o Claude, o ChatGPT e outros assistentes. Mesmas verificações do site, em JSON, sem registo.

  • Sem autenticação
  • 100 pedidos por hora e por IP
  • OpenAPI 3.1 e MCP
Como funciona

GET ou POST, JSON de volta.

URL base
https://digitaltrust.pt/api/v1
Formato
Todos os endpoints aceitam GET com parâmetros no URL e, quando têm parâmetros, POST com corpo JSON. A resposta é sempre JSON.
Autenticação
Nenhuma.
Limite
100 pedidos por hora e por endereço IP, partilhados entre a API e o MCP. Acima disso, resposta 429.
Especificação
/openapi.json (OpenAPI 3.1)
Chaves privadas
Nunca. Nenhum endpoint as aceita. Para gerar CSR ou PFX use as ferramentas do site, que correm no browser, ou o OpenSSL.

Resposta

{ "success": true,  "data": { … } }
{ "success": false, "error": { "code": "invalid_input", "message": "Enter a domain, for example company.eu." } }

Códigos de erro: missing_parameter e invalid_json (400), not_found (404), invalid_input (422), rate_limited (429), upstream_error (502). As mensagens vêm em inglês; acrescente lang=pt ao URL para as receber em português.

Endpoints

10 endpoints, os mesmos 10 nomes no 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 · por omissão: 443
curl "https://digitaltrust.pt/api/v1/ssl/check?host=empresa.pt"

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/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=empresa.pt"

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 · por omissão: actalis,asseco
wildcard
string · "same" lets the same CAs issue wildcards; "none" forbids wildcard certificates · por omissão: 'same'
iodef
string · Email address for CA incident reports
curl "https://digitaltrust.pt/api/v1/caa/generate?domain=empresa.pt&cas=actalis,asseco&iodef=seguranca%40empresa.pt"

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=empresa.pt&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 · por omissão: 'unico'
years
integer · Subscription length in years, paid upfront (discounts: 2y 15%, 3y 17%, 4y 20%, 5y 25%) · por omissão: 1
curl "https://digitaltrust.pt/api/v1/order/url?type=ov&coverage=wildcard&years=1"
MCP · assistentes de IA

Pergunte ao seu assistente: «o certificado do meu site está bem?»

O servidor MCP dá ao Claude, ao ChatGPT e a outros assistentes acesso direto às mesmas ferramentas. O assistente verifica o servidor, lê os registos CT ou o DMARC e responde com dados reais.

Endereço
https://digitaltrust.pt/mcp
Transporte
Streamable HTTP, sem autenticação
Claude
Definições → Conectores → Adicionar conector personalizado, e cole o endereço.
Claude Code
claude mcp add --transport http digitaltrust https://digitaltrust.pt/mcp
Outros clientes
Qualquer cliente MCP com transporte HTTP. Também há a especificação OpenAPI para assistentes que usam ações por API.

As ferramentas só leem dados públicos e não fazem encomendas. Para comprar, o assistente devolve a ligação para a página de encomenda, onde é uma pessoa a confirmar.

LigarEncomendar SSL