For Developers

Organizations

These endpoints help you retrieve details about the organization enrollments for users who have logged into your platform with Edlink. For more details on the data model, visit the Organizations document on the Graph API. The information retrieved from these endpoints will be identical to the corresponding organization objects in the Graph API, however, they may be augmented with a enrollment field, if the requesting user is a member of the course, section, or school.

Organization Types

Any of the following types can be used as an alias for the word organizations to filter results. This makes it possible to query for a list of courses, instead of retrieving a list of all organizations and then filtering by type = 'course'.

Organization TypeTypical Parent TypeDescription
schoolDistrict or NoneA school or campus.
courseDepartment or SchoolA course that is taught at the school.
sectionCourseGroups of students that are taught by the same teacher.

Typically, you will be using the retrieving items of the course and school types. Other organization types are less frequently used unless your application has a specific need.

List Courses, Sections, or Schools

GET https://ed.link/api/v1/my/:organization\_type

This endpoint retrieves a list of organizations in which the user is actively enrolled as a student or teacher. It is similar to the Graph API endpoint, but is scoped for the requesting user. In addition, it will be enhanced with an enrollments field, which contains details about the user's enrollments - for example, whether they are a student or a teacher in the corresponding organization.

Request Parameters

ParameterTypeDescription
organization_typeStringEither organizations for all types, or one of the types listed above.

This request allows for the standard paging parameters.

Response Data

This endpoint returns an array of organization objects with added enrollment data.

Sample Request

axios.get('https://ed.link/api/v1/my/courses', {
    headers: {
        Authorization: `Bearer ${user_access_token}`
    }
});

Sample Response

{
    "$data": [
        {
            "id": "497e6606-9e53-41c4-a77a-ad86f678c9b3",
            "type": "course",
            "created_date": "2020-03-08T23:33:11.691Z",
            "updated_date": "2020-03-08T23:33:11.691Z",
            "name": "Algebra 101, Section 1",
            "description": "",
            "icon_url": "https://api.schoology.com/sites/all/themes/schoology_theme/images/course-default.svg",
            "banner_url": "",
            "source_data": {},
            "source": {
                "id": "9aec5b81-fe3c-4629-a989-a75f02d9e947"
            },
            "ancestry": [
                "78ec6e26-2e92-4d6f-a0af-bb6ac7c45986",
                "497e6606-9e53-41c4-a77a-ad86f678c9b3"
            ],
            "terms": [],
            "entity": null,
            "verified": false,
            "enrollments": [
                {
                    "id": "21b4fe22-8830-46ce-ba67-14d412657511",
                    "created_date": "2020-03-08T23:39:18.430Z",
                    "updated_date": "2020-03-08T23:39:18.430Z",
                    "start_date": null,
                    "end_date": null,
                    "type": "teacher",
                    "target": "497e6606-9e53-41c4-a77a-ad86f678c9b3"
                }
            ]
        },
        { ... }
    ]
}

Fetch Details About A Single Organization

GET https://ed.link/api/v1/my/:organization\_type/:organization\_id

This endpoint retrieves details about the requested course. The requesting user must be a member of the desired course. This endpoint is functionally equivalent to the Graph API method, but adds an additional check for user permission.

Request Parameters

ParameterTypeDescription
organization_typeStringOne of the organization types defined above.
organization_idUUIDThe UUID corresponding to the organization details you want to retrieve.

Response Data

This endpoint returns a organization object with added person and enrollment fields. If the user is not an active member of the requested course, the request will return a 404 error.

Sample Request

axios.get('https://ed.link/api/v1/my/courses/8ab9c040-d458-4746-9bea-99f4b5066f17', {
    headers: {
        Authorization: `Bearer ${user_access_token}`
    }
});

Sample Response

{
    "$data": {
        "id": "497e6606-9e53-41c4-a77a-ad86f678c9b3",
        "type": "course",
        "created_date": "2020-03-08T23:33:11.691Z",
        "updated_date": "2020-03-08T23:33:11.691Z",
        "name": "Algebra 101, Section 1",
        "description": "",
        "icon_url": "https://api.schoology.com/sites/all/themes/schoology_theme/images/course-default.svg",
        "banner_url": "",
        "source_data": {},
        "source": {
            "id": "9aec5b81-fe3c-4629-a989-a75f02d9e947"
        },
        "ancestry": ["78ec6e26-2e92-4d6f-a0af-bb6ac7c45986", "497e6606-9e53-41c4-a77a-ad86f678c9b3"],
        "terms": [],
        "entity": null,
        "verified": false,
        "enrollments": [
            {
                "id": "21b4fe22-8830-46ce-ba67-14d412657511",
                "created_date": "2020-03-08T23:39:18.430Z",
                "updated_date": "2020-03-08T23:39:18.430Z",
                "start_date": null,
                "end_date": null,
                "type": "teacher",
                "target": "497e6606-9e53-41c4-a77a-ad86f678c9b3"
            }
        ]
    }
}

Fetch a List of Users Enrolled in an Organization

GET https://ed.link/api/v1/my/:organization\_type/:organization\_id/enrollments

This endpoint retrieves a list of the members of a specific course. The requesting user must be a member of the desired course. This endpoint is functionally equivalent to the Graph API method, but adds an additional check for user permission.

Request Parameters

ParameterTypeDescription
organization_typeStringOne of the organization types defined above.
organization_idUUIDThe UUID corresponding to the organization details you want to retrieve.

Response Data

This endpoint returns an array of enrollment objects, enriched with the associated user data. If the user is not an active member of the requested course, the request will return a 404 error.

Sample Request

axios.get('https://ed.link/api/v1/my/courses/8ab9c040-d458-4746-9bea-99f4b5066f17/enrollments', {
    headers: {
        Authorization: `Bearer ${user_access_token}`
    }
});