Skip to content

Get certificate check status

GET
/api/v1/certificates/status/{scan_uuid}
curl --request GET \
--url https://app.hostrepute.com/api/v1/certificates/status/01a178db-d882-7223-aeac-dfab82daeffa \
--header 'Authorization: Bearer <token>'

Get the progress and, once it has ended, the result of a certificate check. result is only present when status is completed or failed. result.status is the certificate’s health: healthy, expiring, expired, invalid or failed.

Needs the certificate:read ability.

scan_uuid
required
string

The UUID of the certificate check, from the response of the start request.

Example

01a178db-d882-7223-aeac-dfab82daeffa
Media typeapplication/json
object
data
object
uuid
string
host
string
port
integer
protocol
string
sni
string
nullable
status
string
is_completed
boolean
callback_status
string
nullable
result
object
status
string
host
string
port
integer
protocol
string
sni
string
checked_ip
string
issuer
string
subject
string
common_name
string
sans
Array<string>
serial_number
string
fingerprint_sha256
string
signature_algorithm
string
valid_from
string
expires_at
string
days_remaining
integer
chain_valid
boolean
hostname_valid
boolean
caa_valid
boolean
algorithm_secure
boolean
revocation_status
string
events
array
error_message
string
nullable
checked_at
string
resolved_ips
Array<string>
certificate_grade
string
certificate_score
integer
certificate_grade_version
string
certificate_grade_breakdown
object
summary
string
checks
Array<object>
object
key
string
label
string
status
string
message
string
score_delta
integer
recommendations
array
started_at
string
completed_at
string
created_at
string

Example

{
"data": {
"uuid": "01a178db-d882-7223-aeac-dfab82daeffa",
"host": "mail.example.com",
"port": 443,
"protocol": "https",
"sni": null,
"status": "completed",
"is_completed": true,
"callback_status": null,
"result": {
"status": "healthy",
"host": "mail.example.com",
"port": 443,
"protocol": "https",
"sni": "mail.example.com",
"checked_ip": "192.0.2.25",
"issuer": "R11",
"subject": "mail.example.com",
"common_name": "mail.example.com",
"sans": [
"mail.example.com",
"smtp.example.com"
],
"serial_number": "04A3F1C27E9B5D6082C4E1F3A5B7D9E0",
"fingerprint_sha256": "6E2B9D41C7A3F05E8B1D6C4A92F7E3B05D8C1A6F4E2B97D3C5A0F8E1B6D4C2A9",
"signature_algorithm": "sha256WithRSAEncryption",
"valid_from": "2026-09-26 22:49:11",
"expires_at": "2026-12-25 22:49:10",
"days_remaining": 60,
"chain_valid": true,
"hostname_valid": true,
"caa_valid": true,
"algorithm_secure": true,
"revocation_status": "unknown",
"events": [],
"error_message": null,
"checked_at": "2026-10-26 15:37:18",
"resolved_ips": [
"192.0.2.25"
],
"certificate_grade": "A",
"certificate_score": 100,
"certificate_grade_version": "ssl-grade-v1",
"certificate_grade_breakdown": {
"summary": "Certificate grade is A (100/100): strong certificate posture.",
"checks": [
{
"key": "trust_chain",
"label": "Trust chain",
"status": "pass",
"message": "The certificate chain validates against the local CA bundle.",
"score_delta": 0
},
{
"key": "hostname",
"label": "Hostname match",
"status": "pass",
"message": "The certificate covers the requested host.",
"score_delta": 0
},
{
"key": "expiry",
"label": "Expiration",
"status": "pass",
"message": "The certificate is valid for 60 more days.",
"score_delta": 0
},
{
"key": "algorithm",
"label": "Algorithm and key",
"status": "pass",
"message": "Signature and public key strength meet modern thresholds.",
"score_delta": 0
},
{
"key": "caa",
"label": "CAA policy",
"status": "info",
"message": "No CAA records were published. This is allowed, but CAA can reduce issuance risk.",
"score_delta": 0
},
{
"key": "ip_consistency",
"label": "Resolved IP consistency",
"status": "pass",
"message": "Resolved IP checks did not show certificate fingerprint drift.",
"score_delta": 0
},
{
"key": "negotiated_tls",
"label": "Negotiated TLS",
"status": "pass",
"message": "The observed handshake used a modern TLS protocol.",
"score_delta": 0
},
{
"key": "cipher_strength",
"label": "Cipher strength",
"status": "pass",
"message": "The observed cipher reports 256 effective bits.",
"score_delta": 0
}
],
"recommendations": []
}
},
"started_at": "2026-10-26T15:37:16.000000Z",
"completed_at": "2026-10-26T15:37:18.000000Z",
"created_at": "2026-10-26T15:37:16.000000Z"
}
}

No certificate check with this UUID in your team

Media typeapplication/json
object
message
string

Example

{
"message": "No query results for model [App\\Models\\CertificateScan] 01a178db-d882-7223-aeac-dfab82daeffa"
}