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/selection

Parameters

(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

20

Parameters

(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 integrations

Return [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_course

Authentication Level

30

Parameters

(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

20

Parameters

(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 next

Return [status]

(null) - [204]

Copy a Seminar

Copy an existing Seminar by ID

Method/URL

POST https://api.myfreestone.com/seminar/{id}/copy

Authentication Level

20

Return [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}/broadcast

Return [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}/broadcast

Authentication Level

30

Parameters

(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 broadcast

Return [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}/channels

Return [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}/objectives

Return [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}/objective

Parameters

(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}/topics

Return [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_seminar

Return [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}/notifications

Return [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}/notification

Authentication Level

50

Parameters

(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

50

Parameters

(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_request

Return [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_fields

Return [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_field

Parameters

(array) - An array containing field data

Return [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_field

Return [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_field

Parameters

(array) - An array containing field data

Return [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 data

Return [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}/resources

Parameters

(array) - An array of resource objects

Return [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_settings

Parameters

(array) - An array of resource objects

Return [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_status

Parameters

(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/seminars

Parameters

(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_orders

Parameters

(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]