---
title: "Creates or Updates MeshMetric entity"
method: PUT
path: "/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshmetrics/{name}"
tags: ["MeshMetric"]
---

# Creates or Updates MeshMetric entity

`PUT /v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshmetrics/{name}`

## Path parameters

- `mesh` string, required
- `name` string, required

## Request body

- MeshMetricItem — MeshMetric enables collection and export of service mesh metrics. It configures sidecar and application metrics scraping, allows customization of which metrics are published, and supports exporting to Prometheus or OpenTelemetry backends for monitoring and observability.
  - `type` 'MeshMetric', required — the type of the resource
  - `mesh` string — Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources.
  - `kri` string — A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing
  - `name` string, required — Name of the Kuma resource
  - `labels` object — The labels to help identity resources
  - `spec` object, required — Spec is the specification of the Kuma MeshMetric resource.
    - `default` object — MeshMetric configuration.
      - `applications` object[] — Applications is a list of application that Dataplane Proxy will scrape
        - `address` string — Address on which an application listens.
        - `name` string — Name of the application to scrape
        - `path` string — Path on which an application expose HTTP endpoint with metrics.
        - `port` integer, required — Port on which an application expose HTTP endpoint with metrics.
      - `backends` object[] — Backends list that will be used to collect metrics.
        - `openTelemetry` object — OpenTelemetry backend configuration
          - `endpoint` string, required — Endpoint for OpenTelemetry collector
          - `refreshInterval` string — RefreshInterval defines how frequent metrics should be pushed to collector
        - `prometheus` object — Prometheus backend configuration.
          - `clientId` string — ClientId of the Prometheus backend. Needed when using MADS for DP discovery.
          - `path` string — Path on which a dataplane should expose HTTP endpoint with Prometheus metrics.
          - `port` integer — Port on which a dataplane should expose HTTP endpoint with Prometheus metrics.
          - `tls` object — Configuration of TLS for prometheus listener.
            - `mode` 'Disabled' | 'ProvidedTLS' | 'ActiveMTLSBackend' — Configuration of TLS for Prometheus listener.
        - `type` 'Prometheus' | 'OpenTelemetry', required — Type of the backend that will be used to collect metrics. At the moment only Prometheus backend is available.
      - `sidecar` object — Sidecar metrics collection configuration
        - `includeUnused` boolean — IncludeUnused if false will scrape only metrics that has been by sidecar (counters incremented at least once, gauges changed at least once, and histograms added to at least once). If true will scrape all metrics (even the ones with zeros). If not specified then the default value is false.
        - `profiles` object — Profiles allows to customize which metrics are published.
          - `appendProfiles` object[] — AppendProfiles allows to combine the metrics from multiple predefined profiles.
            - `name` 'All' | 'Basic' | 'None', required — Name of the predefined profile, one of: all, basic, none
          - `exclude` object[] — Exclude makes it possible to exclude groups of metrics from a resulting profile. Exclude is subordinate to Include.
            - `match` string, required — Match is the value used to match using particular Type
            - `type` 'Prefix' | 'Regex' | 'Exact' | 'Contains', required — Type defined the type of selector, one of: prefix, regex, exact
          - `include` object[] — Include makes it possible to include additional metrics in a selected profiles. Include takes precedence over Exclude.
            - `match` string, required — Match is the value used to match using particular Type
            - `type` 'Prefix' | 'Regex' | 'Exact' | 'Contains', required — Type defined the type of selector, one of: prefix, regex, exact
    - `targetRef` object — TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in-place.
      - `kind` 'Mesh' | 'MeshSubset' | 'MeshGateway' | 'MeshService' | 'MeshExternalService' | 'MeshMultiZoneService' | 'MeshServiceSubset' | 'MeshHTTPRoute' | 'Dataplane', required — Kind of the referenced resource
      - `labels` object — Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used.
      - `mesh` string — Mesh is reserved for future use to identify cross mesh resources.
      - `name` string — Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute`
      - `namespace` string — Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted.
      - `proxyTypes` string[] — ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy.
      - `sectionName` string — SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected.
      - `tags` object — Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset`
  - `creationTime` string, date-time — Time at which the resource was created
  - `modificationTime` string, date-time — Time at which the resource was updated

## Response `200`

Successful response

- object
  - `warnings` string[] — warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of.

## Other responses

- `201` — Successful response

---

[API](https://skmtc.net/kong/apis/konnect-api-beta.md) · [All operations](https://skmtc.net/kong/apis/konnect-api-beta/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kong/konnect-api-beta/versions/73b05fbfd2ef/schema)
