Get ban safe health
Returns one number’s present Health estimate and model metadata, retained open and acknowledged findings with their observation times, directly observed account state, the active Polymorfa restriction, and how that restriction lifts. Recorded findings and observed state remain separate from the estimate.
Requires sessions:read. Project tokens only access resources in their own project.
curl --request GET \
--url https://api.polymorfa.com/platform/bansafe/health/{session} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.polymorfa.com/platform/bansafe/health/{session}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.polymorfa.com/platform/bansafe/health/{session}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.polymorfa.com/platform/bansafe/health/{session}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}false{
"data": {
"health": 50,
"band": "good",
"healthSource": "rules_v1",
"healthEstimatorVersion": "<string>",
"healthModelVersion": "<string>",
"healthEvaluatedAt": "2023-11-07T05:31:56Z",
"healthFeatureCoverage": 0.5,
"healthReliability": "rules_based",
"healthUnavailableReason": "no_active_model",
"healthProbabilities": {
"healthy": 0.5,
"limited": 0.5,
"restricted": 0.5,
"banned": 0.5
},
"mostLikelyHealthState": "healthy",
"healthExplanation": {
"penalties": {
"conduct": 50,
"delivery": 50,
"connection": 50,
"restriction": 50,
"total": 50
},
"factors": [
{
"group": "direct_condition",
"key": "observed_limited",
"penalty": 50,
"observedValue": 123,
"sampleSize": 1
}
],
"measuredGroups": [
"direct_condition"
],
"missingGroups": [
"direct_condition"
]
},
"observedAccountState": {
"state": "healthy",
"observedAt": "2023-11-07T05:31:56Z",
"source": "account_check"
},
"warmup": {
"enabled": true,
"tenureSource": "history",
"tenureDay": 1,
"allowance": 1,
"sentToday": 1,
"resetsAt": "2023-11-07T05:31:56Z",
"curve": [
{
"day": 1,
"allowance": 1
}
]
},
"findings": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "<string>",
"title": "<string>",
"summary": "<string>",
"fix": "<string>",
"status": "open",
"severity": "info",
"occurrences": 1,
"reopenedCount": 1,
"evidence": {},
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"session": "<string>",
"phoneNumber": "<string>",
"firstSeenAt": "2023-11-07T05:31:56Z",
"lastSeenAt": "2023-11-07T05:31:56Z",
"acknowledgedAt": "2023-11-07T05:31:56Z",
"acknowledgedBy": "<string>",
"acknowledgementNote": "<string>",
"snoozedUntil": "2023-11-07T05:31:56Z",
"resolvedAt": "2023-11-07T05:31:56Z",
"resolveReason": "clean"
}
],
"liftRequires": "<string>",
"appealState": "none"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>"
},
"data": null,
"docs": "<string>"
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>"
},
"data": null,
"docs": "<string>"
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>"
},
"data": null,
"docs": "<string>"
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>"
},
"data": null,
"docs": "<string>"
}Authorizations
Polymorfa server credential: a scoped pmfa_ organization key, or a pmfa_pt_ project token on project- and session-bound operations inside its exact authenticated project. Keys may be personal or service-account owned. Both enforce selected action scopes; organization keys can address team resources and every project in the organization. Listener and browser client credentials are rejected.
Path Parameters
Identifier of the connected Polymorfa session.
Response
Success
Structured data carried by this object.
Show child attributes
Show child attributes
curl --request GET \
--url https://api.polymorfa.com/platform/bansafe/health/{session} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.polymorfa.com/platform/bansafe/health/{session}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.polymorfa.com/platform/bansafe/health/{session}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.polymorfa.com/platform/bansafe/health/{session}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}false{
"data": {
"health": 50,
"band": "good",
"healthSource": "rules_v1",
"healthEstimatorVersion": "<string>",
"healthModelVersion": "<string>",
"healthEvaluatedAt": "2023-11-07T05:31:56Z",
"healthFeatureCoverage": 0.5,
"healthReliability": "rules_based",
"healthUnavailableReason": "no_active_model",
"healthProbabilities": {
"healthy": 0.5,
"limited": 0.5,
"restricted": 0.5,
"banned": 0.5
},
"mostLikelyHealthState": "healthy",
"healthExplanation": {
"penalties": {
"conduct": 50,
"delivery": 50,
"connection": 50,
"restriction": 50,
"total": 50
},
"factors": [
{
"group": "direct_condition",
"key": "observed_limited",
"penalty": 50,
"observedValue": 123,
"sampleSize": 1
}
],
"measuredGroups": [
"direct_condition"
],
"missingGroups": [
"direct_condition"
]
},
"observedAccountState": {
"state": "healthy",
"observedAt": "2023-11-07T05:31:56Z",
"source": "account_check"
},
"warmup": {
"enabled": true,
"tenureSource": "history",
"tenureDay": 1,
"allowance": 1,
"sentToday": 1,
"resetsAt": "2023-11-07T05:31:56Z",
"curve": [
{
"day": 1,
"allowance": 1
}
]
},
"findings": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "<string>",
"title": "<string>",
"summary": "<string>",
"fix": "<string>",
"status": "open",
"severity": "info",
"occurrences": 1,
"reopenedCount": 1,
"evidence": {},
"sessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"session": "<string>",
"phoneNumber": "<string>",
"firstSeenAt": "2023-11-07T05:31:56Z",
"lastSeenAt": "2023-11-07T05:31:56Z",
"acknowledgedAt": "2023-11-07T05:31:56Z",
"acknowledgedBy": "<string>",
"acknowledgementNote": "<string>",
"snoozedUntil": "2023-11-07T05:31:56Z",
"resolvedAt": "2023-11-07T05:31:56Z",
"resolveReason": "clean"
}
],
"liftRequires": "<string>",
"appealState": "none"
}
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>"
},
"data": null,
"docs": "<string>"
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>"
},
"data": null,
"docs": "<string>"
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>"
},
"data": null,
"docs": "<string>"
}{
"error": {
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>"
},
"data": null,
"docs": "<string>"
}