---
title: "Bulk-acknowledge Fulfillments"
method: POST
path: "/me/fulfillments/ack"
tags: ["fulfillments"]
---

# Bulk-acknowledge Fulfillments

`POST /me/fulfillments/ack`

## Request

- Base URL: `https://api.instruxi.dev/api/v1/enforcer`
- URL: `https://api.instruxi.dev/api/v1/enforcer/me/fulfillments/ack`
- Auth: API key in header `Authorization`

Set/clear the caller's read-receipt (type=seen, default) or the receiver paid attestation (type=paid) on a list of fulfillment ids in one request. Ownership is enforced per id; ids the caller isn't a party to are skipped. acknowledged defaults to true.

## Request body

- InternalDeliveryHttpHandlerBulkAckFulfillmentsRequest
  - `acknowledged` boolean: Acknowledged defaults to true (POST /ack means "mark"); pass false to clear. Idempotent set/clear, not a toggle.
  - `ids` string[]
  - `type` string: "seen" (default) | "paid"

## Response `200`

OK

- InternalDeliveryHttpHandlerBulkAckFulfillmentsResponse
  - `data` InternalDeliveryHttpHandlerBulkAckResult
    - `skipped` integer
    - `updated` integer
  - `success` boolean

## Other responses

- `400`: Bad Request
- `401`: Unauthorized

---

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