Confusione nella codifica URI degli indirizzi email durante le chiamate API

Ciao,

Manteniamo un forum utilizzando discourse, e abbiamo uno strumento automatizzato che effettua richieste come:

agent.get(`${this.baseUrl}/admin/users/list/all.json?email=${emailAddress}`)

Recentemente ho riscontrato un problema in cui una di queste email conteneva un carattere %. La richiesta get è fallita, credo a causa del carattere non codificato.
Ho considerato di usare encodeURI sulla stringa dell’email, ma temo che discourse potrebbe non eseguire una decodifica prima di interrogare l’email corrispondente, portando a potenziali falsi negativi.

Ho dato un’occhiata al codice sorgente di github ma non ho familiarità con ruby o con il repository abbastanza da saperlo con certezza.

È sicuro usare encodeURI sugli indirizzi email passati alla route admin/users/list/all? Discourse decodificherà i parametri prima di effettuare la query?