---
title: "Update Queue"
method: PUT
path: "/message-queue/{id}"
tags: ["Queue"]
---

# Update Queue

`PUT /message-queue/{id}`

## Request

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

Endpoint to update an existing Queue

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `data` MessageQueueUpdateSchema, required: Update schema for MessageQueue model. Update
    - `name` string: Name of this queue. Discovered queues are named after their destination, e.g. orders.created. Not unique - two brokers may each have a queue of the same name. Rename freely. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
    - `description` string: Friendly description for this queue. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
    - `isArchived` boolean: Is this queue archived? Archived queues are hidden from lists but their telemetry is still collected. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
    - `labels` object[]: Labels to group and filter by. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
      - `id` string

## Response `200`

Updated successfully

- object
  - `data` MessageQueueReadSchema: Read schema for MessageQueue model. Read
    - `_id` string, uuid: ID of this object. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
    - `createdAt` object: Date and Time when the object was created. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
    - `updatedAt` object: Date and Time when the object was updated. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
    - `deletedAt` object: Date and Time when the object was deleted. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
    - `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 Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [No access - you don't have permission for this operation]
    - `name` string, required: Name of this queue. Discovered queues are named after their destination, e.g. orders.created. Not unique - two brokers may each have a queue of the same name. Rename freely. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
    - `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 Queue], Update: [No access - you don't have permission for this operation]
    - `description` string: Friendly description for this queue. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
    - `queueIdentifier` string, required: Stable identity of this queue within the project: the messaging system's identity family, the broker scope (the Azure Service Bus / Event Hubs namespace, empty for every other system) and the destination, canonicalized and joined with '|' (e.g. kafka||orders.created, servicebus|orders-prod|orders). An ActiveMQ queue keys as jms, like the JMS clients that use it, so both are one queue. Computed by the server for manually added queues. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [No access - you don't have permission for this operation]
    - `messagingSystem` string, required: The broker this queue lives on, as an OpenTelemetry messaging.system value, e.g. kafka, rabbitmq, activemq, jms, aws_sqs, aws.sns, gcp_pubsub, servicebus, eventhubs, pulsar, rocketmq, nats or bullmq. A queue first seen through JMS is refined to its broker (activemq) once that broker's metrics are seen. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [No access - you don't have permission for this operation]
    - `destinationName` string, required: The queue, topic or subscription name as applications and the broker name it (the OpenTelemetry messaging.destination.name value), normalized the way discovery normalizes it: an SQS queue URL or an SNS topic ARN becomes its name, a Pub/Sub resource path its id, a Pulsar short name its persistent://public/default/ topic, and each UUID {uuid}. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [No access - you don't have permission for this operation]
    - `brokerScope` string: The Azure Service Bus or Event Hubs namespace this queue lives in, lowercased (the first part of <namespace>.servicebus.windows.net). Part of the queue's identity, because two namespaces can each hold a queue of the same name. Empty for every other messaging system. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [No access - you don't have permission for this operation]
    - `brokerAddress` string: The broker address (host[:port]) last reported for this queue by its telemetry, with any credentials removed. Display only - it is not part of the queue's identity. 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 Queue], Update: [No access - you don't have permission for this operation]
    - `discoverySource` string: How this queue was first discovered: traces (messaging spans of instrumented applications), broker-metrics (the broker's own metrics) or manual. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [No access - you don't have permission for this operation]
    - `lastSeenAt` object: When this queue was last seen by any discovery source - application messaging spans or broker metrics. 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 Queue], Update: [No access - you don't have permission for this operation]
    - `brokerMetricsLastSeenAt` object: When the broker's own metrics for this queue (backlog, lag, dead letters, ...) were last received. Empty when they never were. 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 Queue], Update: [No access - you don't have permission for this operation]
    - `autoArchivedAt` object: When this queue was archived automatically because no discovery source had seen it for a while. Empty when it was archived by a person or is not 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 Queue], Update: [No access - you don't have permission for this operation]
    - `manuallyRestoredAt` object: When a person last restored this queue from the archive. Automatic archiving leaves it alone until it is seen again or a grace period passes. 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 Queue], Update: [No access - you don't have permission for this operation]
    - `automaticAssignments` object: Label and owner ids that label rules or owner rules attached automatically. Maintained by OneUptime. 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 Queue], Update: [No access - you don't have permission for this operation]
    - `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 Queue], Update: [No access - you don't have permission for this operation]
    - `isArchived` boolean: Is this queue archived? Archived queues are hidden from lists but their telemetry is still collected. Permissions - Create: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Create Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
    - `archivedAt` object: When was this queue 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 Queue], 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 Queue], 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 Queue], 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 Queue], Read: [Project Owner, Project Admin, Project Member, Viewer, Settings Admin, Settings Member, Settings Viewer, Read Queue], Update: [Project Owner, Project Admin, Project Member, Settings Admin, Settings Member, Edit Queue]
      - `id` string

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