Topics/Chapters API Calls
These are the methods for working with Topics in MyFreestone®. Topics belong to Seminars.
Methods and Examples
Get a Topic
Get a specific Topic by ID.
Method/URL
GET https://api.myfreestone.com/topic/{id}Return [status]
(object) - A Topic object [200]
Create a Topic
Create a new Topic with the supplied parameters.
Method/URL
POST https://api.myfreestone.com/topic/Authentication Level
20Parameters
(int) seminar_id (required) - The seminar the topic will belong to.
(string) title - The subtitle of the topic.
(string) subtitle - The subtitle of the topic.
(string) description - The description of the topic.
(string) agendatime - A datetime for the topic.
(string) agendatext - Text to display.Return [status]
(object) - The newly created Topic object [201]
Update a Topic
Update an existing Topic by ID, with the supplied parameters.
Method/URL
PUT https://api.myfreestone.com/topic/{id}Authentication Level
20Parameters
(string) title - The subtitle of the topic.
(string) subtitle - The subtitle of the topic.
(string) description - The description of the topic.
(int) topic_order - The sorted order for the topic.Return [status]
(null) - [204]
Delete a Topic
Delete an existing Topic by ID.
Method/URL
DELETE https://api.myfreestone.com/topic/{id}Authentication Level
20Return [status]
(null) - [204]
Get a Topic's Seminar
Get the Seminar that the specified Topic belongs to.
Method/URL
GET https://api.myfreestone.com/topic/{id}/seminarReturn [status]
(object) - A Seminar object [200]
Get all Topic Products
Get a list of Products belonging to the specified Topic.
Method/URL
GET https://api.myfreestone.com/topic/{id}/productsReturn [status]
(array) - An array of Product objects [200]
Get the Topic Quiz
Get the Quiz belonging to the Topic, should it exist.
Method/URL
GET https://api.myfreestone.com/topic/{id}/quizReturn [status]
(object) - A Quiz object [200]
Get all Topic Approved Credits
Get a list of Approved Credits belonging to the specified Topic.
Method/URL
GET https://api.myfreestone.com/topic/{id}/approved_creditsReturn [status]
(array) - An array of Approved Credit objects [200]
Get an Approved Credit for a Topic
Get a specific Approved Credit belonging to the specified Topic.
Method/URL
GET https://api.myfreestone.com/topic/{id}/approved_credit/{approved_credit_id}Return [status]
(object) - An Approved Credit object [200]
Add Approved Credit to a Topic
Add a new Approved Credit to a specified Topic.
Method/URL
POST https://api.myfreestone.com/topic/{id}/approved_creditParameters
(int) credit_type_id (required) - The credit type to create.
(int) credit_reporting_org_id (required) - The CRO for the credit.
(double) num_hours - The number of credit hours the credit offers.
(string) statement - The credit statement.Return [status]
(object) - The newly created Approved Credit object [201]
Delete Approved Credit
Remove Approved Credit from a specified Topic.
Method/URL
DELETE https://api.myfreestone.com/topic/{id}/approved_credit/{approved_credit_id}Return [status]
(null) - [204]
Get all Topic Tags
Get a list of Tags belonging to a specified Topic.
Method/URL
GET https://api.myfreestone.com/topic/{id}/tagsReturn [status]
(array) - An array of Tag objects [200]
Add a Tag to a Topic
Add a new or existing Tag to a specified Topic.
Method/URL
POST https://api.myfreestone.com/topic/{id}/tagParameters
(string) name (required) - The tag.Return [status]
(null) - [201]
Delete a Tag
Remove a Tag from a specified Topic.
Method/URL
DELETE https://api.myfreestone.com/topic/{id}/tag/{*tag_id}Parameters
(string) name - If not supplying a tag_id, remove the tag by name.Return [status]
(null) - [204]
Get all Topic Speakers
Get a list of Speakers belonging to a specified Topic.
Method/URL
GET https://api.myfreestone.com/topic/{id}/speakersReturn [status]
(array) - An array of Speaker objects [200]
Add a Speaker to a Topic
Add an existing Speaker to a specified Topic.
Method/URL
POST https://api.myfreestone.com/topic/{id}/speaker/{speaker_id}Parameters
(int) role - The role.Return [status]
(object) - The newly created Topic Speaker object [201]
Delete a Speaker
Remove a Speaker from a specified Topic.
Method/URL
DELETE https://api.myfreestone.com/topic/{id}/speaker/{speaker_id}Return [status]
(null) - [204]
Get all Topic Coupons
Get a list of Coupons belonging to a specified Topic.
Method/URL
GET https://api.myfreestone.com/topic/{id}/couponsReturn [status]
(array) - An array of Coupon objects [200]
Get a Coupon
Get a specific Coupon belonging to the specified Topic.
Method/URL
GET https://api.myfreestone.com/topic/{id}/coupon/{coupon_id}Return [status]
(object) - A Coupon object [200]
Add a Coupon to a Topic
Add a new Coupon to a specified Topic.
Method/URL
POST https://api.myfreestone.com/topic/{id}/couponParameters
(string) coupon_name (required) - The name for the coupon.
(string) code (required) - The code used to activate the coupon.
(string) provider_discount_id - An external ID used to reference the coupon.
(bool) flate_rate - Whether or not the coupon is a flat rate or percentage discount.
(double) rate - The discount.
(bool) active - Whether or not the coupon is active.
(string) start_date - The date when the coupon activates.
(string) expiration_date - The date when the coupon expires.Return [status]
(object) - The newly created Coupon object [201]
Edit a Coupon
Edit an existing Coupon.
Method/URL
PUT https://api.myfreestone.com/topic/{id}/coupon/{coupon_id}Parameters
(string) coupon_name - The name for the coupon.
(string) code - The code used to activate the coupon.
(string) provider_discount_id - An external ID used to reference the coupon.
(bool) flate_rate - Whether or not the coupon is a flat rate or percentage discount.
(double) rate - The discount.
(bool) active - Whether or not the coupon is active.
(string) start_date - The date when the coupon activates.
(string) expiration_date - The date when the coupon expires.Return [status]
(null) - [204]
Delete a Coupon
Remove a Coupon from a specified Topic.
Method/URL
DELETE https://api.myfreestone.com/topic/{id}/coupon/{coupon_id}Return [status]
(null) - [204]
Remove quiz from Topic
Remove quiz from specified topic
Method/URL
GET https://api.myfreestone.com/topic/{id}/quiz/{quiz_id}Return [status]
(null) - [204]
Get all Topic Resources
Get a list of Resources belonging to a specified Topic.
Method/URL
GET https://api.myfreestone.com/topic/{id}/resourcesReturn [status]
(array) - An array of Resource objects [200]
Get a Topic Resource
Get a specific Resource belonging to the specified Topic.
Method/URL
GET https://api.myfreestone.com/topic/{id}/resource/{resource_id}Return [status]
(object) - A Resource object [200]
Get a Topic Player Resource
Get the Player Resource for a specific Topic.
Method/URL
GET https://api.myfreestone.com/topic/{id}/resource/playerReturn [status]
(object) - A Resource object [200]
Get Topic Certificates
Get Certificates belonging to the Topic, should it exist.
Method/URL
GET https://api.myfreestone.com/topic/{id}/certificatesReturn [status]
(object) - An array Certificate objects [200]
Get a Certificate
Get a specific certificate and any applicable mapped certificate fields.
Method/URL
GET https://api.myfreestone.com/topic/{id}/certificate/{certificate_id}Return [status]
(object) - A Certificate object [200]
Delete a Certificate
Remove a Certificate from a specified Topic.
Method/URL
DELETE https://api.myfreestone.com/topic/{id}/certificate/{certificate_id}Return [status]
(null) - [204]
Get Checkpoints
Get all checkpoints and settings for specified topic
Method/URL
GET https://api.myfreestone.com/topic/{id}/checkpoints/Return [status]
(object) - A checkpoint object [200]
Remove one or all checkpoints
Remove a specfic checkpoint or all checkpoints from a topic. *If you ommit the checkpoint_id then it will remove all checkpoints.
Method/URL
DELETE https://api.myfreestone.com/topic/{id}/checkpoints/{checkpoint_id}Return [status]
(null) - [204]
Add checkpoints to a Topic
You can add one more more checkpoints to a topic. There are basic quick setup options, or a more detailed singular checkpoint entry which allows recording of a question and answers for that checkpoint
Method/URL
POST https://api.myfreestone.com/topic/{id}/checkpointsParameters
(bool) thirty_seconds - Whether or not to create a checkpoint thirty seconds after program starts.
(bool) two_minutes - Whether or not to create a checkpoint two minutes before the end of program.
(string) interval - Creates checkpoints every X amount of minutes through the duration of program.
(string) timecode - Seconds from beginning of program to create a single checkpoint
(string) question - Question to present if a single checkpoint is submitted
(string) answers - JSON array of answers. First dimension is incremental index. Second dimension are properties of answer (text, correct, feedback). 'text'(string)- answer to present -- 'correct'(bool)- whether this answer is the correct answer -- 'feedback'(string)- text to present after the question has been answeredReturn [status]
(object) - Checkpoints object for the topic [200]
Update a checkpoint
Update a single checkpoint with params supplied. All applicable question and answers should be submitted in update or they will be removed.
Method/URL
PUT https://api.myfreestone.com/topic/{id}/checkpointParameters
(int) checkpoint_id - The checkpoint ID you are updating. If not supplied a new one should be created
(string) timecode - Seconds from beginning of program to create a single checkpoint
(string) question - Question to present if a single checkpoint is submitted
(string) answers - Json array of answers. First dimension is incremental index. Second dimension are properties of answer (text, correct, feedback). 'text'(string)- answer to present -- 'correct'(bool)- whether this answer is the correct answer -- 'feedback'(string)- text to present after the question has been answeredReturn [status]
(object) - Checkpoints object for the topic [200]
Get a Checkpoint
Get all information on a particular checkpoint
Method/URL
GET https://api.myfreestone.com/topic/{id}/checkpoint/{checkpoint_id}Return [status]
(object) - A checkpoint object [200]
Get Bookmark
Get all information on a particular bookmark
Method/URL
GET https://api.myfreestone.com/topic/{id}/bookmark/Return [status]
(object) - A bookmark object [200]
Get Bookmarks
Get all bookmarks for specified topic
Method/URL
GET https://api.myfreestone.com/topic/{id}/bookmarks/Return [status]
(object) - A bookmark object [200]
Add a Bookmark to a Topic
Add a bookmark to a specified topic
Method/URL
POST https://api.myfreestone.com/topic/{id}/bookmarksParameters
(string) timecode - Seconds from beginning of program to create a single checkpoint
(string) text - Text to be presented for bookmarkReturn [status]
(object) - Bookmark object [200]
Update a bookmark
Update a bookmark to a specified topic
Method/URL
PUT https://api.myfreestone.com/topic/{id}/bookmarks/{bookmark_id}Parameters
(int) bookmark_id - The bookmark ID you are updating.
(string) timecode - Seconds from beginning of program to create a single checkpoint
(string) text - Text to be presented for bookmarkReturn [status]
(object) - Bookmarks object for the topic [200]
Remove one or all bookmarks
Remove a specfic bookmark or all bookmarks from a topic. *If you ommit the bookmark_id then it will remove all checkpoints.
Method/URL
DELETE https://api.myfreestone.com/topic/{id}/bookmarks/{bookmark_id}Return [status]
(null) - [204]
Get a Topic Tab Group
Get a Topic's Tab Group, if it has one.
Method/URL
GET https://api.myfreestone.com/topic/{id}/tab_groupReturn [status]
(object) - A Tab Group object [200]
Get a Topic Tabset
Get Tabset assigned to specified topic
Method/URL
GET https://api.myfreestone.com/topic/{id}/tabsetReturn [status]
(object) - A Tabset object [200]
Update a Topic Tabset
Updates a topic tabset assignment
Method/URL
PUT https://api.myfreestone.com/topic/{id}/tabset/{tabset_id}Return [status]
null [204]
Get a Topic's Auto-Archive Tabset
Get auto-archive Tabset assigned to specified topic
Method/URL
GET https://api.myfreestone.com/topic/{id}/auto_archive_tabsetReturn [status]
(object) - A Tabset object [200]
Update a Topic's Auto-Archive Tabset
Updates a topic's auto-archive tabset assignment
Method/URL
PUT https://api.myfreestone.com/topic/{id}/auto_archive_tabset/{tabset_id}Return [status]
null [204]
Get all Topics Approved Credits
Get a list of Approved Credits belonging to the Topics.
Method/URL
GET https://api.myfreestone.com/topic/credits_approvedParameters
(array) topic_ids (required) - An arry of the topic IDs.Return [status]
(array) - An array of Approved Credit objects [200]
Get the Topics Quiz
Get the Quizzes belonging to the Topics.
Method/URL
GET https://api.myfreestone.com/topic/topicsquizzesParameters
(array) topic_ids (required) - An arry of the topic IDs.Return [status]
An array of Quiz objects.
Get Captions
Get all captions for specified topic
Method/URL
GET https://api.myfreestone.com/topic/{id}/captions/Return [status]
(object) - A checkpoint object [200]
Add Caption to Topic
Creates a new Caption attached to the Topic.
Method/URL
POST https://api.myfreestone.com/topic/{id}/captionParameters
(string) url (required) - The URL of the caption file.
(string) language (required) - The language of the caption file.Return [status]
(object) - The newly created Caption object [201]
Delete Caption
Delete an existing Caption attached to the Topic.
Method/URL
DELETE https://api.myfreestone.com/topic/{id}/caption/{caption_id}Return [status]
(null) - [204]