Browse: Home / REST API Routes v1 /

Topics

Schema #

The schema defines all the fields that exist within a topic 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 post was published, in the site's timezone.

Context: view, edit, embed

date_gmt
string, null, datetime (details)

The date the post was published, as GMT.

Context: view, edit

guid
object

The globally unique identifier for the post.

Read only

Context: view, edit

id
integer

Unique identifier for the post.

Read only

Context: view, edit, embed

modified
string, datetime (details)

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

Read only

Context: view, edit

modified_gmt
string, datetime (details)

The date the post was last modified, as GMT.

Read only

Context: view, edit

slug
string

An alphanumeric identifier for the post unique to its type.

Context: view, edit, embed

status
string

A named status for the post.

Context: view, edit

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

type
string

Type of post.

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 post title.

Read only

Context: edit

class_list
array

An array of the class names for the post container element.

Read only

Context: view, edit

title
object

The title for the post.

Context: view, edit, embed

content
object

The content for the post.

Context: view, edit

author
integer

The ID for the author of the post.

Context: view, edit, embed

menu_order
integer

The order of the post in relation to other posts.

Context: view, edit

meta
object

Meta fields.

Context: view, edit

template
string

The theme file to use to display the post.

Context: view, edit

ld_topic_category
array

The terms assigned to the post in the ld_topic_category taxonomy.

Context: view, edit

ld_topic_tag
array

The terms assigned to the post in the ld_topic_tag taxonomy.

Context: view, edit

topic_materials
html

Topic Materials

Context: view, edit

forced_lesson_time
text

Forced Topic 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_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

List Topics #

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

Definition #

GET /ldlms/v1/sfwd-topic

Example Request #

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

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.

search_semantics

How to interpret the search input.

One of: exact

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 post attribute.

Default: title

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

search_columns

Array of column names to be searched.

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

ld_topic_category

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

ld_topic_category_exclude

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

ld_topic_tag

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

ld_topic_tag_exclude

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

course

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

lesson

Limit results to be within a specific Lesson. Must be used with Course parameter.

Create a Topic #

Arguments #

date

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

date_gmt

The date the post was published, as GMT.

slug

An alphanumeric identifier for the post unique to its type.

status

A named status for the post.

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 post.

content

The content for the post.

author

The ID for the author of the post.

featured_media

The ID of the featured media for the post.

menu_order

The order of the post in relation to other posts.

meta

Meta fields.

template

The theme file to use to display the post.

ld_topic_category

The terms assigned to the post in the ld_topic_category taxonomy.

ld_topic_tag

The terms assigned to the post in the ld_topic_tag taxonomy.

topic_materials

Topic Materials

forced_lesson_time

Forced Topic 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_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

Definition #

POST /ldlms/v1/sfwd-topic

Retrieve a Topic #

Definition & Example Request #

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

Query this endpoint to retrieve a specific topic record.

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

Sample Response #

{
    "id": 80104,
    "date": "2018-10-02T16:29:11",
    "date_gmt": "2018-10-02T23:29:11",
    "guid": {
        "rendered": "https://example.com/?post_type=sfwd-topic&p=80104"
    },
    "modified": "2018-10-02T16:29:11",
    "modified_gmt": "2018-10-02T23:29:11",
    "slug": "pd-review-week-23",
    "status": "publish",
    "type": "sfwd-topic",
    "link": "http://example.com/topic/pd-review-week-23/",
    "title": {
        "rendered": "PD • Review • Week 23"
    },
    "content": {
        "rendered": "",
        "protected": false
    },
    "author": 12,
    "featured_media": 0,
    "menu_order": 0,
    "template": "",
    "ld_topic_category": [],
    "ld_topic_tag": [],
    "topic_materials": "",
    "forced_lesson_time": "",
    "lesson_assignment_upload": "",
    "auto_approve_assignment": "",
    "assignment_upload_limit_count": "",
    "lesson_assignment_points_enabled": "",
    "lesson_assignment_points_amount": "",
    "assignment_upload_limit_extensions": "",
    "assignment_upload_limit_size": "",
    "_links": {
        "self": [
            {
                "href": "http://example.com/wp-json/ldlms/v1/sfwd-topic/80104"
            }
        ],
        "collection": [
            {
                "href": "http://example.com/wp-json/ldlms/v1/sfwd-topic"
            }
        ],
        "about": [
            {
                "href": "http://example.com/wp-json/wp/v2/types/sfwd-topic"
            }
        ],
        "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-topic/80104/revisions"
            }
        ],
        "wp:attachment": [
            {
                "href": "http://example.com/wp-json/wp/v2/media?parent=80104"
            }
        ],
        "wp:term": [
            {
                "taxonomy": "ld_topic_category",
                "embeddable": true,
                "href": "http://example.com/wp-json/wp/v2/ld_topic_category?post=80104"
            },
            {
                "taxonomy": "ld_topic_tag",
                "embeddable": true,
                "href": "http://example.com/wp-json/wp/v2/ld_topic_tag?post=80104"
            }
        ],
        "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 Topic #

Arguments #

id

Unique identifier for the object.

date

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

date_gmt

The date the post was published, as GMT.

slug

An alphanumeric identifier for the post unique to its type.

status

A named status for the post.

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 post.

content

The content for the post.

author

The ID for the author of the post.

featured_media

The ID of the featured media for the post.

menu_order

The order of the post in relation to other posts.

meta

Meta fields.

template

The theme file to use to display the post.

ld_topic_category

The terms assigned to the post in the ld_topic_category taxonomy.

ld_topic_tag

The terms assigned to the post in the ld_topic_tag taxonomy.

topic_materials

Topic Materials

forced_lesson_time

Forced Topic Timer

lesson_assignment_upload

Upload Assignment

auto_approve_assignment

Auto Approve Assignment

assignment_upload_limit_count

Limit number of uploaded files

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

Definition #

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

Example Request #

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

Delete a Topic #

Arguments #

id

Unique identifier for the object.

force

Whether to bypass trash and force deletion.

Definition #

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

Example Request #

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