> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vzaps.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Queues

> Inspect and manage message and operation queues with the Go SDK

Use `client.Queues` to monitor pending messages and operations for an instance.

Common fields on every call:

| Field           | Type     | Required | Description     |
| --------------- | -------- | -------- | --------------- |
| `InstanceID`    | `string` | Yes      | Instance ID.    |
| `InstanceToken` | `string` | Yes      | Instance token. |

## `Queues.ListMessages(ctx, req)`

Lists the pending message queue.

```go theme={null}
messages, err := client.Queues.ListMessages(ctx, vzaps.QueueRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
})
fmt.Printf("%#v\n", messages)
```

**Return:** envelope `{ code, success, data }` with `count` and `messages[]` (`id`, `type`, `status`, etc.).

## `Queues.RemoveMessage(ctx, req)`

Removes one specific message from the queue.

```go theme={null}
_, err := client.Queues.RemoveMessage(ctx, vzaps.QueueMessageRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
	MessageID: "queue-message-id",
})
```

**Return:** envelope `{ code, success, data }` with `message_id`, `count`, `details`.

## `Queues.PurgeMessages(ctx, req)`

<Warning>
  Removes all pending items from the message queue. Use only when you are sure.
</Warning>

```go theme={null}
_, err := client.Queues.PurgeMessages(ctx, vzaps.QueueRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
})
```

**Return:** envelope `{ code, success, data }` with removed `count`.

## `Queues.ListOperations(ctx, req)`

Lists the pending operation queue.

```go theme={null}
operations, err := client.Queues.ListOperations(ctx, vzaps.QueueRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
})
fmt.Printf("%#v\n", operations)
```

**Return:** envelope `{ code, success, data }` with pending operations queue.

## `Queues.RemoveOperation(ctx, req)`

Removes one specific operation from the queue.

```go theme={null}
_, err := client.Queues.RemoveOperation(ctx, vzaps.QueueMessageRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
	MessageID: "queue-operation-id",
})
```

**Return:** envelope `{ code, success, data }` with `message_id`, `count`, `details`.

## `Queues.PurgeOperations(ctx, req)`

<Warning>
  Removes all pending items from the operation queue. Use only when you are sure.
</Warning>

```go theme={null}
_, err := client.Queues.PurgeOperations(ctx, vzaps.QueueRequest{
	InstanceScopedRequest: vzaps.InstanceScopedRequest{
		InstanceID:    "VZ...",
		InstanceToken: "instance-token",
	},
})
```

**Return:** envelope `{ code, success, data }` with removed `count`.
