---
title: "Update Serverless Function"
method: PUT
path: "/serverless-function/{id}"
tags: ["Serverless Function"]
---

# Update Serverless Function

`PUT /serverless-function/{id}`

## Request

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

Endpoint to update an existing Serverless Function

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `data` ServerlessFunctionUpdateSchema, required: Update schema for ServerlessFunction model. Update
    - `name` string: Friendly name for this serverless function. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `description` string: Friendly description that will help you remember. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `labels` object[]: Labels to group and filter by. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
      - `id` string
    - `retainTelemetryDataForDays` number: Number of days to retain telemetry data for this function. Leave blank to use the project-wide default. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `telemetryRetentionConfig` object: Per-pillar retention overrides for this function. Unset fields fall back to the function default, then the project's retention settings. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `isArchived` boolean: Is this serverless function archived? Archived serverless functions are hidden from lists but keep collecting telemetry. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]

## Response `200`

Updated successfully

- object
  - `data` ServerlessFunctionReadSchema: Read schema for ServerlessFunction model. Read
    - `_id` string, uuid: ID of this object. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `createdAt` object: Date and Time when the object was created. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `updatedAt` object: Date and Time when the object was updated. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `deletedAt` object: Date and Time when the object was deleted. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `projectId` string, uuid: ID of your OneUptime Project in which this object belongs. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `name` string, required: Friendly name for this serverless function. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `slug` string: Friendly globally unique name for your object. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `description` string: Friendly description that will help you remember. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `functionIdentifier` string, required: Stable identifier from the faas.name OpenTelemetry resource attribute. Identity key for this function. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `cloudPlatform` string: Last-seen cloud.platform OpenTelemetry resource attribute, e.g. aws_lambda, gcp_cloud_functions, azure_functions. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `cloudProvider` string: Last-seen cloud.provider OpenTelemetry resource attribute, e.g. aws, gcp, azure. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `cloudRegion` string: Last-seen cloud.region OpenTelemetry resource attribute, e.g. us-east-1. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `cloudAccountId` string: Last-seen cloud.account.id OpenTelemetry resource attribute. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `functionVersion` string: Last-seen faas.version OpenTelemetry resource attribute. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `runtimeName` string: Last-seen process.runtime.name OpenTelemetry resource attribute. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `runtimeVersion` string: Last-seen process.runtime.version OpenTelemetry resource attribute. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `otelCollectorStatus` string: Whether telemetry is currently being received (connected) or has gone stale (disconnected). Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `agentVersion` string: Version of the OneUptime agent reporting this function. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `lastSeenAt` object: When telemetry was last received for this function. Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `labels` object[]: Labels to group and filter by. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
      - `id` string
    - `retainTelemetryDataForDays` number: Number of days to retain telemetry data for this function. Leave blank to use the project-wide default. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `telemetryRetentionConfig` object: Per-pillar retention overrides for this function. Unset fields fall back to the function default, then the project's retention settings. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `createdByUserId` string, uuid: User ID who created this object (if this object was created by a User). Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `isArchived` boolean: Is this serverless function archived? Archived serverless functions are hidden from lists but keep collecting telemetry. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Serverless Function], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Serverless Function]
    - `archivedAt` object: When was this serverless function archived? Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `archivedByUserId` string, uuid: User ID who archived this object (if this object was archived by a User). Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], Update: [No access - you don't have permission for this operation]
    - `deletedByUserId` string, uuid: User ID who deleted this object (if this object was deleted by a User). Permissions - Create: [No access - you don't have permission for this operation], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Serverless Function], 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)
