Create a private location via the Datadog UI (Digital Experience > Settings > Private Locations) or POST /api/v1/synthetics/private-locations; download the generated JSON config file
Deploy the private location worker: docker run -d --restart unless-stopped -v $PWD/<config>.json:/etc/datadog/synthetics-check-runner.json datadog/synthetics-private-location-worker:latest
Confirm the worker appears as connected in the Datadog UI before creating tests against it
POST /api/v1/synthetics/tests with type 'browser', set locations to the private location ID, and include the recorded steps array under config.request
Use GET /api/v1/synthetics/tests/browser/{public_id} to verify the test configuration was stored correctly
Poll GET /api/v1/synthetics/tests/browser/{public_id}/results to retrieve test run results and assert expected assertions pass
Known gotchas
Private location workers need outbound HTTPS access to Datadog API endpoints to pull test configs and push results; blocked reserved IPs require adding NET_ADMIN capability to the container
Browser tests cannot be fully created via API alone for complex multi-step recordings; record steps in the UI first, then use the API to duplicate or schedule them
The config JSON file contains secrets for authentication and encryption — treat it like a credential and never commit it to version control
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp