---
title: "Update Log Recording Rule"
method: PUT
path: "/log-recording-rule/{id}"
tags: ["Log Recording Rule"]
---

# Update Log Recording Rule

`PUT /log-recording-rule/{id}`

## Request

- Base URL: `https://oneuptime.com/api`
- URL: `https://oneuptime.com/api/log-recording-rule/{id}`
- Auth: API key in header `APIKey`
- TypeScript: <https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification/docs/log-recording-rule/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

Endpoint to update an existing Log Recording Rule

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `data` LogRecordingRuleUpdateSchema, required: Update schema for LogRecordingRule model. Update
    - `name` string: Friendly name for this rule. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `description` string: What this recording rule computes and why. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `outputMetricName` string: Name of the new metric this rule writes (e.g. sdwan.gateway.latency.ms). Leave it out and it is made from the rule's name - SD-WAN gateway latency becomes sd_wan_gateway_latency, with _2, _3 and so on added when another recording rule of the project already writes it. Keep it unique per project. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `definition` object: Which logs count (filter: telemetryServiceIds, severityTexts, body, attributeFilters), how they are aggregated (aggregationType: Count, or Sum / Avg / Min / Max / P50 / P75 / P90 / P95 / P99 of the numeric valueAttribute), the optional groupByAttributes (up to 5 attribute keys) and the output metric's unit. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `isEnabled` boolean: Whether this rule is evaluated by the log recording rule cron, every minute. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]

## Response `200`

Updated successfully

- object
  - `data` LogRecordingRuleReadSchema: Read schema for LogRecordingRule model. Read
    - `_id` string, uuid: ID of this object. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `createdAt` object: Date and Time when the object was created. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `updatedAt` object: Date and Time when the object was updated. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `deletedAt` object: Date and Time when the object was deleted. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `projectId` string, uuid: ID of the project this recording rule belongs to. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [No access - you don't have permission for this operation]
    - `name` string, required: Friendly name for this rule. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `description` string: What this recording rule computes and why. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `outputMetricName` string: Name of the new metric this rule writes (e.g. sdwan.gateway.latency.ms). Leave it out and it is made from the rule's name - SD-WAN gateway latency becomes sd_wan_gateway_latency, with _2, _3 and so on added when another recording rule of the project already writes it. Keep it unique per project. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `definition` object: Which logs count (filter: telemetryServiceIds, severityTexts, body, attributeFilters), how they are aggregated (aggregationType: Count, or Sum / Avg / Min / Max / P50 / P75 / P90 / P95 / P99 of the numeric valueAttribute), the optional groupByAttributes (up to 5 attribute keys) and the output metric's unit. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `isEnabled` boolean: Whether this rule is evaluated by the log recording rule cron, every minute. Permissions - Create: [Project Owner, Project Admin, Create Log Recording Rule], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [Project Owner, Project Admin, Edit Log Recording Rule]
    - `computedUntil` object: The end of the last minute this rule has written into its metric. Null means it has not run yet. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [No access - you don't have permission for this operation]
    - `createdByUserId` string, uuid: ID of the user who created this rule. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [No access - you don't have permission for this operation]
    - `deletedByUserId` string, uuid: ID of the user who deleted this rule. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Telemetry Admin, Telemetry Member, Telemetry Viewer, Read Log Recording Rule], Update: [No access - you don't have permission for this operation]

## Other responses

- `400`: Bad request. This response indicates that the request was malformed or contained invalid data.
- `401`: Unauthorized. This response indicates that the request requires user authentication.
- `402`: Payment Required. This response indicates that the request requires payment or a valid subscription.
- `403`: Forbidden. This response indicates that the server understood the request, but refuses to authorize it.
- `404`: Not found. The record does not exist, belongs to another project, or is one you may not read - the same answer for each.
- `405`: Project not found. This response indicates that the requested project does not exist or is not accessible.
- `408`: Request Timeout. This response indicates that the server timed out waiting for the request.
- `415`: Unable to reach server. This response indicates that the server is currently unreachable or down.
- `422`: Not authorized. This response indicates that the user does not have permission to access the requested resource.
- `500`: Internal Server Error. This response indicates that the server encountered an unexpected condition that prevented it from fulfilling the request.

---

[API](https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification.md) - [All operations](https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/oneuptime/apis/oneuptime-openapi-specification/revisions/ba3307d00304?raw)
