I'm wondering how your create works? I just so happen to be implementing our tool on Canvas, a tool that already works on several other platforms. But the create line item is failing. We've tried POSTing with basically the same payload you have, but the result comes back as an error of"Not found". Whatever that means...we know the course id is correct since we get it from the LTI context url.
We POST to a URL like this in the test environment:
https://{ourcompany}.test.instructure.com/api/lti/courses/{courseId}/line_items
The media type posted is the LTI standard:
application/vnd.ims.lis.v2.lineitem+json
For the external_tool_url, we are just using the same URL that launches our tool. Granted, we're not getting past the create yet so we don't see the workflow you describe.
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.