Browse: Home / REST API Routes v1 /

Lessons

Schema #

The schema defines all the fields that exist within a lesson record. Any response from these endpoints can be expected to contain the fields below unless the `_filter` query parameter is used or the schema field only appears in a specific context.

date
string, null, datetime (details)

The date the object was published, in the site's timezone.

Context: view, edit, embed

date_gmt
string, null, datetime (details)

The date the object was published, as GMT.

Context: view, edit

guid
object

The globally unique identifier for the object.

Read only

Context: view, edit

id
integer

Unique identifier for the object.

Read only

Context: view, edit, embed

modified
string, datetime (details)

The date the object was last modified, in the site's timezone.

Read only

Context: view, edit

modified_gmt
string, datetime (details)

The date the object was last modified, as GMT.

Read only

Context: view, edit

slug
string

An alphanumeric identifier for the object unique to its type.

Context: view, edit, embed

status
string

A named status for the object.

Context: view, edit

One of: publish, future, draft, pending, private, graded, not_graded

type
string

Type of Post for the object.

Read only

Context: view, edit, embed

password
string

A password to protect access to the content and excerpt.

Context: edit

generated_slug
string

Slug automatically generated from the object title.

Read only

Context: edit

title
object

The title for the object.

Context: view, edit, embed

content
object

The content for the object.

Context: view, edit

author
integer

The ID for the author of the object.

Context: view, edit, embed

comment_status
string

Whether or not comments are open on the object.

Context: view, edit

One of: open, closed

ping_status
string

Whether or not the object can be pinged.

Context: view, edit

One of: open, closed

menu_order
integer

The order of the object in relation to other object of its type.

Context: view, edit

meta
object

Meta fields.

Context: view, edit

template
string

The theme file to use to display the object.

Context: view, edit

categories
array

The terms assigned to the object in the category taxonomy.

Context: view, edit

tags
array

The terms assigned to the object in the post_tag taxonomy.

Context: view, edit

ld_lesson_category
array

The terms assigned to the object in the ld_lesson_category taxonomy.

Context: view, edit

ld_lesson_tag
array

The terms assigned to the object in the ld_lesson_tag taxonomy.

Context: view, edit

lesson_materials
html

Lesson Materials

Context: view, edit

forced_lesson_time
text

Forced Lesson Timer

Context: view, edit

lesson_assignment_upload
boolean

Upload Assignment

Context: view, edit

auto_approve_assignment
boolean

Auto Approve Assignment

Context: view, edit

assignment_upload_limit_count
number

Limit number of uploaded files

Context: view, edit

lesson_assignment_deletion_enabled
boolean

Allow Student to Delete own Assignment(s)

Context: view, edit

lesson_assignment_points_enabled
boolean

Award Points for Assignment

Context: view, edit

lesson_assignment_points_amount
number

Set Number of Points for Assignment

Context: view, edit

assignment_upload_limit_extensions
text

Allowed File Extensions

Context: view, edit

assignment_upload_limit_size
text

Allowed File Size

Context: view, edit

visible_after
number

Make Lesson visible X Days After Sign-up

Context: view, edit

visible_after_specific_date
wp_date_selector

Make Lesson Visible on Specific Date

Context: view, edit

List Lessons #

Query this endpoint to retrieve a collection of lessons. The response you receive can be controlled and filtered using the URL query parameters below.

Definition #

GET /ldlms/v1/sfwd-lessons

Example Request #

$ curl https://example.com/wp-json/ldlms/v1/sfwd-lessons

Arguments #

context

Scope under which the request is made; determines fields present in response.

Default: view

One of: view, embed, edit

page

Current page of the collection.

Default: 1

per_page

Maximum number of items to be returned in result set.

Default: 10

search

Limit results to those matching a string.

after

Limit response to posts published after a given ISO8601 compliant date.

modified_after

Limit response to posts modified after a given ISO8601 compliant date.

author

Limit result set to posts assigned to specific authors.

author_exclude

Ensure result set excludes posts assigned to specific authors.

before

Limit response to posts published before a given ISO8601 compliant date.

modified_before

Limit response to posts modified before a given ISO8601 compliant date.

exclude

Ensure result set excludes specific IDs.

include

Limit result set to specific IDs.

menu_order

Limit result set to posts with a specific menu_order value.

offset

Offset the result set by a specific number of items.

order

Order sort attribute ascending or descending.

Default: asc

One of: asc, desc

orderby

Sort collection by object attribute.

Default: title

One of: author, date, id, include, modified, parent, relevance, slug, include_slugs, title, menu_order

slug

Limit result set to posts with one or more specific slugs.

status

Limit result set to posts assigned one or more statuses.

Default: publish

tax_relation

Limit result set based on relationship between multiple taxonomies.

One of: AND, OR

categories

Limit result set to items with specific terms assigned in the categories taxonomy.

categories_exclude

Limit result set to items except those with specific terms assigned in the categories taxonomy.

tags

Limit result set to items with specific terms assigned in the tags taxonomy.

tags_exclude

Limit result set to items except those with specific terms assigned in the tags taxonomy.

ld_lesson_category

Limit result set to items with specific terms assigned in the ld_lesson_category taxonomy.

ld_lesson_category_exclude

Limit result set to items except those with specific terms assigned in the ld_lesson_category taxonomy.

ld_lesson_tag

Limit result set to items with specific terms assigned in the ld_lesson_tag taxonomy.

ld_lesson_tag_exclude

Limit result set to items except those with specific terms assigned in the ld_lesson_tag taxonomy.

course

Limit results to be within a specific Course. Required for non-admin users.

Create a Lesson #

Arguments #

date

The date the object was published, in the site's timezone.

date_gmt

The date the object was published, as GMT.

slug

An alphanumeric identifier for the object unique to its type.

status

A named status for the object.

One of: publish, future, draft, pending, private, graded, not_graded

password

A password to protect access to the content and excerpt.

title

The title for the object.

content

The content for the object.

author

The ID for the author of the object.

featured_media

The ID of the featured media for the object.

comment_status

Whether or not comments are open on the object.

One of: open, closed

ping_status

Whether or not the object can be pinged.

One of: open, closed

menu_order

The order of the object in relation to other object of its type.

meta

Meta fields.

template

The theme file to use to display the object.

categories

The terms assigned to the object in the category taxonomy.

tags

The terms assigned to the object in the post_tag taxonomy.

ld_lesson_category

The terms assigned to the object in the ld_lesson_category taxonomy.

ld_lesson_tag

The terms assigned to the object in the ld_lesson_tag taxonomy.

lesson_materials

Lesson Materials

forced_lesson_time

Forced Lesson Timer

lesson_assignment_upload

Upload Assignment

auto_approve_assignment

Auto Approve Assignment

Default: on

assignment_upload_limit_count

Limit number of uploaded files

Default: 1

lesson_assignment_deletion_enabled

Allow Student to Delete own Assignment(s)

lesson_assignment_points_enabled

Award Points for Assignment

lesson_assignment_points_amount

Set Number of Points for Assignment

assignment_upload_limit_extensions

Allowed File Extensions

assignment_upload_limit_size

Allowed File Size

visible_after

Make Lesson visible X Days After Sign-up

visible_after_specific_date

Make Lesson Visible on Specific Date

Definition #

POST /ldlms/v1/sfwd-lessons

Retrieve a Lesson #

Definition & Example Request #

GET /ldlms/v1/sfwd-lessons/<id>

Query this endpoint to retrieve a specific lesson record.

$ curl https://example.com/wp-json/ldlms/v1/sfwd-lessons/<id>

Sample Response #

{
    "id": 42701,
    "date": "2018-07-23T02:33:19",
    "date_gmt": "2018-07-23T09:33:19",
    "guid": {
        "rendered": "https://example.com/?post_type=sfwd-lessons&p=42701"
    },
    "modified": "2018-07-23T02:46:08",
    "modified_gmt": "2018-07-23T09:46:08",
    "slug": "a-drug-free-approach-to-treating-chronic-pain",
    "status": "publish",
    "type": "sfwd-lessons",
    "link": "http://example.com/courses/quick-wins/lessons/a-drug-free-approach-to-treating-chronic-pain/",
    "title": {
        "rendered": "A Drug-Free Approach to Treating Chronic Pain"
    },
    "content": {
        "rendered": "<p><span style="font-weight: 400;">For years, chronic pain treatments have mostly focused on the musculoskeletal and peripheral nervous system. Neuroplasticity focuses on the system of our body responsible for perceiving pain, rather than standalone, symptom-modifying therapies. Self-directed and experience-driven neuroplasticity allows patients to reestablish a new neuronal pathway, shifting the demand away from pain processing and toward a more positive habit, thought, or emotion. </span></p>n",
        "protected": false
    },
    "author": 12,
    "featured_media": 22517,
    "menu_order": 0,
    "template": "",
    "categories": [
        7
    ],
    "tags": [
        147,
        145
    ],
    "ld_lesson_category": [],
    "ld_lesson_tag": [],
    "lesson_materials": "",
    "forced_lesson_time": "",
    "lesson_assignment_upload": "",
    "auto_approve_assignment": "",
    "assignment_upload_limit_count": "1",
    "lesson_assignment_deletion_enabled": "",
    "lesson_assignment_points_enabled": "",
    "lesson_assignment_points_amount": "0",
    "assignment_upload_limit_extensions": "",
    "assignment_upload_limit_size": "",
    "visible_after": "0",
    "visible_after_specific_date": 0,
    "_links": {
        "self": [
            {
                "href": "http://example.com/wp-json/ldlms/v1/sfwd-lessons/42701"
            }
        ],
        "collection": [
            {
                "href": "http://example.com/wp-json/ldlms/v1/sfwd-lessons"
            }
        ],
        "about": [
            {
                "href": "http://example.com/wp-json/wp/v2/types/sfwd-lessons"
            }
        ],
        "author": [
            {
                "embeddable": true,
                "href": "http://example.com/wp-json/wp/v2/users/12"
            }
        ],
        "version-history": [
            {
                "count": 0,
                "href": "http://example.com/wp-json/ldlms/v1/sfwd-lessons/42701/revisions"
            }
        ],
        "wp:featuredmedia": [
            {
                "embeddable": true,
                "href": "http://example.com/wp-json/wp/v2/media/22517"
            }
        ],
        "wp:attachment": [
            {
                "href": "http://example.com/wp-json/wp/v2/media?parent=42701"
            }
        ],
        "wp:term": [
            {
                "taxonomy": "category",
                "embeddable": true,
                "href": "http://example.com/wp-json/wp/v2/categories?post=42701"
            },
            {
                "taxonomy": "post_tag",
                "embeddable": true,
                "href": "http://example.com/wp-json/wp/v2/tags?post=42701"
            },
            {
                "taxonomy": "ld_lesson_category",
                "embeddable": true,
                "href": "http://example.com/wp-json/wp/v2/ld_lesson_category?post=42701"
            },
            {
                "taxonomy": "ld_lesson_tag",
                "embeddable": true,
                "href": "http://example.com/wp-json/wp/v2/ld_lesson_tag?post=42701"
            }
        ],
        "curies": [
            {
                "name": "wp",
                "href": "https://api.w.org/{rel}",
                "templated": true
            }
        ]
    }
}

Arguments #

id

Unique identifier for the object.

context

Scope under which the request is made; determines fields present in response.

Default: view

One of: view, embed, edit

password

The password for the post if it is password protected.

Update a Lesson #

Arguments #

id

Unique identifier for the object.

date

The date the object was published, in the site's timezone.

date_gmt

The date the object was published, as GMT.

slug

An alphanumeric identifier for the object unique to its type.

status

A named status for the object.

One of: publish, future, draft, pending, private, graded, not_graded

password

A password to protect access to the content and excerpt.

title

The title for the object.

content

The content for the object.

author

The ID for the author of the object.

featured_media

The ID of the featured media for the object.

comment_status

Whether or not comments are open on the object.

One of: open, closed

ping_status

Whether or not the object can be pinged.

One of: open, closed

menu_order

The order of the object in relation to other object of its type.

meta

Meta fields.

template

The theme file to use to display the object.

categories

The terms assigned to the object in the category taxonomy.

tags

The terms assigned to the object in the post_tag taxonomy.

ld_lesson_category

The terms assigned to the object in the ld_lesson_category taxonomy.

ld_lesson_tag

The terms assigned to the object in the ld_lesson_tag taxonomy.

lesson_materials

Lesson Materials

forced_lesson_time

Forced Lesson Timer

lesson_assignment_upload

Upload Assignment

auto_approve_assignment

Auto Approve Assignment

assignment_upload_limit_count

Limit number of uploaded files

lesson_assignment_deletion_enabled

Allow Student to Delete own Assignment(s)

lesson_assignment_points_enabled

Award Points for Assignment

lesson_assignment_points_amount

Set Number of Points for Assignment

assignment_upload_limit_extensions

Allowed File Extensions

assignment_upload_limit_size

Allowed File Size

visible_after

Make Lesson visible X Days After Sign-up

visible_after_specific_date

Make Lesson Visible on Specific Date

Definition #

POST /ldlms/v1/sfwd-lessons/<id>

Example Request #

$ curl -X POST https://example.com/wp-json/ldlms/v1/sfwd-lessons/<id> -d '{"title":"Lesson title"}'

Delete a Lesson #

Arguments #

id

Unique identifier for the object.

force

Whether to bypass trash and force deletion.

Definition #

DELETE /ldlms/v1/sfwd-lessons/<id>

Example Request #

$ curl -X DELETE https://example.com/wp-json/ldlms/v1/sfwd-lessons/<id>