---
title: "Mark one rejected datagram as seen (owner/admin)"
method: POST
path: "/v1/projects/{project_id}/udp/rejects/{reject_id}/ack"
tags: ["udp"]
---

# Mark one rejected datagram as seen (owner/admin)

`POST /v1/projects/{project_id}/udp/rejects/{reject_id}/ack`

## Request

- Base URL: `https://api.wavehouse.cloud`
- URL: `https://api.wavehouse.cloud/v1/projects/{project_id}/udp/rejects/{reject_id}/ack`
- Auth: one of:
  - API key in cookie `whc_session`
  - HTTP bearer
  - API key in header `X-API-Key`

Acknowledging is bookkeeping ONLY: it moves the row out of the unacknowledged group so the list shows what is still unexamined. It does not retry, repair or ingest anything — nothing replays a parked datagram, so the repair is to fix the payload and send it again. IDEMPOTENT: a second ack keeps the first instant and still succeeds.

## Path parameters

- `project_id` string, required
- `reject_id` string, required

## Response `200`

OK

- UDPRejectView
  - `acknowledged_at` string, date-time: absent while unacknowledged
  - `device_id` string, required: 16 hex characters
  - `engine_detail` string: the engine's own message, when it is what refused
  - `id` string, required
  - `payload` string, byte, required: base64 of the PLAINTEXT bytes as published — what the device actually sent
  - `reason` string, required
  - `received_at` string, date-time, required: when the edge accepted the datagram
  - `stage` string, required: inflate | content-type | engine — where delivery stopped

## Other responses

- `429`: Rate limited, per client IP, API key or org; a client IP is also refused on every route for a while after repeated authentication failures. A limited operation carries RateLimit-Policy and RateLimit on every response; wait Retry-After seconds before retrying.
- `default`: Error

---

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