@mlsteele you can probably refactor all these url patterns into something a lot shorter using django.conf.urls.include 

```python
urlpatterns += (
    url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/instructor_dashboard/api/',
        include('instructor.views.urls'))
)
              
instructor/views/urls.py

urlpatterns += (
    url(r'^students_update_enrollment$', 'students_update_enrollment', name='students_update_enrollment'),
    url(r'^list_course_role_members$', 'list_course_role_members', name='list_course_role_members'),
    ...
)
```

@wedaly The regexp looks file to me. course_id have the form of x/y/z, which can be directly used to get locations, xmodules, db queries, etc. I don't think there is a need to parse it and reassemble it in every view that uses it.