Outcome Results API

BETA: This API resource is not finalized, and there could be breaking changes before its final release.

API for accessing learning outcome results

An OutcomeResult object looks like:

{
  
  //A unique identifier for this result
  "id": 42,
  
  //The student's score
  "score": 6,
  
  //The datetime the resulting OutcomeResult was submitted at, or absent that, when
  //it was assessed.
  "submitted_or_assessed_at": "2013-02-01T00:00:00-06:00",
  
  //Unique identifiers of objects associated with this result
  "links": "{"user"=>"3", "learning_outcome"=>"97", "alignment"=>"53"}"
}

An OutcomeRollupScoreLinks object looks like:

{
  
  //The id of the related outcome
  "outcome": 42
}

An OutcomeRollupScore object looks like:

{
  
  //The rollup score for the outcome, based on the student alignment scores related
  //to the outcome. This could be null if the student has no related scores.
  "score": 3,
  
  //The number of alignment scores included in this rollup.
  "count": 6,
  
  "links": "{"outcome"=>"42"}"
}

An OutcomeRollupLinks object looks like:

{
  
  //If an aggregate result was requested, the course field will be present
  //Otherwise, the user and section field will be present (Optional) The id of the
  //course that this rollup applies to
  "course": 42,
  
  //(Optional) The id of the user that this rollup applies to
  "user": 42,
  
  //(Optional) The id of the section the user is in
  "section": 57
}

An OutcomeRollup object looks like:

{
  
  //an array of OutcomeRollupScore objects
  "scores": "",
  
  //The name of the resource for this rollup. For example, the user name.
  "name": "John Doe",
  
  "links": "{"course"=>42, "user"=>42, "section"=>57}"
}

An OutcomeAlignment object looks like:

{
  
  //A unique identifier for this alignment
  "id": "quiz_3",
  
  //The name of this alignment
  "name": "Big mid-term test",
  
  //(Optional) A URL for details about this alignment
  "html_url": ""
}

An OutcomePath object looks like:

{
  
  //A unique identifier for this outcome
  "id": 42,
  
  //an array of OutcomePathPart objects
  "parts": ""
}

An OutcomePathPart object looks like:

{
  
  //The title of the outcome or outcome group
  "name": "Spelling out numbers"
}

Get outcome results OutcomeResultsController#index

BETA: This API endpoint is not finalized, and there could be breaking changes before its final release.

GET /api/v1/courses/:course_id/outcome_results

Gets the outcome results for users and outcomes in the specified context.

Request Parameters:

  • user_ids[]
    Integer

    If specified, only the users whose ids are given will be included in the results. it is an error to specify an id for a user who is not a student in the context

  • outcome_ids[]
    Integer

    If specified, only the outcomes whose ids are given will be included in the results. it is an error to specify an id for an outcome which is not linked to the context.

  • include[]
    String, “alignments”|“outcomes”|“outcomes.alignments”|“outcome_groups”|“outcome_links”|“outcome_paths”|“users”

    Specify additional collections to be side loaded with the result. “alignments” includes only the alignments referenced by the returned results. “outcomes.alignments” includes all alignments referenced by outcomes in the context.

Example Response:

{
  outcome_results: [OutcomeResult]
}

Get outcome result rollups OutcomeResultsController#rollups

BETA: This API endpoint is not finalized, and there could be breaking changes before its final release.

GET /api/v1/courses/:course_id/outcome_rollups

Gets the outcome rollups for the users and outcomes in the specified context.

Request Parameters:

  • aggregate
    String, “course”

    If specified, instead of returning one rollup for each user, all the user rollups will be combined into one rollup for the course that will contain the average rollup score for each outcome.

  • user_ids[]
    Integer

    If specified, only the users whose ids are given will be included in the results or used in an aggregate result. it is an error to specify an id for a user who is not a student in the context

  • outcome_ids[]
    Integer

    If specified, only the outcomes whose ids are given will be included in the results. it is an error to specify an id for an outcome which is not linked to the context.

  • include[]
    String, “courses”|“outcomes”|“outcomes.alignments”|“outcome_groups”|“outcome_links”|“outcome_paths”|“users”

    Specify additional collections to be side loaded with the result.

Example Response:

{
  "rollups": [OutcomeRollup],
  "linked": {
    // (Optional) Included if include[] has outcomes
    "outcomes": [Outcome],

    // (Optional) Included if aggregate is not set and include[] has users
    "users": [User],

    // (Optional) Included if aggregate is 'course' and include[] has courses
    "courses": [Course]

    // (Optional) Included if include[] has outcome_groups
    "outcome_groups": [OutcomeGroup],

    // (Optional) Included if include[] has outcome_links
    "outcome_links": [OutcomeLink]

    // (Optional) Included if include[] has outcome_paths
    "outcome_paths": [OutcomePath]

    // (Optional) Included if include[] has outcomes.alignments
    "outcomes.alignments": [OutcomeAlignment]
  }
}