There is some coverage missing here in the coverage reports, but I think we can put much of this logic into `PrincipalsAPI.getTermsAndConditions`.

If `locale` is an optional parameter to `getTermsAndConditions` that defaults to the user's locale, then only step `1.` in the comments above needs to be in the `rest.js` file. Since the Accept-Language header is now found on the context object, we can put all of steps 2-4 into `getTermsAndConditions`