Issues with Elastic APM "/internal/apm/services" Endpoint Versions and Parameter Changes

Hello,

APPLICATION_LIST_V7_URL = ""/internal/apm/services?environment=ENVIRONMENT_ALL&kuery=&start={startDate}&end={endDate}"

APPLICATION_LIST_V8_URL =/internal/apm/services?environment=ENVIRONMENT_ALL&kuery=&start={startDate}&end={endDate}&probability=1.0&documentType=serviceTransactionMetric&rollupInterval=1m"

I am currently using the Elastic APM /internal/apm/services endpoint to retrieve a list of services. However, I am encountering several issues due to version differences (e.g., APPLICATION_LIST_V7 and APPLICATION_LIST_V8):

  1. Response Differences:
  • The data format and fields returned by the endpoint vary between versions.
  • Fields expected in older versions may be missing or have a different structure in newer versions.
  1. Parameter Changes:
  • Newer versions require additional parameters (e.g., probability, documentType, rollupInterval), which are either not needed or not compatible with older versions.

These issues are causing compatibility problems on the client side and complicating the process of retrieving consistent data.

My goal: I am looking for a solution that eliminates these version-based inconsistencies. Specifically, I would like to know:

  • is there an alternative or recommended endpoint to reliably fetch the list of applications across versions? Also I wouldn't like to performance problem.
  • What is Elastic's recommended approach to address such issues?

If there are any relevant documents or examples, I would greatly appreciate it if you could share them.

Thank you!