Skip to content

Group

Groups are non-academic versions of course sections; they can hold members, events, documents, etc.

NOTE

Groups are also objects. They exist in users.

Fields

FieldNameDescriptionType
idSchoology Group IDThe internal Schoology ID of the groupstring
building_idSchoology School Building IDThe internal Schoology ID of the school building to which the group belongsstring
school_idSchoology School IDThe internal Schoology ID of the school to which the group belongsstring
title*Group TitleThe title of the groupstring
descriptionDescriptionThe group descriptionstring
picture_urlPictureThe URL of the group's profile picturestring
websiteWebsiteThe group websitestring
access_codeAccess CodeThe access code that users can use to join the group (only admins can see this value).string
privacy_levelPrivacy levelThe privacy of the group.
_ everyone: All schoology users can see the group.
_ school (default): Only members of the school can see the group
_ building: Only members of the building can see the group
_ group: Only group members can see the group
* custom: Custom privacy settings (read only; not supported in POST/PUT)
{everyone, school, building, group}
categoryCategoryThe category of the group (see below on how to retrieve a list of available categories)string
options/invite_typeInvite TypeHow members can join the group.
_ 0 (default): Invite only
_ 1: Request to join
* 2: Anyone can join
{0-2}
options/member_postPost a group updateWhether or not a group member can post a group update (default 1){0,1}
options/member_post_commentPost a comment on a group updateWhether or not a group member can post comments to group updates (default 1){0,1}
options/create_discussionCreate a discussion threadWhether or not a group member can create a discussion thread (default 0){0,1}
options/create_filesCreate filesWhether or not members can create resources for the group (default 0){0,1}
group_codeGroup Code (external ID)If the group was imported from another system into Schoology, the unique ID of that group in the other system.string

* = Required

GET groups

View a list of groups in your school (paged). You can use the following parameters to filter the resultset:

  • building_id: return only groups for the given building_id.

Return A list of groups.

json
{
  "group": [
    {
      "id": "5604383",
      "title": "Google News group",
      "description": "Google News group",
      "website": "",
      "access_code": "H2QSM-CJPXD",
      "category": "",
      "options": {
        "member_post": 1,
        "member_post_comment": 1,
        "create_discussion": 1,
        "create_files": 0,
        "invite_type": 0
      },
      "group_code": "",
      "picture_url": "http:\/\/...group-default.gif",
      "school_id": "344232",
      "building_id": "344232",
      "links": {
        "self": "http:\/\/...\/v1\/groups\/5604383"
      }
    }
  ],
  "total": 1,
  "links": {
    "self": "http:\/\/...\/v1\/groups?start=0&limit=20"
  }
}
xml
<?xml version="1.0" encoding="utf-8" ?>
<result>
  <group>
    <id>5604383</id>
    <title>Google News group</title>
    <description>Google News group</description>
    <website />
    <access_code>H2QSM-CJPXD</access_code>
    <category />
    <options>
      <member_post>1</member_post>
      <member_post_comment>1</member_post_comment>
      <create_discussion>1</create_discussion>
      <create_files>0</create_files>
      <invite_type>0</invite_type>
    </options>
    <group_code />
    <picture_url>http://...group-default.gif</picture_url>
    <school_id>344232</school_id>
    <building_id>344232</building_id>
    <links>
      <self>http://.../v1/groups/5604383</self>
    </links>
  </group>
  <total>1</total>
  <links>
    <self>http://.../v1/groups?start=0&amp;limit=20</self>
  </links>
</result>

GET users/{id}/groups

?

GET groups/{id}

View a specified group

Return A group.

json
{
  "id": "5604383",
  "title": "Google News group",
  "description": "Google News group",
  "website": "",
  "access_code": "H2QSM-CJPXD",
  "category": "",
  "options": {
    "member_post": 1,
    "member_post_comment": 1,
    "create_discussion": 1,
    "create_files": 0,
    "invite_type": 0
  },
  "group_code": "",
  "picture_url": "http:\/\/...\/images\/group-default.gif",
  "school_id": "344232",
  "building_id": "344232"
}
xml
<?xml version="1.0" encoding="utf-8" ?>
<result>
  <id>5604383</id>
  <title>Google News group</title>
  <description>Google News group</description>
  <website />
  <access_code>H2QSM-CJPXD</access_code>
  <category />
  <options>
    <member_post>1</member_post>
    <member_post_comment>1</member_post_comment>
    <create_discussion>1</create_discussion>
    <create_files>0</create_files>
    <invite_type>0</invite_type>
  </options>
  <group_code />
  <picture_url>http://...s/group-default.gif</picture_url>
  <school_id>344232</school_id>
  <building_id>344232</building_id>
</result>

GET groups/categories

Return A collection of categories

json
{
  "category": [
    {
      "id": "abroad",
      "title": "Abroad\/Overseas Groups"
    },
    {
      "id": "advising",
      "title": "Advising Groups"
    },
    {
      "id": "alumni",
      "title": "Alumni Groups"
    },
    {
      "id": "career",
      "title": "Career Groups"
    },
    {
      "id": "extracurricular",
      "title": "Extracurricular Groups"
    }
  ]
}
xml
<?xml version="1.0" encoding="utf-8" ?>
<result>
	<category>
		<id>abroad</id>
		<title>Abroad/Overseas Groups</title>
	</category>
	<category>
		<id>advising</id>
		<title>Advising Groups</title>
	</category>
	<category>
		<id>alumni</id>
		<title>Alumni Groups</title>
	</category>
	<category>
		<id>career</id>
		<title>Career Groups</title>
	</category>
	<category>
		<id>extracurricular</id>
		<title>Extracurricular Groups</title>
	</category>
</result>

GET csvexport/group_enrollments

We have exposed a GET endpoint to allow bulk exporting of data through our API in csv format. Only school-wide admins have access to this bulk export feature.

You can specify field headers you want to include in the csv through a comma separated list in the fields query parameter. If no fields are specified, you will receive all fields. Allowed fields: uid, school_uid, name_first, name_last, mail, title, group_code, type, status

POST groups

Create a group

Content A group

json
{
  "title": "My new group",
  "description": "discuss new groups",
  "website": "http:\/\/www.newgroup.com",
  "picture_url": "http:\/\/www.newgroup.com\/profile-pic.gif"
}
xml
<body>
  <title>My new group</title>
  <description>discuss new groups</description>
  <website>http://www.newgroup.com</website>
  <picture_url>http://www.newgroup.com/profile-pic.gif</picture_url>
</body>

Return A group.

json
{
  "id": "5604275",
  "title": "Google News",
  "description": "discuss latest news",
  "website": "",
  "access_code": "QM6JC-D7VKK",
  "category": null,
  "options": {
    "member_post": 1,
    "member_post_comment": 1,
    "create_discussion": 0,
    "create_files": 0,
    "invite_type": 0
  },
  "group_code": "",
  "picture_url": "http:\/\/...group-default.gif",
  "school_id": "344232",
  "building_id": "344232",
  "links": {
    "self": "http:\/\/...\/v1\/groups\/5604275"
  }
}
xml


<?xml version="1.0" encoding="utf-8" ?>
<result>
  <id>5604275</id>
  <title>Google News</title>
  <description>discuss latest news</description>
  <website />
  <access_code>QM6JC-D7VKK</access_code>
  <category />
  <options>
    <member_post>1</member_post>
    <member_post_comment>1</member_post_comment>
    <create_discussion>0</create_discussion>
    <create_files>0</create_files>
    <invite_type>0</invite_type>
  </options>
  <group_code />
  <picture_url>http://...f</picture_url>
  <school_id>344232</school_id>
  <building_id>344232</building_id>
  <links>
    <self>http://.../v1/groups/5604275</self>
  </links>
</result>

PUT groups/{id}

Modify a group

Content A group

json
{
  "title": "My new group name updated",
  "picture_url": "http:\/\/www.newgroup.com\/new-pic.gif"
}
xml
<body>
  <title>My new group name updated</title>
  <picture_url>http://www.newgroup.com/newpic.gif</picture_url>
</body>

DELETE groups/{id}

Delete a group (cannot be undone)

Objects and realms