How to create, update course using API

Hello everyone, I want to create a new course and update exist course using API (synch from another system), I read api-docs but I can’t see any API to do that. If I have to write new API, please guide me (about model course to create and update ). I’m using lilac version

1 Like

you can use https://your-studio-url/api/v1/course_runs/ post and put APIs to create and update courses

Welcome to open edX @luan.tm

Can you say more about what you are wanting to update in your course?

I don’t know if it will help your use case, but MIT Open Learning has a plugin that can be used for importing course content from a github repo. It can also be configured with web hooks to import the course every time the repo is updated (we use this with GitHub Enterprise).

Thanks for your answer @pdpinch
I want to update: display_name , start, end, enrollment_start, enrollment_end of a specific course
Absolutely, I can edit or create them in studio but I need an API because I can not edit or create manual courses one by one.
This is my use case:
I have system A, this system also has model course and fields like edx, when system A has addition course or update course , system A will call API of edx to synchronize, after system A call API , edx will create or edit course, after I read api-docs I find this API


However this API only support readonly , so I try change RetriveAPIView to RetriveUpdateAPIView

When I go to endpoint it appear PUT and PATCH method, but after I run PATCH , there’s nothing update