design – Whats the purpose of use-case and data-sources?

I’d like to open a discussion here to where should I get the info to do for instance an api call.

Let’s say I have this :

Presenter –> Use Case –> DataSource –> Api

Ok now to do my api call I need for instance an userId, languagueCode, etc.. and I have use-case to get that info, also a datasource . My question is, where should I get that info in use-case or data-source?

If I do it in the data-source it should be like :

class MyUseCase @Inject constructor(getUserUsecase: GetUserUsecase, getLanguagueCodeUsecase: GetLanguagueCodeUsecase, myDataSource: DataSource) {

operator fun invoke(optionClicked: String) {
  myDataSource.getFoo(
     getUserusecase.invoke().id,
     getLanguagueCodeUsecase.invoke(),
     optionClicked,
  )
}

}

Or if I do it in datasource, should I use the use-case or the data-sources to get that info?

If the question was not clear, shorter question is :
If I have an api call that needs attributes that doesn’t come from my presentation layer (like countryId, userId, etc) where should I get them, in the use-case and send it directly to the datasource or my use-case only needs to send what comes from presentation and then in datasource ask for everything I need, like countryCode and userId? (Using use-case or datasource) ?