### H5P shortcode example Source: https://docs.masteriyo.com/free-addons/h5p-integration Example of an H5P shortcode that can be pasted into a Description field. Use this in the Classic Editor directly or in a Shortcode block in the Block Editor. ```markup [h5p id="10"] ``` -------------------------------- ### GET /masteriyo/v1/logs Source: https://docs.masteriyo.com/for-developers/rest-api-endpoints Fetches all system logs. ```APIDOC ## [GET] /masteriyo/v1/logs ### Description Retrieves all logs. ### Method GET ### Endpoint /masteriyo/v1/logs ### Response #### Success Response (200) Returns a list of logs. ``` -------------------------------- ### GET /masteriyo/pro/v1/addons Source: https://docs.masteriyo.com/for-developers/rest-api-endpoints Fetches all available addons for the Pro version. ```APIDOC ## [GET] /masteriyo/pro/v1/addons ### Description Retrieves all addons. ### Method GET ### Endpoint /masteriyo/pro/v1/addons ### Response #### Success Response (200) Returns a list of available addons. ``` -------------------------------- ### POST /wp-json/masteriyo/v1/courses/categories Source: https://docs.masteriyo.com/for-developers/rest-api Example of creating a course category via the Masteriyo LMS REST API. This example demonstrates a request that results in a 401 Unauthorized error due to missing write permissions. ```APIDOC ## POST /wp-json/masteriyo/v1/courses/categories ### Description Creates a new course category. This example shows a request that fails with a 401 Unauthorized error because the API key lacks write permissions. ### Method POST ### Endpoint https://your-site.com/wp-json/masteriyo/v1/courses/categories ### Parameters #### Request Body - **name** (string) - Required - The name of the new category. ### Request Example ``` curl -X 'POST' \ 'https://your-site.com/wp-json/masteriyo/v1/courses/categories' \ -H 'accept: application/json' \ -H 'authorization: Basic ' \ -H 'Content-Type: application/json' \ -d '{ "name": "NewCategory" }' ``` ### Response #### Error Response (401 Unauthorized) - **code** (string) - Error code. - **message** (string) - Error message. - **data.status** (integer) - HTTP status code. #### Response Example ``` { "code": "masteriyo_rest_authentication_error", "message": "The API key provided does not have write permissions.", "data": { "status": 401 } } ``` ``` -------------------------------- ### Fetch Course Categories - GET Request Source: https://docs.masteriyo.com/for-developers/rest-api Sends a GET request to retrieve course categories. Requires Basic Authentication with an API key and secret key. The response includes a list of categories with metadata. ```bash curl -X 'GET' \ 'https://your-site.com/wp-json/masteriyo/v1/courses/categories' \ -H 'accept: application/json' \ -H 'authorization: Basic ' ``` ```json { "data": [ { "id": 11, "name": "Ukulele", "slug": "ukulele", "link": "https://your-site.com/course-category/ukulele/", "taxonomy": "course_cat", "description": "", "parent_id": 0, "count": 0, "display": "default", "featured_image": "" } ], "meta": { "total": 1, "pages": 1, "current_page": 1, "per_page": 10 } } ``` -------------------------------- ### GET /masteriyo/pro/v1/addons/{slug} Source: https://docs.masteriyo.com/for-developers/rest-api-endpoints Fetches a specific addon by its slug. ```APIDOC ## [GET] /masteriyo/pro/v1/addons/{slug} ### Description Retrieves a specific addon by its slug. ### Method GET ### Endpoint /masteriyo/pro/v1/addons/{slug} ### Parameters #### Path Parameters - **slug** (string) - Required - The slug of the addon. ### Response #### Success Response (200) Returns the addon details. ``` -------------------------------- ### POST /masteriyo/pro/v1/addons/bulk-activate Source: https://docs.masteriyo.com/for-developers/rest-api-endpoints Bulk activates multiple addons. ```APIDOC ## [POST] /masteriyo/pro/v1/addons/bulk-activate ### Description Activates multiple addons at once. ### Method POST ### Endpoint /masteriyo/pro/v1/addons/bulk-activate ### Response #### Success Response (200) Indicates the addons have been activated. ``` -------------------------------- ### Create a Course - POST Request Source: https://docs.masteriyo.com/for-developers/rest-api Sends a POST request to create a new course. Requires Basic Authentication and sends form-urlencoded data with course details. The response includes the created course object. ```bash curl -X 'POST' \ 'https://your-site.com/wp-json/masteriyo/v1/courses' \ -H 'accept: application/json' \ -H 'authorization: Basic ' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'name=Yoga&slug=yoga&status=publish&price=50' ``` ```json { "id": 44, "name": "Yoga", "slug": "yoga", "permalink": "https://your-site.com/course/yoga/", "status": "publish", "price": "50", "formatted_price": "$50" } ``` -------------------------------- ### Action Webhook Payload Example Source: https://docs.masteriyo.com/masteriyo-tools/webhooks Example JSON payload for an action webhook. The 'event' parameter specifies the action to trigger, and additional parameters vary based on the selected action. ```json { "event": "masteriyo_course_user_completed", "user_id": 123, "course_id": 456 } ``` -------------------------------- ### POST /masteriyo/pro/v1/addons/activate Source: https://docs.masteriyo.com/for-developers/rest-api-endpoints Activates a specific addon. ```APIDOC ## [POST] /masteriyo/pro/v1/addons/activate ### Description Activates an addon. ### Method POST ### Endpoint /masteriyo/pro/v1/addons/activate ### Response #### Success Response (200) Indicates the addon has been activated. ``` -------------------------------- ### Priority Ordering Example Source: https://docs.masteriyo.com/settings/account-page Built-in Masteriyo sidebar items use priority 10. Priority 5 places the link above built-in links, priority 20 places it below. ```php // appears above built-in links SidebarLinkRegistry::add( 'pinned', [ 'label' => 'Pinned', 'url' => '/pinned/', 'priority' => 5, ] ); // appears below built-in links SidebarLinkRegistry::add( 'extras', [ 'label' => 'Extras', 'url' => '/extras/', 'priority' => 20, ] ); ``` -------------------------------- ### GET /masteriyo/pro/v1/subscriptions Source: https://docs.masteriyo.com/for-developers/rest-api-endpoints Fetches all subscriptions. ```APIDOC ## [GET] /masteriyo/pro/v1/subscriptions ### Description Retrieves all subscriptions. ### Method GET ### Endpoint /masteriyo/pro/v1/subscriptions ### Response #### Success Response (200) Returns a list of subscriptions. ``` -------------------------------- ### POST /masteriyo/pro/v1/course-analytics/{id}/enrollment Source: https://docs.masteriyo.com/for-developers/rest-api-endpoints Creates an enrollment for a specific course. ```APIDOC ## [POST] /masteriyo/pro/v1/course-analytics/{id}/enrollment ### Description Creates an enrollment for a course. ### Method POST ### Endpoint /masteriyo/pro/v1/course-analytics/{id}/enrollment ### Parameters #### Path Parameters - **id** (string) - Required - The course ID. ### Response #### Success Response (200) Indicates the enrollment has been created. ``` -------------------------------- ### GET /masteriyo/v1/changelog Source: https://docs.masteriyo.com/for-developers/rest-api-endpoints Fetches the changelog of the plugin. ```APIDOC ## [GET] /masteriyo/v1/changelog ### Description Retrieves the changelog. ### Method GET ### Endpoint /masteriyo/v1/changelog ### Response #### Success Response (200) Returns the changelog entries. ```