Seminars/Courses API Calls
These are the methods for working with Seminars in MyFreestone®. Seminars are also known as Courses in MyFreestone®.
Methods and Examples
Get a Seminar selection
Get a paginated selection of Seminars.
Method/URL
GET https://api.myfreestone.com/seminar/selectionParameters
(int) limit - The number of results to retrieve.
(int) offset - The offset of the first result to retrieve.
(string) sort_by - The parameter by which to order the results. {id, title, seminar_date, timestamp}
(string) sort_order - The direction in which sorting should take place. {desc, asc}Return [status]
(object/mixed) - An object consisting of selection metadata and an array of Seminar objects [200]
Get a Seminar
Get a specific Seminar by ID.
Method/URL
GET https://api.myfreestone.com/seminar/{id}Return [status]
(object) - A Seminar object [200]
Create a Basic Course
Create a new course in Freestone with simple configuration using the supplied parameters.
Method/URL
POST https://api.myfreestone.com/seminar/Authentication Level
20Parameters
(string) title (required) - The title of the seminar.
(string) subtitle - The subtitle of the seminar.
(string) description - The description of the seminar.
(bool) invitationonly - Whether or not the seminar is discoverable.
(string) seminar_location - The location of the seminar.
(string) seminar_date - The date of the seminar.
(string) date_available - The date the seminar becomes available.
(string) external_id - Any user-supplied identification for the seminar.
(int) daysbeforeexpiration - The number of days after purchase before the seminar expires.
(string) external_sync_id - The ID used for catalog sync integrationsReturn [status]
(null) - [201]
Create an Advanced Course
Create a new course in Freestone with a more comprehensive setup, like products and credit, using the supplied parameters.
Method/URL
POST https://api.myfreestone.com/seminar/advanced_courseAuthentication Level
30Parameters
(string) title (required) - The title of the course.
(string) external_id (required) - Any user-supplied/external identifier for the course.
(int) course_type_id (required) - The course type to assign the broadcast.
valid course_type_id:
1: Live Webcast, 2: Rebroadcast, 3: Webinar (Audio Only), 4: Canceled,6: Recording
8: Practice Event, 11: On-Demand, 12: Non-Managed Event, 14: Webinar (Presenter Webcam)
(string) description - The description of the course.
(bool) invitationonly - Whether or not the course is discoverable in Freestone catalog. (Default = false).
(string) course_date - The date of the course.
(array) products - Send array of Product objects to be linked with the course. Example: [{product_type_id: (int), product_code: (string)}, ...]
Valid product_type_id:
14: On-Demand, 18: Live Webcast, 30: Attend In-Person, 31: Live Event + Archive
35: Online Materials, 58: Live Event + On-Demand, 59: Live Event + On-Demand (View Required)
(array) credit_reporting_organizations - Send array of Credits objects to be linked with the course. Example: [{cro_id: (int), credit_type_id: (int), num_hours: (int/double), external_credit_code: (string)}, ...]Return [status]
(object) - Error code 4xx && 5xx with JSON encoded error in array. Example: {errors:['title' : 'Error 1', 'external_id' : 'Error 2']}
OR Success code 201 with JSON encoded array of course_id, topic_id, broadcast_id and products which will be array of product_id, product_code, product_type.
Update a Seminar
Update an existing Seminar by ID, with the supplied parameters.
Method/URL
PUT https://api.myfreestone.com/seminar/{id}Authentication Level
20Parameters
(string) title - The title of the seminar.
(string) subtitle - The subtitle of the seminar.
(string) description - The description of the seminar.
(bool) invitationonly - Whether or not the seminar is discoverable.
(bool) now_available - Whether or not the seminar viewable in the classroom.
(string) expiration_date - The date at which course should no longer be visible on the Freestone catalog.
(string) seminar_location - The location of the seminar.
(string) seminar_date - The date of the seminar.
(string) date_available - The date the seminar becomes available.
(string) external_id - Any user-supplied identification for the seminar.
(int) daysbeforeexpiration - The number of days after purchase before the seminar expires.
(string) classroom_expiration - The date at which the seminar will expire from the classroom.
(bool) enforce_capacity - Whether or not to use a registration cap.
(int) capacity - The number of customers allowed to register for the seminar.
(bool) quick_reg - Whether or not to use quick registration (bypass shopping cart).
(string) credit_expiration - The date at which seminar credit expires.
(string) external_sync_id - The ID used for catalog sync integrations
(bool) topic_order_enforced - Whether user must complete current topic before moving to nextReturn [status]
(null) - [204]
Copy a Seminar
Copy an existing Seminar by ID
Method/URL
POST https://api.myfreestone.com/seminar/{id}/copyAuthentication Level
20Return [status]
(null) - [201]
Get a Seminar Broadcast
Get the seminar's associated broadcast object, by ID.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/broadcastReturn [status]
(object) - The Seminar Broadcast object [200]
Create a Seminar Broadcast
If one does not yet exist, create a broadcast object for a seminar.
Method/URL
POST https://api.myfreestone.com/seminar/{id}/broadcastAuthentication Level
30Parameters
(string) starttime (required) - A datetime of when the broadcast should begin
(string) endtime - A datetime of when the broadcast should end
(int) expectedduration - How long the broadcast is expected to run (minutes)
(int) calendartag - The calendar tag to assign the broadcastReturn [status]
(object) - The newly created Seminar Broadcast object [201]
Get all Seminar Channels
Get a list of Channels assigned to the specified Seminar.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/channelsReturn [status]
(array) - An array of Channel objects [200]
Assign a Channel to a Seminar
Assign a specific Channel to a specified Seminar.
Method/URL
POST https://api.myfreestone.com/seminar/{id}/channel/{channel_id}Return [status]
(null) - [201]
Remove a Seminar Channel
Delete a Channel from a specified Seminar.
Method/URL
DELETE https://api.myfreestone.com/seminar/{id}/channel/{channel_id}Return [status]
(null) - [204]
Get all Seminar Objectives
Get a list of Objectives assigned to the specified Seminar.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/objectivesReturn [status]
(array) - An array of Seminar Objective objects [200]
Get a Seminar Objective
Get an Objective tied to a specified Seminar.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/objective/{objective_id}Return [status]
(null) - [200]
Create a Seminar Objective
Add a new Objective to a specified Seminar.
Method/URL
POST https://api.myfreestone.com/seminar/{id}/objectiveParameters
(string) text - The text for the Objective.Return [status]
(object) - The newly created Seminar Objective object [201]
Update a Seminar Objective
Update an Objective tied to a specified Seminar.
Method/URL
PUT https://api.myfreestone.com/seminar/{id}/objective/{objective_id}Parameters
(string) text - The text for the Objective.Return [status]
(null) - [204]
Remove a Seminar Objective
Delete an Objective from a specified Seminar.
Method/URL
DELETE https://api.myfreestone.com/seminar/{id}/channel/{channel_id}Return [status]
(null) - [204]
Get all Seminar Topics
Get all Topics tied to a specified Seminar.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/topicsReturn [status]
(array) - An array of Topic objects [200]
Get the Full Seminar Topic
Get a specified Seminar's Full Seminar Topic.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/topics/full_seminarReturn [status]
(object) - A Topic object [200]
Get all Seminar Notifications
Get a list of Notifications pertaining to the specified Seminar.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/notificationsReturn [status]
(array) - An array of Notification objects [200]
Get a Seminar Notification
Get a specific Notification tied to a specified Seminar.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/notification/{notification_id}Return [status]
(object) - The Notification object [200]
Create a Seminar Notification
Add a new Notification to a specified Seminar.
Method/URL
POST https://api.myfreestone.com/seminar/{id}/notificationAuthentication Level
50Parameters
(string) sendtime (required) - The datetime of when the notification should be sent.
(int) reminderEmailID (required) - The id of the reminder email to send out.
(string) options (required) - A csv list of the product id's to associate with the notification.Return [status]
(object) - The newly created Notification object [201]
Update a Seminar Notifcation
Update a Notification tied to a specified Seminar.
Method/URL
PUT https://api.myfreestone.com/seminar/{id}/notification/{notification_id}Authentication Level
50Parameters
(string) status - The status of the notification.
(int) reminderEmailID - The id of the reminder email to send out.
(string) options - A csv list of the product id's to associate with the notification.Return [status]
(null) - [204]
Remove a Seminar Notification
Delete a Notification from a specified Seminar.
Method/URL
DELETE https://api.myfreestone.com/seminar/{id}/notification/{notification_id}Return [status]
(null) - [204]
Get the Seminar Event Request
If it exists, get the Event Request for a specified Seminar.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/event_requestReturn [status]
(object) - The Event Request object [200]
Get the Seminar's Registration Fields
Returns all Seminar Registration Fields used for Quick Registration.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/registration_fieldsReturn [status]
(array) - An array of Registration Field objects [200]
Create a Seminar Registration Field
Create a new Registration Field record for a specified Seminar.
Method/URL
POST https://api.myfreestone.com/seminar/{id}/registration_fieldParameters
(array) - An array containing field dataReturn [status]
(null) - [201]
Get Seminar Registration Field data
Get all info for a Seminar Registration Field.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/registration_fieldReturn [status]
(array) - An array containing field data [200]
Delete a Seminar Registration Field
Deletes data for a Registration Field tied to the Seminar.
Method/URL
DELETE https://api.myfreestone.com/seminar/{id}/registration_fieldParameters
(array) - An array containing field dataReturn [status]
(null) - [204]
Update a Seminar Registration Field
Updates a Registration Field previously tied to the Seminar.
Method/URL
PUT https://api.myfreestone.com/seminar/{id}/registration_field/{field_id}Parameters
(array) - An array containing field dataReturn [status]
(null) - [204]
Get all resources (materials) of a Seminar
This will return all resource objects of all topics of this seminar excluding main video
Method/URL
GET https://api.myfreestone.com/seminar/{id}/resourcesParameters
(array) - An array of resource objectsReturn [status]
(null) - [204]
Get FSV conference settings of a Seminar
This will return conference setting object for Freestone Voice Webinar
Method/URL
GET https://api.myfreestone.com/seminar/{id}/fsv_conference_settingsParameters
(array) - An array of resource objectsReturn [status]
(null) - [204]
Get Seminar Customer Credits
Get all customer credits issued to a course.
Method/URL
GET https://api.myfreestone.com/seminar/{id}/credit_statusParameters
(int) status_id - Credit status (Submitted = 2, Not Submitted = 1).
(string) from_date - From: The completed date of customer credit in YYYY-MM-DD format.
(string) to_date - TO: The completed date of customer credit in YYYY-MM-DD format.Return [status]
(object/mixed) - An array of object consisting of customer credit records [200]
Get a Seminar by External Sync ID
Get a specific Seminar by its external_sync_id.
Method/URL
GET https://api.myfreestone.com/seminar/by_external_id/{external_id}Return [status]
(object) - A Seminar object [200]
Get seminars
Get seminars by seminar IDs.
Method/URL
GET https://api.myfreestone.com/seminar/seminarsParameters
(array) seminar_ids (required) - An array of seminar IDs.Return [status]
array of seminar objects (array of objects) [200]
Get seminar orders
Get seminar orders by seminar ID.
Method/URL
GET https://api.myfreestone.com/seminar/seminar_ordersParameters
(int) seminar_id (required) - Seminar id of which orders need to be fetched.Return [status]
(object/mixed) - An array of object consisting of seminar orders [200]