POST /api/ssllabs/assessments
Price: 5 credits
Run the SSL Labs TLS assessment for a host and return its full security report
Assess the TLS / SSL configuration of a host (the Qualys SSL Server Test). Returns, per server endpoint (IP), the letter grade (A+ down to F, plus the trust-ignored grade), the supported TLS protocol versions and cipher suites, a full battery of vulnerability checks (Heartbleed, POODLE, FREAK, Logjam, DROWN, BEAST, Bleichenbacher, Ticketbleed, RC4, insecure renegotiation, etc.), HSTS policy, forward secrecy, OCSP stapling, handshake simulations for many client platforms, and the full certificate chain (subject, SANs, issuer, signature & key algorithm, key size, validity dates, fingerprints and PEM). Accepts a bare domain or a URL. Results are returned from a recent cache by default; set start_new to force a fresh live test.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 600; min: 20; max: 1500)host string required — Hostname to assess (a bare domain or a URL — scheme, path and port are stripped) (examples: "github.com", "cloudflare.com", "www.ssllabs.com"; minLength: 1)from_cache boolean — Return a recently cached assessment when available instead of testing live (default: true)max_age integer nullable — Maximum age of a cached assessment in hours; older results are re-tested (min: 1)start_new boolean — Force a brand-new live assessment, ignoring any cached result (default: false)ignore_mismatch boolean — Continue assessing even when the certificate name does not match the host (default: false)publish boolean — Publish the result on the public SSL Labs boards (default: false)@type string (default: "SsllabsAssessment")host string nullableport integer nullableprotocol string nullableis_public boolean nullablestatus string nullablestarted_at integer nullabletested_at integer nullableengine_version string nullablecriteria_version string nullableendpoints array (default: [])@type string (default: "SsllabsEndpoint")ip_address string nullableserver_name string nullablestatus_message string nullablegrade string nullablegrade_trust_ignored string nullablefuture_grade string nullablehas_warnings boolean nullableis_exceptional boolean nullableprogress integer nullableduration integer nullabledelegation integer nullabledetails object nullable@type string (default: "SsllabsEndpointDetails")protocols array (default: [])cipher_suites array (default: [])named_groups array (default: [])server_signature string nullableprefix_delegation boolean nullablenon_prefix_delegation boolean nullablereneg_support integer nullablesession_resumption integer nullablesession_tickets integer nullablecompression_methods integer nullablesupports_npn boolean nullablesupports_alpn boolean nullablealpn_protocols string nullablesupports_aead boolean nullablesupports_cbc boolean nullablechacha20_preference boolean nullableforward_secrecy integer nullableprotocol_intolerance integer nullablemisc_intolerance integer nullablehas_sct integer nullableocsp_stapling boolean nullablesni_required boolean nullablehttp_status_code integer nullableimplements_tls13_mandatory_cs boolean nullablezero_rtt_enabled integer nullablehsts_policy object nullable@type string (default: "SsllabsHstsPolicy")status string nullablemax_age integer nullableinclude_sub_domains boolean nullablepreload boolean nullableheader string nullablehpkp_status string nullablevulnerabilities object nullable@type string (default: "SsllabsVulnerabilities")beast boolean nullableheartbleed boolean nullableheartbeat boolean nullableopen_ssl_ccs integer nullableopen_ssl_lucky_minus20 integer nullableticketbleed integer nullablebleichenbacher integer nullablezombie_poodle integer nullablegolden_doodle integer nullablezero_length_padding_oracle integer nullablesleeping_poodle integer nullablepoodle boolean nullablepoodle_tls integer nullablefallback_scsv boolean nullablefreak boolean nullablelogjam boolean nullabledh_uses_known_primes integer nullabledh_ys_reuse boolean nullabledrown_vulnerable boolean nullableecdh_parameter_reuse boolean nullablesupports_rc4 boolean nullablerc4_only boolean nullablerc4_with_modern boolean nullablesims array (default: [])cert_chains array (default: [])certs array (default: [])@type string (default: "SsllabsCert")id string nullablesubject string nullableserial_number string nullablecommon_names array (default: [])alt_names array (default: [])not_before integer nullablenot_after integer nullableissuer_subject string nullablesig_alg string nullablekey_alg string nullablekey_size integer nullablekey_strength integer nullableis_key_known_debian_insecure boolean nullablesha1_hash string nullablesha256_hash string nullablepin_sha256 string nullablemust_staple boolean nullablerevocation_status integer nullablecrl_revocation_status integer nullableocsp_revocation_status integer nullablerevocation_info integer nullableocsp_uris array (default: [])crl_uris array (default: [])issues integer nullablesct boolean nullableraw string nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — Host could not be assessed (unable to resolve the domain or no secure endpoint) Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.