For Developers

Create Rubric

POST https://ed.link/api/v2/graph/classes/:class_id/rubrics

Create a new Rubric in the given Class.

Request Parameters

ParameterTypeDescription
class_idstringThe UUID of the desired Class.

Request Body

The request body should contain a Rubric object.

The following fields are allowed: title, description, type, grading_criteria, assignment_id, .

The following fields are required: title, description, grading_criteria, .

{
    "assignment_id": "00000000-0000-0000-0000-000000000000",
    "title": "My api-created rubric",
    "description": "my rubric description",
    "grading_criteria": [
        {
            "name": "first",
            "description": "some details",
            "performance_levels": [
                {
                    "name": "good",
                    "points": 3
                },
                {
                    "name": "bad",
                    "points": 1
                }
            ]
        },
        {
            "name": "second",
            "description": "2nd description",
            "performance_levels": [
                {
                    "name": "good",
                    "points": 3
                },
                {
                    "name": "bad",
                    "points": 1
                }
            ]
        }
    ]
}

Sample Request

axios.post('https://ed.link/api/v2/graph/classes/00000000-0000-0000-0000-000000000000/rubrics', {
    headers: {
        authorization: `Bearer ${integration_access_token}`
    },
    data: {
        assignment_id: '00000000-0000-0000-0000-000000000000',
        title: 'My api-created rubric',
        description: 'my rubric description',
        grading_criteria: [
            {
                name: 'first',
                description: 'some details',
                performance_levels: [
                    {
                        name: 'good',
                        points: 3
                    },
                    {
                        name: 'bad',
                        points: 1
                    }
                ]
            },
            {
                name: 'second',
                description: '2nd description',
                performance_levels: [
                    {
                        name: 'good',
                        points: 3
                    },
                    {
                        name: 'bad',
                        points: 1
                    }
                ]
            }
        ]
    }
});

Sample Response

The response contains the newly created Rubric object.

{
    "$data": {
        "title": "My api-created rubric",
        "description": "my rubric description",
        "grading_criteria": [
            {
                "name": "first",
                "description": "some details",
                "performance_levels": [
                    {
                        "name": "good",
                        "points": 3
                    },
                    {
                        "name": "bad",
                        "points": 1
                    }
                ]
            },
            {
                "name": "second",
                "description": "2nd description",
                "performance_levels": [
                    {
                        "name": "good",
                        "points": 3
                    },
                    {
                        "name": "bad",
                        "points": 1
                    }
                ]
            }
        ]
    },
    "$request": "00000000-0000-0000-0000-000000000000"
}

Additional Notes

assignment_id is required in the request body when the underlying provider is Google. It is ignored for other providers.

Also, per Google:

A user can only create, update, and delete rubrics with the Classroom API if the following conditions are met:

  • The user making the request has a Google Workspace for Education Plus license assigned to them.
  • The course owner of the corresponding course has a Google Workspace for Education Plus license assigned to them.

Supported Providers

  • google