The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
Hi, In relation to this post
https://community.canvaslms.com/message/53737-canvas-terms-of-service-use-acceptance I'm trying to create user accounts via REST API, but cannot convince Canvas to prompt the user to accept TOS when she firstly logs in. I tried all possible combinations of user[terms_of_use], force_validations, and pseudonym[force_self_registration] parameters, but nothing has worked. We have institutionally licensed instance of Canvas (not the free version), as is the case in the mentioned post. Any help would be much appreciated.
Solved! Go to Solution.
BTW, I just had a look on a local Canvas install (VM from bitnami), as opposed to a Canvas hosted one, and it has settings that affect the Acceptable Use Policy, including entering custom terms or no terms, and a setting to "Allow passive acceptance of Terms of Service".
So you probably need to contact Canvas to see what is set for your instance.
Hi @tomaz_turk and Welcome to the Canvas Community,
We utilise the rest API for creating accounts at our institution, and I know that (by default) if we do not include any details in the terms of use field, by default, new users have to accept the TOS.
Hence, would it be possible to share a sanitised example of the call you are attempting to make, I would love to have a look and should be able to help you work out the combination that you need to have the TOS screen presented.
Looking forward to hearing from you!
Stuart
Hi @stuart_ryan , many thanks for your reply! We are using 'plain and simple' calls (just to check everything before real integration), like:
POST https://xyz.instructure.com/api/v1/accounts/<account>/users
Hi @tomaz_turk ,
I was about to start tinkering to clarify on your second question, however wanted to point out something I just realised. If you set the user[terms_of_use] to 'false' may have unexpected behaviours in this case.
Could you please possibly try again without setting this flag.
I believe the user will get the confirmation and will accept on first login, however it has been a long time since we did it this way (sending confirmations) so I may have to retest that to confirm.
Let me know how you go with the above suggestions!
Cheers,
Stuart
Hi,
I just did (skip setting the flag); new user gets confirmation email, on the confirmation dialog box Welcome Aboard! there are three fields: login, password and time zone, but not the Accept TOS check box, as usual ...
I read somewhere that this might depend from the user rights of the user that runs the API call and creates new users. Do you use a special user for that purpose? It would be interesting to know the permissions of that user.
Many thanks, Tomaz
Hi @tomaz_turk ,
If you fill out those fields and click next (or OK), it should send you to an additional screen which covers off the TOS. If I remember correctly, it isn't a checkbox, but a separate screen that comes next.
As far as I am aware this doesn't depend on user rights, a standard admin user should work (as would a developer API key).
Let me know what happens after you fill out the three fields, if that is not the case I will have to do more testing.
Cheers,
Stuart
Hi, after I fill up the fields as a new user (login and time zone are already filled) and press OK, I'm taken directly to the dashboard, without the separate screen with TOS.
I really appreciate your help, thanks! This is very important to us, because of the enrollment process and all the legal stuff.
Hi @tomaz_turk ,
No worries at all, can you please give this ago, I followed this process and was able to clarify that indeed you are correct, it is a tickbox, and this seems to work.
On your instance you can use the Canvas Live API (check out https://community.canvaslms.com/docs/DOC-14390-canvas-apis-getting-started-the-practical-ins-and-out... for details on how to do this).
I ran the CanvasLive API user create call, only including the account ID, pseudonym[unique_id], and set pseudonym[send_confirmation] to true.
When I got the confirmation email, it had the tickbox as you would expect.
Please let me know how you go replicating those steps, as, otherwise there may be a setting that we can't see that your CSM may have to enable for you.
Look forward to hearing from you.
Stuart
Hi Tomaz,
I just tried an example with the minimal fields you have here, including user[terms_of_use]=false, and when I click the "Click here to finish the registration process" link in the email I get:
There is a check box for the "Acceptable use Policy". Are you getting this?
Cheers,
Peter
Oh, just saw Stuart posted pretty much the same while I was testing and typing in my reply.
Mine did work with the user[terms_of_use]=false
That is good to know pklove, I am wondering if it might be a system wide account setting perhaps. I do remember seeing mention of that somewhere. (Haha and great minds think alike).
I look forward to hearing how @tomaz_turk goes!
Hi Stuart and Peter, the behaviour is the same as it was - I went to Canvas Live API, used the same token, enter the accunt number, unique_id and chose true for send_confirmation, everything else was empty.
I guess it must be some system wide setting ...
BTW, the TOS is not the same thing as Acceptable Use Policy, these are two separate things ...
Ah, in that case I'm not seeing the TOS either.
Maybe someone can explain what/where this is and then we might understand why its not showing up.
If I set user[terms_of_use]=true then I don't see the Acceptable use Policy checkbox. So it looks like the user[terms_of_use] does control the Acceptable use Policy.
BTW, I just had a look on a local Canvas install (VM from bitnami), as opposed to a Canvas hosted one, and it has settings that affect the Acceptable Use Policy, including entering custom terms or no terms, and a setting to "Allow passive acceptance of Terms of Service".
So you probably need to contact Canvas to see what is set for your instance.
Thanks Peter, this information is crucial.
Awesome find pklove!
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in