"Buone pratiche di sicurezza" è quello di seguire Principio di Kerckhoffs :
One ought to design systems under the assumption that the enemy will immediately gain full familiarity with them.
Non seguire il principio di Kerckhoff significa che stai facendo sicurezza attraverso l'oscurità . Un rapido google ti mostrerà ciò che la comunità pensa di questo.
La tua domanda:
And how would they know what data/arguments they need to send in order to make bad use of any of the API functions?
Forse attraverso un cingolo a forza bruta. Forse in qualche modo avranno accesso ai tuoi file WSDL o Swagger contenenti la descrizione completa dell'API. Forse ottengono l'accesso all'app o all'SDK del cliente e eseguono il reverse-engineer dell'API. Forse annusano il traffico e osservano le persone che usano la tua API. Forse altri metodi.
Dipende chiaramente da te se l'aggiunta di auth rientra nell'ambito del tuo progetto, ma disporre di API che servono o accettano dati sensibili senza autenticazione è una pessima pratica. Meglio ancora è avere il controllo degli accessi su auth per controllare chi può visualizzare / impostare quali dati.