---
title: "Update project"
method: PUT
path: "/internal/v1/projects/{project_id}"
tags: ["Projects"]
---

# Update project

`PUT /internal/v1/projects/{project_id}`

Update project settings.

## Path parameters

- `project_id` integer, required

## Request body

- ProjectCreateRequest
  - `name` string, required
  - `groupByEnv` boolean
  - `groupFuncsByService` boolean
  - `semconvVersion` 'none' | 'v1.25.0' | 'v1.33.0'
  - `displayLogSeverity` boolean
  - `countDistinct` boolean
  - `spanTimeRange` number, double — Duration in milliseconds (e.g., 86400000 for 24h).
  - `logTimeRange` number, double — Duration in milliseconds (e.g., 86400000 for 24h).
  - `eventTimeRange` number, double — Duration in milliseconds (e.g., 86400000 for 24h).
  - `spanRetention` number, double — Duration in milliseconds (e.g., 2592000000 for 720h).
  - `logRetention` number, double — Duration in milliseconds (e.g., 2592000000 for 720h).
  - `eventRetention` number, double — Duration in milliseconds (e.g., 2592000000 for 720h).
  - `metricRetention` number, double — Duration in milliseconds (e.g., 2592000000 for 720h).

## Response `200`

Project updated.

- ProjectResponse
  - `project` Project, required — A project within an organization.
    - `id` integer, required
    - `orgId` integer
    - `name` string, required
    - `samplingMode` 'org_wide' | 'dynamic' | 'disabled' | 'fixed'
    - `samplingFraction` number
    - `samplingBudget` number
    - `suspended` boolean
    - `groupByEnv` boolean
    - `groupFuncsByService` boolean
    - `semconvVersion` 'none' | 'v1.25.0' | 'v1.33.0'
    - `displayLogSeverity` boolean
    - `countDistinct` boolean
    - `spanQuery` string
    - `spanColumns` string[]
    - `spanTimeRange` number, double — Duration in milliseconds (e.g., 86400000 for 24h).
    - `spanRetention` number, double — Duration in milliseconds (e.g., 2592000000 for 720h).
    - `logQuery` string
    - `logColumns` string[]
    - `logTimeRange` number, double — Duration in milliseconds (e.g., 86400000 for 24h).
    - `logRetention` number, double — Duration in milliseconds (e.g., 2592000000 for 720h).
    - `eventQuery` string
    - `eventColumns` string[]
    - `eventTimeRange` number, double — Duration in milliseconds (e.g., 86400000 for 24h).
    - `eventRetention` number, double — Duration in milliseconds (e.g., 2592000000 for 720h).
    - `traceQuery` string
    - `traceColumns` string[]
    - `traceTimeRange` number, double — Duration in milliseconds (e.g., 86400000 for 24h).
    - `metricRetention` number, double — Duration in milliseconds (e.g., 2592000000 for 720h).
    - `createdAt` number — Unix timestamp in nanoseconds.
    - `updatedAt` number — Unix timestamp in nanoseconds.
    - `orgName` string
    - `mfaRequired` boolean

## Other responses

- `400` — Invalid request
- `401` — Authentication required
- `404` — Resource not found
- `500` — Internal server error

---

[API](https://skmtc.net/uptrace/apis/uptrace-json-api.md) · [All operations](https://skmtc.net/uptrace/apis/uptrace-json-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/uptrace/uptrace-json-api/revisions/550c8881ab9a/schema)
