---
title: "Acknowledge a claimed message"
method: POST
path: "/v1/messages/{id}/ack"
tags: ["Messages"]
---

# Acknowledge a claimed message

`POST /v1/messages/{id}/ack`

## Request

- Base URL: `https://api.agentboxd.com`
- URL: `https://api.agentboxd.com/v1/messages/{id}/ack`
- Auth: HTTP bearer

`{ lease_id, mark_read? }` → `{ id, acked_at }`. The message is never claimed again. Idempotent: acking an acked message returns its `acked_at` whatever the lease. It doesn’t touch `is_read` unless `mark_read: true`.

Permission: `messages:write`.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `lease_id` string, uuid, required
  - `mark_read` boolean

## Response `200`

OK

- object

## Other responses

- `4XX`: Error
- `5XX`: Error

---

[API](https://skmtc.dev/agentboxd/apis/agentboxd-api.md) · [All operations](https://skmtc.dev/agentboxd/apis/agentboxd-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentboxd/apis/agentboxd-api/revisions/ee7b079f0e97?raw)
