What This API Endpoint Does

With the Reporters and Reporting Groups API you add or remove a reporter's access to the report data for specific groups. Admins see this reflected in the reporter's detailed record on the People tab. Reporters see this reflected in the report information available on the Reports tab.

You can also use this endpoint to list all groups assigned to a reporter and all reporters assigned to a group.

Endpoints

  • GET /users/{userId}/reporting-groups - list what groups a reporter reports for

  • GET /groups/{groupId}/reporters - list a group's reporters

  • PUT /groups/{groupId}/reporters/{userId} - add a reporter for a group

  • DELETE /groups/{groupId}/reporters/{userId} - remove a reporter for a group

List Groups a Reporter Reports For

GET /users/{userId}/reporting-groups

Request Parameters (Query String)

  • limit (integer, optional) - the maximum number of results to return in a single response (see Pagination); must be between 1 and 100 (defaults to 50)

Example Response

{ 
"userUrl": "https://api.rise.com/users/example-user-id-1",
"groups": [
{
"id": "example-group-id-1",
"membersUrl": "https://api.rise.com/groups/example-group-id-1/users",
"reportersUrl": "https://api.rise.com/groups/example-group-id-1/reporters",
"name": "Example Group",
"url": "https://api.rise.com/groups/example-group-id-1"
}, ...
],
"nextUrl": "https://url-for-next-page-of-results"
}

Endpoint-specific error codes:

  • user_not_found - cannot list reporter's groups because user does not exist

  • invalid_user_role - cannot list reporter's groups because user is not a reporter

List a Group's Reporters

GET /groups/{groupId}/reporters

Note: Includes users who also report on the Everyone group

Request Parameters (Query String)

  • limit (integer, optional) - the maximum number of results to return in a single response (see Pagination); must be between 1 and 100 (defaults to 50)

Example Response

{ 
"groupUrl": "http://api.rise.com/groups/example-group-id",
"reporters": [
{
"id": "example-user-id-1",
"email": "foo@example.com",
"groupsUrl": "https://api.rise.com/users/example-user-id-1/groups",
"reportingGroupsUrl": "https://api.rise.com/users/example-user-id-1/reporting-groups",
"role" :"reporter",
"firstName": "Example Group Reporter",
"lastName": "Example Last Name",
"learnerReportUrl": "https://api.rise.com/reports/learners/example-user-id-1",
"url": "https://api.rise.com/users/example-user-id-1"
},
{
"id": "example-user-id-2",
"email": "bar@example.com",
"groupsUrl": "https://api.rise.com/users/example-user-id-2/groups",
"reportingGroupsUrl": "https://api.rise.com/users/example-user-id-2/reporting-groups"
"role": "reporter",
"firstName": "Example Everyone Reporter",
"lastName": "Example Last Name",
"learnerReportUrl": "https://api.rise.com/reports/learners/example-user-id-2",
"url": "https://api.rise.com/users/example-user-id-2"
}, ...
],
"nextUrl": "https://url-for-next-page-of-results"
}

Endpoint-specific error codes:

  • group_not_found - cannot list reporters because group does not exist

Add Reporter for a Group

PUT /groups/{groupId}/reporters/{userId}

Success Response

204 "No Content"

Endpoint-specific error codes:

  • group_not_found - cannot add reporter for group because group does not exist

  • user_not_found - cannot add reporter for group because user does not exist

  • invalid_user_role - cannot add reporter for group because user is not a reporter

  • everyone_reporter - cannot add reporter for group because user already reports on Everyone group

Remove Reporter for a Group

DELETE /groups/{groupId}/reporters/{userId}

Success Response

204 "No Content"

Endpoint-specific error codes:

  • group_not_found - cannot remove reporter for group because group does not exist

  • user_not_found - cannot remove reporter for group because user does not exist

  • invalid_user_role - cannot remove reporter for group because user is not a reporter

  • everyone_reporter - cannot remove reporter for group because user reports on Everyone group

  • relationship_not_found - cannot remove reporter for group because user does not report for group

Did this answer your question?