Não sei por que isso funcionaria no osx-sierra / Apache 2.4.10, mas aparentemente não no Debian-jessie / Apache 2.4.29. No entanto, como uma solução alternativa, você poderia fazer isso de uma maneira diferente usando uma lookahead negativa em um contêiner <LocationMatch>
em vez de usar expressões do Apache 2.4. Por exemplo:
<LocationMatch "^(?!/api/.*$).*$">
AuthType Basic
AuthName "Access"
AuthUserFile /Users/xxxxxx/www/public/.htpasswd
Require valid-user
</LocationMatch>
Agora, as diretivas dentro do contêiner <LocationMatch>
só são processadas quando o URL não inicia /api/
. (Isso também funciona no Apache 2.2)