É possível ter vários GETs que variam apenas por parâmetros no ASP.NET Core?

Quero criar um serviço da Web verdadeiramente RESTful, para não aproveitar o estilo RPC, então, atualmente, tenho o seguinte:

[HttpGet]
[ActionName(nameof(GetByParticipant))]
public async Task<IActionResult> GetByParticipant([FromQuery]string participantId, [FromQuery]string participantType, [FromQuery]string programName)
{
}

[HttpGet]
[ActionName(nameof(GetByProgram))]
public async Task<IActionResult> GetByProgram([FromQuery]string programName)
{
}

E acredito que isso funcionaria na API da Web do ASP.NET. Mas estou recebendo uma exceção:

AmbiguousActionException: várias ações correspondidas. As ações a seguir correspondiam aos dados da rota e tinham todas as restrições atendidas:

TermsController.GetByParticipant (ParticipantTerms.Api)

TermsController.GetByProgram (ParticipantTerms.Api)

Nenhum dos atributos realmente ajuda:

[HttpGet][ActionName][FromQuery]

questionAnswers(3)

yourAnswerToTheQuestion