I will start off first by stating that I am currently running the REST call against Learn Q2 2016 (Release 3000.1.3). If this has been addressed since that release, I couldn't find anything to say so.
The call I am making is for the course memberships API, the 'Get Membership' endpoint:
Responses to that call contain a field, 'availability' of type 'Availability_2' (per the documentation). The Availability_2 type itself has a field, 'available', for which its value may be set to 'Yes', 'No', or 'Disabled', depending on the user's availability in the course.
If a course is marked as unavailable to students, but a user with an 'Instructor' role (as established by the 'courseRoleId' in the API call) is able to access the course, I would expect the 'available' field to be set to 'Yes' for the instructor. The enrollment is available, yet the API result does not reflect this.
The argument could be made that since the course itself is unavailable, then automatically the enrollment availability should not be available either. I would argue that the REST API call should mimic the behavior of the system. If the Instructor is able to access the unavailable course through regular system navigation, the REST API call should specify the enrollment is available for that course for that user.
EDIT: wrote the wrong endpoint in this post, updated in below post.