Event

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

FieldNameDescriptionTypeRequired
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):

Realm Path ?with_attachments
Districts districts/{id}
Schools schools/{id}
Users users/{id}
Course Sections sections/{id}
Groups groups/{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