API Analytics - Student Submissions - Undocumented value "Status = Floating"

Jump to solution
Community Champion

Good Morning

Using the Analytics API
Specifically this endpoint "Get user-in-a-course-level assignment data"
GET /api/v1/courses/:course_id/analytics/users/:student_id/assignments

Returns the payload as expected but also included a value called "status" that includes values like Missing, Late, On_Time and Floating.    
Most of these values make sense given the context, but I don't know what to make of the Floating status.    It makes up more than half of the data returned for my few test courses.     

Does anyone know what Floating means?     Does anyone know where to see docs that explain what all the values returned for status in this context mean?

Here's an example


        "assignment_id": 15364669,
        "title": "Networking Essentials",
        "unlock_at": null,
        "points_possible": 1.0,
        "non_digital_submission": false,
        "multiple_due_dates": false,
        "due_at": null,
        "status": "floating",
        "muted": false,
        "max_score": 1.0,
        "min_score": 1.0,
        "first_quartile": 1.0,
        "median": 1.0,
        "third_quartile": 1.0,
        "module_ids": [
        "excused": false,
        "submission": {
            "posted_at": null,
            "score": null,
            "submitted_at": null



Thanks <Glen


1 Solution
Community Participant

I took a look at the source code for this particular API. Apparently, Instructure themselves aren't exactly sure what this value means: "We *think* floating means 'future', or 'not submitted yet' -- Venk". Here's the commit where these comments were added: https://github.com/instructure/analytics/commit/033a70eb859f4d0b1a1b1720bb603420be7f6046. The commit that added the floating submission type unfortunately predates the open-sourcing of the Canvas analytics package, so there isn't really a way to figure out the context surrounding when it was introduced.

Looking at where Canvas determines the submitted status, I think the above assumption is correct, with the addition that unsubmitted assignments that have no due date will also show up as floating. Based on the way that code is written, floating seems to also be the catch-all for when no other status can be determined.

View solution in original post