Event

Events can be created for users, courses, groups, schools, or districts; all events automatically feed into the "upcoming" and "calender" portions of the site.

Table of Contents

Events are calendar items can be created for any realm. Assignments also have associated events - these events can be viewed, but cannot be modified directly.

Fields

Field Name Description Type Required
id Schoology Event ID

The internal Schoology ID of the event

string yes
title Title

The event title

string yes
description Description

The event description

string
start Start

The start of the event

datetime (YYYY-MM-DD HH:MM:SS) yes
has_end Has End

Whether or not this event has an end date/time

{0,1} default: 0
end End

The end of the event, if has_end is 1.

datetime (YYYY-MM-DD HH:MM:SS)
all_day All Day

Whether or not this event is an all-day event (i.e. no time, just start/end day)

{0,1} default: 0
rsvp RSVP Settings

Determines who is allowed to RSVP into this event. 0 implies that no one can RSVP. 1 implies that only people who have been invited to the events can RSVP. 2 implies that anyone can RSVP.

{0,1,2} default: 0
comments_enabled Enable Comments

Determine whether or not users can have a discussion within the event.

{0,1} default: 1
type Event Type

Determine the type of the event. ‘event’ implies that the event is a normal event. ‘assignment’ implies that the event is a due event for an assignment. ‘discussion’ implies that the event is a due event for a discussion.

{'event', 'assignment', 'discussion'}

Operations

The operations below are available for the following realms (replace [realm] with the appropriate realm and ID):

RealmPath?with_attachments
Districtsdistricts/{id}
Schoolsschools/{id}
Usersusers/{id}
Course Sectionssections/{id}
Groupsgroups/{id}

create

Create an event

Path

POST https://api.schoology.com/v1/[realm]/events

Content

An object containing event fields

JSON
{
    "title": "My new event",
    "description": "My event description",
    "start": "2015-05-45 16:30:00",
    "has_end": "1",
    "end": "2015-05-45 18:30:00",
    "type": "event"
}
XML
<body>
  <title>My new event</title>
  <description>My event description</description>
  <start>2015-05-45 16:30:00</start>
  <has_end>1</has_end>
  <end>2015-05-45 18:30:00</end>
  <type>event</type>
</body>
Return

An object containing event fields

JSON
{
    "id": 5615013,
    "title": "My Course Event",
    "description": "My course event description",
    "start": "2014-12-28 11:30:00",
    "has_end": 1,
    "end": "2014-12-28 13:30:00",
    "all_day": 0,
    "editable": 1,
    "rsvp": 0,
    "comments_enabled": 1,
    "type": "event",
    "realm": "section",
    "section_id": 3719526,
    "links": {
        "self": "http:\/\/...\/3719526\/events\/5615013"
    }
}
XML
<?xml version="1.0" encoding="utf-8" ?>
<result>
  <id>5615013</id>
  <title>My Course Event</title>
  <description>My course event description</description>
  <start>2014-12-28 11:30:00</start>
  <has_end>1</has_end>
  <end>2014-12-28 13:30:00</end>
  <all_day>0</all_day>
  <editable>1</editable>
  <rsvp>0</rsvp>
  <comments_enabled>1</comments_enabled>
  <type>event</type>
  <realm>section</realm>
  <section_id>3719526</section_id>
  <links>
    <self>http://.../events/5615013</self>
  </links>
</result>

list

View a list of events (paged). You can limit the result set by date by specify both ‘start_date’ and ‘end_date’ as key value pairs in the query string (i.e. ?start_date=[date]&end_date=[date]). The expected date format is YYYY-MM-DD or YYYYMMDD. The following query strings can (optionally) be appended to the path to filter results:

  • with_attachments: retrieve attachments of this piece of content.
Path

GET https://api.schoology.com/v1/[realm]/events

Content

none

Return

A collection of event objects, each one containing event fields

JSON
{
    "event": [
        {
            "id": 5615031,
            "title": "Test Event 1",
            "description": "",
            "start": "2013-12-16 18:59:59",
            "has_end": 0,
            "end": "",
            "all_day": 1,
            "editable": 1,
            "rsvp": 0,
            "comments_enabled": 1,
            "type": "event",
            "realm": "section",
            "section_id": 3719526,
            "links": {
                "self": "http:\/\/...\/5615031"
            }
        },
        {
            "id": 5615033,
            "title": "Test Event 2",
            "description": "",
            "start": "2013-12-23 18:59:59",
            "has_end": 0,
            "end": "",
            "all_day": 1,
            "editable": 1,
            "rsvp": 0,
            "comments_enabled": 1,
            "type": "event",
            "realm": "section",
            "section_id": 3719526,
            "links": {
                "self": "http:\/\/...\/5615033"
            }
        }
    ],
    "total": 2,
    "links": {
        "self": "http:\/\/...\/events?start=0&limit=20"
    }
}
XML
<?xml version="1.0" encoding="utf-8" ?>
<result>
  <event>
    <id>5615031</id>
    <title>Test Event 1</title>
    <description />
    <start>2013-12-16 18:59:59</start>
    <has_end>0</has_end>
    <end />
    <all_day>1</all_day>
    <editable>1</editable>
    <rsvp>0</rsvp>
    <comments_enabled>1</comments_enabled>
    <type>event</type>
    <realm>section</realm>
    <section_id>3719526</section_id>
    <links>
      <self>http://.../5615031</self>
    </links>
  </event>
  <event>
    <id>5615033</id>
    <title>Test Event 2</title>
    <description />
    <start>2013-12-23 18:59:59</start>
    <has_end>0</has_end>
    <end />
    <all_day>1</all_day>
    <editable>1</editable>
    <rsvp>0</rsvp>
    <comments_enabled>1</comments_enabled>
    <type>event</type>
    <realm>section</realm>
    <section_id>3719526</section_id>
    <links>
      <self>http://.../5615033</self>
    </links>
  </event>
  <total>2</total>
  <links>
    <self>http://...events?start=0&amp;limit=20</self>
  </links>
</result>

view

View a specified event. The following query strings can (optionally) be appended to the path to filter results:

  • with_attachments: retrieve attachments of this piece of content.
Path

GET https://api.schoology.com/v1/[realm]/events/{id}

Content

none

Return

An object containing event fields

JSON
{
    "id": 5615031,
    "title": "Test Event 1",
    "description": "",
    "start": "2013-12-16 23:59:59",
    "has_end": 0,
    "end": "",
    "all_day": 1,
    "editable": 1,
    "rsvp": 0,
    "comments_enabled": 1,
    "type": "event",
    "realm": "section",
    "section_id": 3719526
}
XML
<?xml version="1.0" encoding="utf-8" ?>
<result>
  <id>5615031</id>
  <title>Test Event 1</title>
  <description />
  <start>2013-12-16 23:59:59</start>
  <has_end>0</has_end>
  <end />
  <all_day>1</all_day>
  <editable>1</editable>
  <rsvp>0</rsvp>
  <comments_enabled>1</comments_enabled>
  <type>event</type>
  <realm>section</realm>
  <section_id>3719526</section_id>
</result>

update

Modify an event

Path

PUT https://api.schoology.com/v1/[realm]/events/{id}

Content

An object containing event fields

JSON
{
    "title": "My new event with updated end time",
    "end": "2015-05-45 20:30:00"
}
XML
<body>
  <title>My new event with updated end time</title>
  <end>2015-05-45 20:30:00</end>
</body>
Return

none

delete

Delete an event (cannot be undone)

Path

DELETE https://api.schoology.com/v1/[realm]/events/{id}

Content

none

Return

none