Hiya... I want to use the end points for tracking acceptance of the privacy policy and termsandconditions. I know the endpoints, and understand them. But I don't see how the end point tracks the individual user_id. The result I am after is that when the user logs into the domain the first time, his agreements will already have been recorded. Registration is actually happening via API from a different platform, so I'm keen to not make them agree twice.
Here’s the body for the privacy endpoint POST /manage/v1/policy/track
{
"policy": {
"id": 0,
"answer": 0,
"sub_policies": [
{
"id": 0,
"answer": 0
}
]
},
"client_id": 0
}
Thanks for any ideas.
APIs for Policy and Terms & Conditions - tracking the user_id
Best answer by John
Hey
I dug into this and also captured the HAR flow from the UI when accepting a policy as a Learner/user. Since you’re collecting registration and consent in a non-Docebo system and want to push that record into Docebo, it might be helpful to understand how this is playing out on the Docebo side. Here’s what’s happening under the hood:
-
When a learner clicks “Accept” in the wizard, the platform calls the tracking endpoints in their user context:
-
POST /manage/v1/policy/track with body like:
-
{
"policy": {
"id": 1,
"answer": true,
"sub_policies": [
{"id": 2, "answer": 1}
]
}
}- POST /manage/v1/termsandconditions/track with body like:
{ "tc": { "id": 1, "answer": true } }- These calls must use the learner’s own token. That’s why my HAR shows them tied to the logged-in user and not another reference in parameters or token.
Important: there’s no documented or supported way to “accept” a policy/T&C on behalf of another user. The system doesn’t allow a Superadmin to force-mark acceptance for someone else, since that breaks the audit trail of user consent. APIs remain usable even if policies aren’t accepted, so integrations and provisioning don’t get blocked.
What you can do in practice:
-
Let the platform collect consent at login (recommended).
-
Assign policies properly, and users will be prompted the next time they sign in.
-
You can monitor acceptance status in the Privacy Policy/T&C dashboards.
-
-
If you need historical consent backfilled (e.g., you’ve tracked acceptance externally and need Docebo to reflect it), open a Support ticket and let’s explore our options. We may be able to import evidence of consent, but this would be handled case-by-case.
-
Avoid trying to script “admin acceptance” for other users.
-
It isn’t supported (AFAIK) and could create compliance issues and could conflict with aduitability requirements.
-
Instead, could you carry a User Additional Field that is hidden to the learner/user profile so the selection is known on acceptance in the 3rd party system?
-
If your goal is to automate a user’s own acceptance (for testing or simulation), you can replay the above POST calls with that user’s token. If the goal is to mark acceptance on behalf of a whole group, that’s not possible via API today.
Log in to Docebo Community
Enter your email address or username and password below to log in to Docebo Community. No account yet? Create an account
Docebo Employee Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.

