Check readiness endpoint returned values in the body in the HealthMonitor

Hi, I have set up target servers which I do load balance. In short, I fail to check returned body by the health probes. 
I tried checking only http response code and it works but I want to also if specifically check if status = UP e.g. health endpoint returns {"status":"UP"}

According to these docs it seems like I should be able to use the <Payload> but it does not seem to work.

https://docs.apigee.com/api-platform/deploy/load-balancing-across-backend-servers

Here is the health monitor example with some ways I tried to get it working..

<HealthMonitor>
  <IsEnabled>true</IsEnabled>
  <IntervalInSec>5</IntervalInSec>
  <HTTPMonitor>
    <Request>
      <ConnectTimeoutInSec>10</ConnectTimeoutInSec>
      <SocketReadTimeoutInSec>30</SocketReadTimeoutInSec>
      <Port>8080</Port>
      <Verb>GET</Verb>
      <Path>/health/readiness</Path>
    </Request>
    <SuccessResponse>
      <ResponseCode>200</ResponseCode>
      <Payload>{"status":"UP"}</Payload>
      <Payload status="UP"></Payload>
    </SuccessResponse>
  </HTTPMonitor>
</HealthMonitor>
0 3 78
3 REPLIES 3

The docs are arguably a bit vague but the description:

The HTTP body generated for each polling HTTP request. Note that this element is not required for GET requests.

Hints that the parameter is used in the request and not in the response.

This Apigee repo also contains a xsd schema that confirms that the payload is only used in the response and can't be used in the response assertion. https://github.com/apigee/api-platform-samples/blob/master/schemas/configuration/configuration_schem...

Alright thanks, so it is not possible seems like.

Correct. You can check headers and status of the response. Not payload.