createCourse with a name and the automatic base Offer price in your Platform’s currency. Send your Administrator headers.
0.0 makes that Offer free. The mutation does not publish the Course. Save the returned id; it becomes courseId when you read the Course or add Modules later.
If the call times out or the result is ambiguous, check the Courses list in the Admin Panel before trying again. A repeated createCourse can create another Course. Names can repeat, so if you cannot identify the result confidently, investigate instead of retrying automatically.
See the createCourse mutation reference for its supported arguments and return fields.