---
# @generated by sylphx-gen 0.1.0 from contracts@e145cc7cf1bc9605f2b27439e5e17ed76a1a2fd7e7021906a013f7565e4a0cd5. Do not edit.
title: "Nack a queue"
description: "`events.queues.nack` (POST /v1/{name}:nack): Returns leased messages to the Queue after `delay`; each nack counts as a delivery."
type: reference
product: queues
summary: "Returns leased messages to the Queue after `delay`; each nack counts as a delivery."
updated: 2026-09-28
nav: false
---

> **This method is not served on the public API.** `api.sylphx.com` does not route this call: its backend is not deployed behind the public API, or does not implement the call. This page documents the contract. It is kept out of the sidebar and of search engines.

Returns leased messages to the Queue after `delay`; each nack counts as a delivery.

- **Path** `POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/queues/queue:nack`
- **Scope** `events:write`
- **Effect** `write` — a successful call changes state.
- **Collection** [queues](/docs/api/queues)

## Request

| Field | Type | What it is |
| --- | --- | --- |
| `name` | `string` | The name of the queue. Required. |
| `leases` | `MessageLease[]` | The leases to nack, at most 100. Required. |
| `delay` | `duration` | Hide the messages this long before the next lease. |

### MessageLease

| Field | Type | What it is |
| --- | --- | --- |
| `message_id` | `string` | The message id. Required. |
| `lease_generation` | `int64` | The lease fence: the lease generation this holder was granted. Required. |

## Response

| Field | Type | What it is |
| --- | --- | --- |
| `stale_leases` | `MessageLease[]` | Leases that were stale and not applied. |

### MessageLease

| Field | Type | What it is |
| --- | --- | --- |
| `message_id` | `string` | The message id. Required. |
| `lease_generation` | `int64` | The lease fence: the lease generation this holder was granted. Required. |

## Errors

- [`UNAUTHENTICATED`](/docs/api/errors/UNAUTHENTICATED) — No valid key or token was presented.
- [`PERMISSION_DENIED`](/docs/api/errors/PERMISSION_DENIED) — The key lacks the method's permission.
- [`RESOURCE_NOT_FOUND`](/docs/api/errors/RESOURCE_NOT_FOUND) — The named Resource does not exist or is not visible.
- [`INVALID_FIELD`](/docs/api/errors/INVALID_FIELD) — A field failed validation.

Every error arrives in the body [Errors](/docs/platform/errors) describes.

## Examples

**cURL**

```curl
curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/queues/queue:nack" \
  -H "Authorization: Bearer $SYLPHX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"leases":[{"lease_generation":1,"message_id":"…"}]}'
```

**TypeScript**

```ts
const response = await sylphx.events.queues.nack({ leases: [{ leaseGeneration: 1, messageId: '…' }], name: 'orgs/acme/projects/shop/envs/production/queues/queue' })
```

**Rust**

```rust
let mut req = sylphx::events::NackQueueMessagesRequest::default();
req.leases = vec![Default::default()];
req.name = "orgs/acme/projects/shop/envs/production/queues/queue".to_string();
let response = sx.events().queues().nack(req).await?;
```

**CLI**

```bash
sylphx events queues nack orgs/acme/projects/shop/envs/production/queues/queue
```

**MCP**

```json
{ "method_id": "events.queues.nack", "args": {"leases":[{"lease_generation":1,"message_id":"…"}],"name":"orgs/acme/projects/shop/envs/production/queues/queue"} }
```
