@stelpstra
Have you tried this through the /graphiql endpoint of Canvas? When I go there and click on mutation and click on setCoursePostPolicy, it comes up with this:
mutation MyMutation {
__typename
setCoursePostPolicy(input: {courseId: "2517260", postManually: true})
}
That didn't work, it complained about not having some required results, so I modified it to return the error and postPolicy like you had (sort of)
mutation MyMutation {
__typename
setCoursePostPolicy(input: {courseId: "2517260", postManually: true}) {
errors {
attribute
message
}
postPolicy {
postManually
}
}
}
This is what it looks like in the Explorer

And this is what the result comes back as
{
"data": {
"__typename": "Mutation",
"setCoursePostPolicy": {
"errors": null,
"postPolicy": {
"postManually": true
}
}
}
}
Here's what it shows in my course gradebook settings

I changed the true to false and now I have this
\
It looks like you know how to make the call with the REST API, so I'll stop here. I haven't actually accomplished that yet, only doing things through the /graphiql interface.