Error pushing Elastic Synthetic monitor: “Invalid locations specified” for private location

Hi team,

I'm trying to push a private location monitor using the Elastic Synthetics CLI to our Kibana instance, but consistently receive this error:

Couldn't save or update monitor because of an invalid configuration.: monitor(mema_test_cli)
Invalid locations specified. Elastic managed Location(s) 'AS_OB_Multistep' not found. No Elastic managed location available to use.

Here’s what I’ve tried:

:white_check_mark: Our private location exists — as shown in Fleet and Synthetics UI:

{
  "label": "AS_OB_Multistep",
  "id": "30ec0047-5201-4115-b35b-d51fd30c938a",
  "agentPolicyId": "30ec0047-5201-4115-b35b-d51fd30c938a"
}

My synthetics.config.ts contains:

monitor: {
  schedule: 10,
  locations: ['30ec0047-5201-4115-b35b-d51fd30c938a'], // UUID from private location
  name: 'Mema Journey_cli',
  space: 'govmeetings-prod',
}

:cross_mark: I tried adding privateLocations: true, which resulted in a JS error:

_monitorLocations$pri.map is not a function

:cross_mark: Without that field, I get:

Invalid locations specified. Elastic managed Location(s) 'AS_OB_Multistep' not found.

I’m using:

  • Elastic Synthetics CLI: @elastic/synthetics (latest via npx)
  • Kibana URL: https://elastic.granicuslabs.com
  • Kibana Space: govmeetings-prod

:thinking: Questions:

  • Is there a bug with private location UUIDs not being correctly recognized in the push flow?
  • Is there any other required field for private location monitors?

:test_tube: Bonus Info:
Running curl on the private location endpoint confirms it exists and matches the space:

curl -X GET "https://elastic.granicuslabs.com/s/govmeetings-prod/api/synthetics/private_locations" \
  -H "Authorization: ApiKey $SYNTHETICS_API_KEY" \
  -H "kbn-xsrf: true" | jq

Hello,
Welcome to elastic discuss forum.
you need to specify private locations in private locations attribute not in locations
privateLocations: ["AS_OB_Multistep"],

I hope this helps.