Retrieve survey results

Read back everything a candidate has been asked, and their answers so far.

GET/api/v1/candidates/{id}/churnguard#

Read back a candidate’s ChurnGuard survey — every question asked so far, and its typed answer.

Headers

X-Api-Keyonb_live_<key_id>_<secret>required
Your issued Partner API key — see Authentication.

Status codes

2002xx
{ state: "none" } when this candidate has never been surveyed — a genuine checked answer, never a 404. Otherwise the survey so far.
4014xx
Missing, malformed, unknown or revoked key. Every authentication failure looks the same — see Authentication.
4034xx
Your account’s plan does not include ChurnGuard.
ChurnGuard is not included in your plan.
4044xx
Unknown, cross-tenant, or (a candidate id) sandbox-hidden. One outcome, never a 403.
Not found
4294xx
Per-key or per-account rate limit exceeded. Retry after the Retry-After header.
Too many requests — please try again shortly.
5005xx
The survey read failed — retry.
Some of this candidate’s records could not be read right now. Try again shortly.

Typed answers and the model’s own read — never the candidate’s words

A rating, yes/no or choice question returns the typed value it parsed to (a choice answer is the matched option’s own text, never its position). A free-text question, or a reply the parser could not read, instead returns the model’s own band and summary of what was said — the underlying message text itself never leaves the platform, on this endpoint or anywhere else in this API.

cURL
curl \
"https://rca-onboardly.com/api/v1/candidates/<candidate id>/churnguard" \
-H "X-Api-Key: $ONB_KEY"
200 · No survey sent yet
{
"state": "none"
}
200 · In progress
{
"state": "ok",
"setName": "Onboarding experience",
"startedAt": "2026-09-16T10:00:00Z",
"answeredCount": 1,
"total": 2,
"questions": [
{
"key": "settling_in",
"prompt": "How are you settling in?",
"type": "rating",
"min": 1,
"max": 5,
"askedAt": "2026-09-16T10:00:00Z",
"receivedAt": "2026-09-16T10:05:00Z",
"deliveryStatus": "delivered",
"answer": {
"kind": "rating",
"value": 4
}
},
{
"key": "anything_else",
"prompt": "Anything else you want us to know?",
"type": "free_text",
"askedAt": null,
"receivedAt": null,
"deliveryStatus": "pending",
"answer": {
"kind": "pending"
}
}
]
}