I'm having a couple problems using the REST API (via Canvaspest, but I'm also hitting it using CURL) to handle enrollments:
This works fine:
curl -X POST "https://templeu.instructure.com/api/v1/sections/26524/enrollments" \<BR />-H "Authorization: Bearer supersecretblahblahblah" \<BR />-F "enrollment[user_id]=18" \<BR />-F "enrollment[type]=StudentEnrollment" \<BR />-F "enrollment[enrollment_state]=active" \<BR />| jq --raw-output <SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
So for testing user enrollments, that works fine:
<SPAN class="punctuation token">{</SPAN><BR /> <SPAN class="string token">"id"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">444839</SPAN><SPAN class="punctuation token">,</SPAN><BR /> <SPAN class="string token">"user_id"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">18</SPAN><SPAN class="punctuation token">,</SPAN><BR /> <SPAN class="string token">"course_id"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="number token">27954</SPAN><SPAN class="punctuation token">,</SPAN><BR /> <SPAN class="string token">"type"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"StudentEnrollment"</SPAN><SPAN class="punctuation token">,</SPAN><BR /> <SPAN class="string token">"created_at"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"2017-09-18T22:22:29Z"</SPAN><SPAN class="punctuation token">,</SPAN><BR /> <SPAN class="string token">"updated_at"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"2017-09-18T22:22:29Z"</SPAN><SPAN class="punctuation token">,</SPAN><BR /> <SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><SPAN class="punctuation token">.</SPAN><BR /><SPAN class="punctuation token">}</SPAN><BR /><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>But then this doesn't work:
curl "https://temple.instructure.com/api/v1/courses/27954/enrollments/444839" \<BR />-X DELETE \<BR />-H "Authorization: Bearer supersecretblahblahblah" \<BR />-F 'task=delete' \<BR />| jq --raw-output <SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
Is the documentation wrong? Both Enrollments - Canvas LMS REST API Documentation and the Canvas Live API indicate that the delete should work, but I get this error (and I've confirmed the tokens are identical, so it's not invald):
<SPAN class="punctuation token">{</SPAN><BR /> <SPAN class="string token">"errors"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="punctuation token">[</SPAN><BR /> <SPAN class="punctuation token">{</SPAN><BR /> <SPAN class="string token">"message"</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">"Invalid access token."</SPAN><BR /> <SPAN class="punctuation token">}</SPAN><BR /> <SPAN class="punctuation token">]</SPAN><BR /><SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>Am I just making a huge obvious mistake?