17711 Domain Security Check
Domain security check: SSL certificate, DMARC/SPF, DNSSEC, security headers and blocklist status with a score
Offering
- Provider
- api.17711.xyz
- Method
- POST
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Security
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://api.17711.xyz/registry/domain-security-service/v1/domain-security/get_report- MIME type
- Not provided
- First seen
- 2026-10-16T01:50:32.458Z
- Last seen
- Tags
- domain-security, security-audit, ssl-checker, dmarc-spf-check, security-headers
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.009 USDC
Atomic price: 9000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "9000",
"payTo": "0x19824cf672f28fa63024731ebc7405aa3733e0ba"
}
]Observed health
- Status
- Healthy
- Latest latency
- 292 ms
- Average latency
- 994 ms
- HTTP status
- 200
- Last checked
- Reachability
- 100% over 14 checks
Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.
Input schema
{
"properties": {
"body": {
"properties": {
"domain": {
"description": "The domain to assess: `stripe.com`, `www.stripe.com` or a full URL (only the host is used).",
"type": "string"
},
"max_age_seconds": {
"default": null,
"description": "The oldest report you accept, in seconds. Omit it for the default (reports up to 1 hour old);\n`0` forces a fresh assessment. The response always says how old it is.",
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"domain"
],
"title": "GetReportRequest",
"type": "object"
},
"bodyType": {
"const": "json"
},
"method": {
"const": "POST"
},
"type": {
"const": "http"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}Output schema
{
"$defs": {
"BlocklistHit": {
"properties": {
"cidr": {
"type": "string"
},
"ip": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"ip",
"source",
"cidr"
],
"type": "object"
},
"DnsSecurity": {
"properties": {
"caa": {
"description": "CAA records: the certificate authorities allowed to issue for the domain.",
"items": {
"type": "string"
},
"type": "array"
},
"dnssec": {
"description": "Whether the answer for the domain is validated by DNSSEC.",
"type": "boolean"
},
"name_servers": {
"description": "Authoritative name servers (at most 8).",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"dnssec",
"name_servers",
"caa"
],
"type": "object"
},
"Finding": {
"properties": {
"code": {
"description": "Stable machine-readable code, e.g. `tls.expired`, `mail.dmarc_absent`, `http.hsts_missing`.",
"type": "string"
},
"message": {
"description": "What was observed and why it matters, in one sentence.",
"type": "string"
},
"severity": {
"description": "`critical`, `high`, `medium`, `low` or `info`.",
"type": "string"
}
},
"required": [
"severity",
"code",
"message"
],
"type": "object"
},
"HttpSecurity": {
"properties": {
"discloses_version": {
"description": "Whether the `Server` / `X-Powered-By` headers disclose a software version.",
"type": "boolean"
},
"headers_missing": {
"description": "The ones that are missing.",
"items": {
"type": "string"
},
"type": "array"
},
"headers_present": {
"description": "Security headers found on the HTTPS response (`strict-transport-security`,\n`content-security-policy`, `x-content-type-options`, `x-frame-options`, `referrer-policy`,\n`permissions-policy`).",
"items": {
"type": "string"
},
"type": "array"
},
"http_redirects_to_https": {
"description": "`true` when plain HTTP on port 80 redirects to HTTPS, `false` when it serves content or\nredirects elsewhere, absent when port 80 does not answer.",
"type": [
"boolean",
"null"
]
},
"https_status": {
"description": "Status of `GET https://<domain>/`.",
"format": "uint16",
"maximum": 65535,
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"headers_present",
"headers_missing",
"discloses_version"
],
"type": "object"
},
"MailSecurity": {
"properties": {
"dmarc": {
"description": "DMARC policy: `reject`, `quarantine`, `none` or `absent`.",
"type": [
"string",
"null"
]
},
"mta_sts": {
"description": "Whether an MTA-STS policy is published (`_mta-sts` TXT record).",
"type": "boolean"
},
"mx": {
"description": "Mail servers (MX) of the website's domain, highest priority first (at most 5).",
"items": {
"type": "string"
},
"type": "array"
},
"provider": {
"description": "Mail platform deduced from the MX records (`google-workspace`, `microsoft-365`, ...).",
"type": [
"string",
"null"
]
},
"spf": {
"description": "SPF policy: `strict` (-all), `soft` (~all), `neutral` (?all), `open` (+all) or `none`.",
"type": [
"string",
"null"
]
}
},
"required": [
"mx",
"mta_sts"
],
"type": "object"
},
"TlsSecurity": {
"properties": {
"days_remaining": {
"description": "Days left before expiry (negative once expired).",
"format": "int64",
"type": [
"integer",
"null"
]
},
"error": {
"description": "Why the handshake or validation failed, when it did.",
"type": [
"string",
"null"
]
},
"expires_at": {
"description": "Certificate end of validity (UTC).",
"type": [
"string",
"null"
]
},
"issuer": {
"type": [
"string",
"null"
]
},
"protocol": {
"description": "`TLS1.3` or `TLS1.2`.",
"type": [
"string",
"null"
]
},
"reachable": {
"description": "Whether HTTPS answered on port 443.",
"type": "boolean"
},
"san_count": {
"description": "Number of host names the certificate covers.",
"format": "uint32",
"minimum": 0,
"type": "integer"
},
"valid": {
"description": "Whether the certificate chain validates for this host name.",
"type": "boolean"
}
},
"required": [
"reachable",
"valid",
"san_count"
],
"type": "object"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"properties": {
"body": {
"properties": {
"domain": {
"description": "The domain to assess: `stripe.com`, `www.stripe.com` or a full URL (only the host is used).",
"type": "string"
},
"max_age_seconds": {
"default": null,
"description": "The oldest report you accept, in seconds. Omit it for the default (reports up to 1 hour old);\n`0` forces a fresh assessment. The response always says how old it is.",
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
}
},
"required": [
"domain"
],
"title": "GetReportRequest",
"type": "object"
},
"bodyType": {
"const": "json"
},
"method": {
"const": "POST"
},
"type": {
"const": "http"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"age_seconds": {
"description": "How old this report is, in seconds (0 for a fresh assessment).",
"format": "uint64",
"minimum": 0,
"type": "integer"
},
"blocklisted": {
"description": "Addresses found on a public IP blocklist (IPv4 only).",
"items": {
"$ref": "#/$defs/BlocklistHit"
},
"type": "array"
},
"dns": {
"$ref": "#/$defs/DnsSecurity"
},
"domain": {
"description": "The host that was assessed, lowercased, without scheme or path.",
"type": "string"
},
"findings": {
"description": "Everything worth acting on, most severe first.",
"items": {
"$ref": "#/$defs/Finding"
},
"type": "array"
},
"from_cache": {
"description": "`true` when this report was served from a stored result.",
"type": "boolean"
},
"grade": {
"description": "`A` (90+), `B` (80+), `C` (65+), `D` (50+), `F`.",
"type": "string"
},
"http": {
"$ref": "#/$defs/HttpSecurity"
},
"ip_addresses": {
"description": "Public IPv4/IPv6 addresses of the host (at most 8).",
"items": {
"type": "string"
},
"type": "array"
},
"mail": {
"$ref": "#/$defs/MailSecurity"
},
"retrieved_at": {
"description": "When the assessment was made (UTC).",
"type": "string"
},
"score": {
"description": "0 to 100, higher is better; derived from the findings.",
"format": "uint32",
"minimum": 0,
"type": "integer"
},
"tls": {
"$ref": "#/$defs/TlsSecurity"
}
},
"required": [
"domain",
"ip_addresses",
"blocklisted",
"dns",
"mail",
"tls",
"http",
"findings",
"score",
"grade",
"retrieved_at",
"age_seconds",
"from_cache"
],
"title": "GetReportResponse",
"type": "object"
},
"type": {
"const": "json"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}