We use the term “Event” in the Intellum Platform, but for historical reasons, it is “Session” in our data and API.

LIST

Resource: /api/v2/sessions

HTTPS Request Method: GET

Description: The list of events that match the specified parameters. If no optional parameters are specified, the full list of events associated with the account is returned.

Events list results are limited to 50 records and can be paginated.

Required Parameters:

  • api_key

Optional Parameters:

  • *page - (integer). The page you want to request. Every page is 50 records long at most. If not present, page 1 is assumed.
  • session[id] - (integer)
  • session[start_on] - (date or datetime)
  • session[end_on] - (date or datetime)
  • session[course_id] - (integer)
  • session[code] - (string)
  • session[is_active] - (boolean)
  • session[name] - (string)
  • session[custom_a] - (string) ...
  • session[custom_j] - (string)
  • session[in_catalog] - (boolean)
  • session[requires_authorization] - (boolean)
  • session[has_waitlist] - (boolean)
  • session[created_on] - (datetime)
  • session[updated_on] - (datetime)
  • course[code] - (string)
  • ... (see all the optional attributes of the Activities API List endpoint)

Dates and datetimes should be in YYYY-MM-DD or YYYY-MM-DD HH:MM:SS format and can be given as ranges if separated by a comma.

Example Request:

curl -X GET -d '{"api_key": "123456", "session": {"start_on": "2010-04-19 00:00:00,2015-04-19 23:59:59"}, "course": {"code": "abc123"}}' -H "Content-type: application/json" -H "Accept: application/json" https://YOURSUBDOMAIN.exceedlms.com/api/v2/sessions

Example Response:

[
 {
   "end_on": "2015-03-12T19:00:00-05:00",
   "id": 25,
   "name": "asfd",
   "primary_instructor": "",
   "primary_location": "",
   "start_on": "2015-03-12T18:00:00-05:00",
   "events": [
     {
       "description": "",
       "dtend": "2015-03-12T19:00:00-05:00",
       "dtstart": "2015-03-12T18:00:00-05:00",
       "location": ""
     }
   ],
   "course": {
     "code": "abc123",
     "name": "chaos theroy"
   }
 }
]




READ

Resource: /api/v2/sessions/id_of_resource

HTTPS Request Method: GET

Description: A single event that matches the id or code passed in.

Required Parameters:

  • api_key
  • id or code of course session

Example Request:

curl "https://academy.exceedlms-staging.com/api/v2/sessions/128?api_key=123" \
     -H 'Content-Type: application/json' \
     -H 'Accept: application/json'

Response:

{
  "id": 128,
  "primary_instructor": "Asha B",
  "primary_location": "Watch a recording at your desk or on your mobile device!",
  "start_on": "2017-06-27T11:00:00.000-04:00",
  "end_on": "2017-06-27T12:00:00.000-04:00",
  "name": "Recording- What's new with Ad Exchange and Policy (Q2)?",
  "city": null,
  "events": [
    {
      "dtstart": "2017-06-27T11:00:00.000-04:00",
      "dtend": "2017-06-27T12:00:00.000-04:00"
    }
  ],
  "course": {
    "name": "Ad Exchange Live event - Jun. 27, 2017",
    "code": "i-2098"
  }
}

Example Request:

curl "https://academy.exceedlms-staging.com/api/v2/sessions/0?api_key=123&session%5Bcode%5D=AdX-LS04" \
     -H 'Content-Type: application/json' \
     -H 'Accept: application/json'

Response:

{
  "id": 128,
  "primary_instructor": "Asha B",
  "primary_location": "Watch a recording at your desk or on your mobile device!",
  "start_on": "2017-06-27T11:00:00.000-04:00",
  "end_on": "2017-06-27T12:00:00.000-04:00",
  "name": "Recording- What's new with Ad Exchange and Policy (Q2)?",
  "city": null,
  "events": [
    {
      "dtstart": "2017-06-27T11:00:00.000-04:00",
      "dtend": "2017-06-27T12:00:00.000-04:00"
    }
  ],
  "course": {
    "name": "Ad Exchange Live event - Jun. 27, 2017",
    "code": "i-2098"
  }
}




CREATE

Resource: /api/v2/sessions

HTTPS Request Method: POST

Description: Creates a new course event object.

Required Parameters:

  • api_key
  • session[course_id]

Optional Parameters:

The following optional parameters must be within the event key:

  • code (string)
  • is_active (boolean)
  • name (string)
  • city (string) -primary_instructor (string)
  • custom_a (text)
  • custom_b (text)
  • custom_c (text)
  • custom_d (text)
  • custom_e (text)
  • custom_f (text)
  • custom_g (text)
  • custom_h (text)
  • custom_i (text)
  • custom_j (text)
  • in_catalog (boolean)
  • requires_authorization (boolean)
  • has_waitlist (boolean)
  • primary_location (string)
  • details (text)

Note: String parameters are limited to 255 characters. Dates and datetimes should be in YYYY-MM-DD or YYYY-MM-DD HH:MM:SS format.

Example Request:

curl -X "POST" "https://academy.exceedlms-staging.com/api/v2/sessions?api_key=123" \
     -H 'Content-Type: application/json' \
     -H 'Accept: application/json' \
     -d $'{
  "session": {
    "course_id": "2098",
    "name": "My Event",
    "details": "Here is important info about the event."
  }
}'

Response:

{
  "id": 739,
  "primary_instructor": null,
  "primary_location": null,
  "start_on": "2019-01-08T00:00:00.000-05:00",
  "end_on": "2019-01-08T01:00:00.000-05:00",
  "name": "My Event",
  "city": null,
  "events": [
    {
      "dtstart": "2019-01-08T00:00:00.000-05:00",
      "dtend": "2019-01-08T01:00:00.000-05:00"
    }
  ],
  "course": {
    "name": "Ad Exchange Live event - Jun. 27, 2017",
    "code": "i-2098"
  }
}




UPDATE

Resource: /api/v2/sessions/id_of_resource

HTTPS Request Method: PATCH or PUT

Description: Updates a course event object.

Required Parameters:

  • api_key
  • id or session[code] of course session

Optional Parameters:

The following optional parameters must be within the event key:

  • is_active (boolean)
  • name (string)
  • city (string)
  • primary_instructor (string)
  • custom_a (text)
  • custom_b (text)
  • custom_c (text)
  • custom_d (text)
  • custom_e (text)
  • custom_f (text)
  • custom_g (text)
  • custom_h (text)
  • custom_i (text)
  • custom_j (text)
  • in_catalog (boolean)
  • requires_authorization (boolean)
  • has_waitlist (boolean)
  • primary_location (string)
  • details (text)

Note: String parameters are limited to 255 characters. Dates and datetimes should be in YYYY-MM-DD or YYYY-MM-DD HH:MM:SS format

Example Request:

curl -X "PUT" "https://academy.exceedlms-staging.com/api/v2/sessions/739?api_key=123" \
     -H 'Content-Type: application/json' \
     -H 'Accept: application/json' \
     -d $'{
  "session": {
    "course_id": "2098",
    "details": "Here is important info about the Event.",
    "name": "My Updated event",
    "city": "Atlanta"
  }
}'

Response:

{
  "id": 739,
  "primary_instructor": null,
  "primary_location": null,
  "start_on": "2019-01-08T00:00:00.000-05:00",
  "end_on": "2019-01-08T01:00:00.000-05:00",
  "name": "My Updated Event",
  "city": "Atlanta",
  "events": [
    {
      "dtstart": "2019-01-08T00:00:00.000-05:00",
      "dtend": "2019-01-08T01:00:00.000-05:00"
    }
  ],
  "course": {
    "name": "Ad Exchange Live event - Jun. 27, 2017",
    "code": "i-2098"
  }
}




DELETE

Resource: /api/v2/sessions/{id}

HTTPS Request Method: DELETE

Description: Delete an event based on the Activity id.

Optional Parameters:

  • session[code] - lookup the event using the code. When this param is used, the id parameter is ignored.

Response:

  • On successful deletion, it returns a 200 HTTP response code with the deleted event data in the body.