Doctor API Reference

FieldValue
Source specdoctor/openapi/v1.json
OpenAPI version3.1.1
API version1.0.0
Operations20
Path filterAll paths

Operations

GET /api/v1/buildinfo

API alias for /buildinfo.json (same payload).

PropertyValue
Operation IDStellaOpsBuildInfoApi
TagsStellaOps.Doctor.WebService
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /api/v1/doctor/checks

List available doctor checks

Returns all health checks available in the Doctor engine, optionally filtered by category or plugin. Each check includes its ID, name, category, and description. Requires doctor:run authorization.

PropertyValue
Operation IDListDoctorChecks
TagsDoctor
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
categoryqueryno
pluginqueryno

Responses:

StatusDescriptionContent types
200OKapplication/json

POST /api/v1/doctor/diagnosis

Generate AdvisoryAI diagnosis for a Doctor run

Generates an AI-powered diagnosis and remediation recommendations for a completed Doctor run. Returns structured findings with severity, root cause analysis, and suggested actions. Requires doctor:run authorization.

PropertyValue
Operation IDCreateDoctorDiagnosis
TagsDoctor
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json
400Bad Requestapplication/json
404Not Found-

GET /api/v1/doctor/plugins

List available doctor plugins

Returns all registered Doctor plugins with their names, versions, and available check categories. Requires doctor:run authorization.

PropertyValue
Operation IDListDoctorPlugins
TagsDoctor
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/doctor/reports

List historical doctor reports

Returns paginated historical Doctor run reports with summary metadata including run date, mode, overall health status, and check counts. Requires doctor:run authorization.

PropertyValue
Operation IDListDoctorReports
TagsDoctor
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
limitqueryno
offsetqueryno

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/doctor/reports/{reportId}

Get a specific doctor report

Returns the full stored Doctor report for a specific report ID including all check results and diagnosis if available. Returns 404 if the report is not found. Requires doctor:run authorization.

PropertyValue
Operation IDGetDoctorReport
TagsDoctor
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
reportIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json
404Not Found-

DELETE /api/v1/doctor/reports/{reportId}

Delete a doctor report

Permanently removes a stored Doctor report. Returns 204 No Content on success or 404 if not found. Requires doctor:admin authorization.

PropertyValue
Operation IDDeleteDoctorReport
TagsDoctor
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
reportIdpathyes

Responses:

StatusDescriptionContent types
204No Content-
404Not Found-

POST /api/v1/doctor/run

Start a new doctor run

Initiates a new Doctor health check run with the specified mode, categories, and plugins. Returns 202 Accepted with the run ID. Results are retrieved via GetDoctorRunResult or streamed via StreamDoctorRunProgress. Requires doctor:run authorization.

PropertyValue
Operation IDStartDoctorRun
TagsDoctor
AuthNot declared
Request bodyapplication/json

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/doctor/run/{runId}

Get doctor run result

Returns the full result of a completed Doctor run including per-check outcomes, overall health status, and failure summary. Returns 404 if the run is not found. Requires doctor:run authorization.

PropertyValue
Operation IDGetDoctorRunResult
TagsDoctor
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
runIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json
404Not Found-

GET /api/v1/doctor/run/{runId}/stream

Stream doctor run progress via SSE

Streams real-time progress events for an active Doctor run using Server-Sent Events (text/event-stream). Each event contains the check ID, status, and message. Requires doctor:run authorization.

PropertyValue
Operation IDStreamDoctorRunProgress
TagsDoctor
AuthNot declared
Request body-

Parameters:

NameInRequiredDescription
runIdpathyes

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/doctor/timestamping/certificates

Get TSA certificate expiry and chain status

Returns expiry and chain status for TSA signing certificates and trust anchor certificates, including days until expiry and health status. Requires doctor:run authorization.

PropertyValue
Operation IDGetCertificateHealth
TagsDoctor, Timestamping
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/doctor/timestamping/dashboard

Get aggregated timestamping health data for dashboard display

Returns a single aggregated response combining overall status, TSA health, certificate health, evidence status, eIDAS compliance, and time sync data for rendering a complete timestamping dashboard. Requires doctor:run authorization.

PropertyValue
Operation IDGetTimestampingDashboard
TagsDoctor, Timestamping
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/doctor/timestamping/eidas

Get EU Trust List and QTS qualification status

Returns the EU Trust List freshness status and the qualification state of all configured Qualified Trust Service (QTS) providers including country code and last status change. Requires doctor:run authorization.

PropertyValue
Operation IDGetEidasStatus
TagsDoctor, Timestamping
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/doctor/timestamping/evidence

Get timestamp evidence staleness and re-timestamping needs

Returns counts of timestamp tokens that use deprecated algorithms, are approaching signing cert expiry, are pending re-timestamping, or are missing OCSP/CRL stapling. Requires doctor:run authorization.

PropertyValue
Operation IDGetEvidenceStatus
TagsDoctor, Timestamping
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/doctor/timestamping/status

Get overall timestamping infrastructure status

Returns a summary of the overall timestamping infrastructure health including healthy and unhealthy TSA provider counts, expiring certificate counts, and pending re-timestamp counts. Requires doctor:run authorization.

PropertyValue
Operation IDGetTimestampingStatus
TagsDoctor, Timestamping
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/doctor/timestamping/timesync

Get system clock and TSA time synchronization status

Returns the system clock NTP synchronization status, system clock skew, and per-TSA time skew measurements to detect time drift that could affect timestamp validity. Requires doctor:run authorization.

PropertyValue
Operation IDGetTimeSyncStatus
TagsDoctor, Timestamping
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /api/v1/doctor/timestamping/tsa

Get TSA endpoint availability and response times

Returns per-TSA endpoint health details including status, average response time, last successful response, and last error. Also includes the number of failover TSAs available. Requires doctor:run authorization.

PropertyValue
Operation IDGetTsaHealth
TagsDoctor, Timestamping
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OKapplication/json

GET /buildinfo.json

Image build provenance (module, gitSha, gitCommitTime, imageBuiltAt, branch) for drift detection.

PropertyValue
Operation IDStellaOpsBuildInfoFile
TagsStellaOps.Doctor.WebService
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /healthz

PropertyValue
Operation ID-
TagsHealth
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-

GET /readyz

PropertyValue
Operation ID-
TagsHealth
AuthNot declared
Request body-

Responses:

StatusDescriptionContent types
200OK-