---
title: "Create an Acknowledgment"
method: POST
path: "/transactions/{compositeTransactionId}/acknowledgment"
tags: ["Transaction"]
---

# Create an Acknowledgment

`POST /transactions/{compositeTransactionId}/acknowledgment`

## Request

- Base URL: `https://api.orderful.com`
- URL: `https://api.orderful.com/transactions/{compositeTransactionId}/acknowledgment`
- Auth: API key in header `orderful-api-key`
- TypeScript: <https://skmtc.dev/orderful/apis/orderful-api/docs/transactions/:compositeTransactionId/acknowledgment/post.ts> (a function with typed inputs; its response is checked against the schema)

Acknowledges an inbound Transaction as `ACCEPTED` or `REJECTED`.

Every inbound delivery gives you what you need for this call — in the body pushed to your <a href="https://docs.orderful.com/docs/inbound-http" target="_blank">Inbound HTTP Communication Channel</a> and in each item returned by <a href="https://docs.orderful.com/reference/inboxcontroller_list" target="_blank">Inbox</a>. Either use the payload's `id` field as the `compositeTransactionId`, or POST straight to the finished URL in `transaction.acknowledgment.href` — they refer to the same Transaction. You can also find the Transaction — and its ready-built `links.acknowledgment` URL — with <a href="https://docs.orderful.com/reference/transactionv4controller_listtransactions" target="_blank">List Transactions</a>.

**`integrationPayloadId` is a different identifier and will not work here.**

Acknowledgments can only be sent once — a Transaction that is already `ACCEPTED` or `REJECTED` returns `400`. This endpoint applies to Relationships that trade JSON; X12 and EDIFACT Relationships acknowledge through a 997 Functional Acknowledgment instead.

## Path parameters

- `compositeTransactionId` string, uuid, required

## Headers

- `orderful-api-key` string, required
- `orderful-api-version` string, required

## Request body

- SetCompositeTransactionAcknowledgmentRequestDto
  - `status` 'ACCEPTED' | 'REJECTED', required: Whether the received Transaction is accepted or rejected.
  - `errors` TransactionErrorMessageV3Dto[]: Errors explaining a rejection. Only freeform (`00`) messages at the `/message` path are supported today.
    - `path` string, required: The path where the error occurred.
    - `code` string, required: Error code.
    - `message` string, required: Error message.

## Response `201`

Acknowledgment created successfully.

## Other responses

- `400`: The `compositeTransactionId` is not a UUID, `status` is not `ACCEPTED` or `REJECTED`, the Transaction has already been acknowledged, or the Relationship trades X12/EDIFACT rather than JSON.
- `403`: Your organization is not the receiver of this Transaction. Only the receiver can acknowledge it.
- `404`: Transaction not found, or the `orderful-api-version: v4` header is missing.

## Changes

- **2026-11-03** `fe0e82430746`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/orderful/apis/orderful-api/changes/transactions/:compositeTransactionId/acknowledgment/post.md)

---

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