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

# Creates or Updates MeshAccessLog entity

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

## Request

- Base URL: `https://global.api.konghq.com`
- URL: `https://global.api.konghq.com/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshaccesslogs/{name}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

## Path parameters

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

## Request body

- MeshAccessLogItem: MeshAccessLog configures access logging for traffic between services in the mesh. It allows you to capture and export request/response logs to various backends (file, TCP, or OpenTelemetry) for monitoring, debugging, and auditing purposes.
  - `type` 'MeshAccessLog', 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 MeshAccessLog resource.
    - `from` object[]: From list makes a match between clients and corresponding configurations
      - `default` object, required: Default is a configuration specific to the group of clients referenced in 'targetRef'
        - `backends` object[]
          - `file` object: FileBackend defines configuration for file based access logs
            - `format` object: Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators
              - …
            - `path` string, required: Path to a file that logs will be written to
          - `openTelemetry` object: Defines an OpenTelemetry logging backend.
            - `attributes` object[]: Attributes defines custom OpenTelemetry attributes. Keys must be static OpenTelemetry attribute names. Values can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators
              - …
            - `backendRef` object: BackendRef is a reference to a MeshOpenTelemetryBackend resource that defines the collector endpoint. Mutually exclusive with Endpoint.
              - …
            - `body` unknown
            - `endpoint` string: Endpoint of OpenTelemetry collector. An empty port defaults to 4317. Deprecated: use BackendRef instead.
          - `tcp` object: TCPBackend defines a TCP logging backend.
            - `address` string, required: Address of the TCP logging backend
            - `format` object: Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators
              - …
          - `type` 'Tcp' | 'File' | 'OpenTelemetry', required
      - `targetRef` object, required: TargetRef is a reference to the resource that represents a group of clients.
        - `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`
    - `rules` object[]: Rules defines inbound access log configurations.
      - `default` object, required: Default contains configuration of the inbound access logging
        - `backends` object[]
          - `file` object: FileBackend defines configuration for file based access logs
            - `format` object: Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators
              - …
            - `path` string, required: Path to a file that logs will be written to
          - `openTelemetry` object: Defines an OpenTelemetry logging backend.
            - `attributes` object[]: Attributes defines custom OpenTelemetry attributes. Keys must be static OpenTelemetry attribute names. Values can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators
              - …
            - `backendRef` object: BackendRef is a reference to a MeshOpenTelemetryBackend resource that defines the collector endpoint. Mutually exclusive with Endpoint.
              - …
            - `body` unknown
            - `endpoint` string: Endpoint of OpenTelemetry collector. An empty port defaults to 4317. Deprecated: use BackendRef instead.
          - `tcp` object: TCPBackend defines a TCP logging backend.
            - `address` string, required: Address of the TCP logging backend
            - `format` object: Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators
              - …
          - `type` 'Tcp' | 'File' | 'OpenTelemetry', required
      - `matches` object[]: Matches defines a list of conditions (by SpiffeID or SNI) that select the traffic this rule applies to. Rules fire independently: a connection that satisfies multiple rules is logged to every matching rule's backends.
        - `sni` object: SNI defines a matcher configuration for matching by SNI value carried on the TLS connection
          - `type` 'Exact', required: Type defines how to match traffic by SNI. Only `Exact` is supported.
          - `value` string, required: Value is the SNI carried on the TLS connection that needs to match for the configuration to be applied
        - `spiffeID` object: SpiffeID defines a matcher configuration for SpiffeID matching
          - `type` 'Exact' | 'Prefix', required: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed.
          - `value` string, required: Value is SpiffeID of a client that needs to match for the configuration to be applied
    - `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`
    - `to` object[]: To list makes a match between the consumed services and corresponding configurations
      - `default` object, required: Default is a configuration specific to the group of destinations referenced in 'targetRef'
        - `backends` object[]
          - `file` object: FileBackend defines configuration for file based access logs
            - `format` object: Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators
              - …
            - `path` string, required: Path to a file that logs will be written to
          - `openTelemetry` object: Defines an OpenTelemetry logging backend.
            - `attributes` object[]: Attributes defines custom OpenTelemetry attributes. Keys must be static OpenTelemetry attribute names. Values can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators
              - …
            - `backendRef` object: BackendRef is a reference to a MeshOpenTelemetryBackend resource that defines the collector endpoint. Mutually exclusive with Endpoint.
              - …
            - `body` unknown
            - `endpoint` string: Endpoint of OpenTelemetry collector. An empty port defaults to 4317. Deprecated: use BackendRef instead.
          - `tcp` object: TCPBackend defines a TCP logging backend.
            - `address` string, required: Address of the TCP logging backend
            - `format` object: Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators
              - …
          - `type` 'Tcp' | 'File' | 'OpenTelemetry', required
      - `targetRef` object, required: TargetRef is a reference to the resource that represents a group of destinations.
        - `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
  - `status` object: Status is the current status of the Kuma MeshAccessLog resource.
    - `conditions` object[]
      - `message` string, required: message is a human readable message indicating details about the transition. This may be an empty string.
      - `reason` string, required: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
      - `status` 'True' | 'False' | 'Unknown', required: status of the condition, one of True, False, Unknown.
      - `type` string, required: type of condition in CamelCase or in foo.example.com/CamelCase.

## 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

## Changes

- **2026-08-18** `658ffb748f95`: 3 breaking, 13 info
  - added the pattern `^[a-z]([a-z0-9]|[._][a-z0-9])*$` to the request property `spec/from/items/default/backends/items/openTelemetry/attributes/items/key`
  - added the pattern `^[a-z]([a-z0-9]|[._][a-z0-9])*$` to the request property `spec/rules/items/default/backends/items/openTelemetry/attributes/items/key`
  - added the pattern `^[a-z]([a-z0-9]|[._][a-z0-9])*$` to the request property `spec/to/items/default/backends/items/openTelemetry/attributes/items/key`
  - added the new optional request property `spec/from/items/default/backends/items/openTelemetry/backendRef`
  - …12 more
- **2025-08-12** `b2800570b3e2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/kong/apis/konnect-api-beta/changes/v1/mesh/control-planes/:cpId/api/meshes/:mesh/meshaccesslogs/:name/put.md)

---

[API](https://skmtc.dev/kong/apis/konnect-api-beta.md) - [All operations](https://skmtc.dev/kong/apis/konnect-api-beta/llms.txt) - [OpenAPI document](https://skmtc.dev/kong/apis/konnect-api-beta/revisions/cef0f947e9c9?raw)
