Type to search.

Elastic APM agent configuration API

Stack

The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats.

Availability

  • Generally available

    This functionality is generally available and ready for production usage.

Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments.

This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.

APM Server exposes API endpoints that allow Elastic APM agents to query the APM Server for configuration changes. More information on this feature is available in APM agent configuration in Kibana.

Name Endpoint
Agent configuration intake /config/v1/agents
RUM configuration intake /config/v1/rum/agents

The Agent configuration endpoints accepts both HTTP GET and HTTP POST requests. If an API keys or Secret token is configured, requests to this endpoint must be authenticated.

service.name is a required query string parameter.

Shell
http(s)://{hostname}:{port}/config/v1/agents?service.name=SERVICE_NAME

HTTP POST

Encode parameters as a JSON object in the body. service.name is a required parameter.

Shell
http(s)://{hostname}:{port}/config/v1/agents
{
  "service": {
      "name": "test-service",
      "environment": "all"
  },
  "CAPTURE_BODY": "off"
}
  • Successful - 200
  • APM Server is configured to fetch agent configuration from Elasticsearch but the configuration is invalid - 403
  • APM Server is starting up or Elasticsearch is unreachable - 503

Example Agent configuration GET request including the service name "test-service":

Shell
curl -i http://127.0.0.1:8200/config/v1/agents?service.name=test-service

Example Agent configuration POST request including the service name "test-service":

Shell
curl -X POST http://127.0.0.1:8200/config/v1/agents \
  -H "Authorization: Bearer secret_token" \
  -H 'content-type: application/json' \
  -d '{"service": {"name": "test-service"}}'
Shell
HTTP/1.1 200 OK
Cache-Control: max-age=30, must-revalidate
Content-Type: application/json
Etag: "7b23d63c448a863fa"
Date: Mon, 24 Feb 2020 20:53:07 GMT
Content-Length: 98

{
    "capture_body": "off",
    "transaction_max_spans": "500",
    "transaction_sample_rate": "0.3"
}