Historical Score¶
GET/
Account Health Check API · Account Health Scores
Get historical health scores.
Parameters¶
| Name | In | Type | Required | Description |
|---|---|---|---|---|
X-Tenant-ID | header | string (uuid) | Yes | Tenant ID. |
startDate | query | string (date) | No | Start date (the range between startDate and endDate is inclusive). |
endDate | query | string (date) | No | End date (the range between startDate and endDate is inclusive). |
Request samples¶
curl -X GET "https://api-<data-region>.central.sophos.com/account-health-check/v1/scores/historical" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>"
import requests
response = requests.get(
"https://api-<data-region>.central.sophos.com/account-health-check/v1/scores/historical",
headers={
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
},
)
print(response.json())
$headers = @{
"Authorization" = "Bearer <access-token>"
"X-Tenant-ID" = "<tenant-id>"
}
Invoke-RestMethod -Method GET -Uri "https://api-<data-region>.central.sophos.com/account-health-check/v1/scores/historical" -Headers $headers
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api-<data-region>.central.sophos.com/account-health-check/v1/scores/historical", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer <access-token>")
req.Header.Set("X-Tenant-ID", "<tenant-id>")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
const response = await fetch("https://api-<data-region>.central.sophos.com/account-health-check/v1/scores/historical", {
method: "GET",
headers: {
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
},
});
const data = await response.json();
console.log(data);
Responses¶
200 — Historical scores.¶
Response fields
tenantobjectrequiredTenant.
Show child attributesHide child attributes
idstring (uuid)requiredThe tenant's ID.
namestringThe tenant's name.
datapointsarray of objectrequiredList of datapoints.
Score Datapoint.
Show child attributesHide child attributes
datestring (date)The date.
computerTotalintegerNumber of computers.
serverTotalintegerNumber of servers.
endpointobjectEndpoint.
Show child attributesHide child attributes
protectionComputerScoreintegerThe score.
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
protectionServerScoreintegerThe score.
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
policyThreatProtectionComputerScoreintegerThe score.
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
policyThreatProtectionServerScoreintegerThe score.
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
exclusionsGlobalScoreintegerThe score.
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
exclusionsComputerScoreintegerThe score.
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
exclusionsServerScoreintegerThe score.
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
tamperProtectionGlobalScoreintegerThe score.
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
tamperProtectionComputerScoreintegerThe score.
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
tamperProtectionServerScoreintegerThe score.
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
networkDeviceobjectNetwork Device.
Show child attributesHide child attributes
firewallBackupScoreintegerThe score.
Must be ≥ 0 and ≤ 100.
Must be ≥ 0 and ≤ 100.
Errors¶
| Status | Meaning |
|---|---|
400 | Invalid request. |
429 | Too many requests. |
500 | Unexpected error. |
All error responses share the same shape — see the error response object.
Response examples¶
200¶
{
"tenant": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string"
},
"datapoints": [
{
"date": "2026-07-28",
"computerTotal": 0,
"serverTotal": 0,
"endpoint": {
"protectionComputerScore": 0,
"protectionServerScore": 0,
"policyThreatProtectionComputerScore": 0,
"policyThreatProtectionServerScore": 0,
"exclusionsGlobalScore": 0,
"exclusionsComputerScore": 0,
"exclusionsServerScore": 0,
"tamperProtectionGlobalScore": 0,
"tamperProtectionComputerScore": 0,
"tamperProtectionServerScore": 0
},
"networkDevice": {
"firewallBackupScore": 0
}
}
]
}
See the guide for a narrative walkthrough of this API.