> ## Documentation Index
> Fetch the complete documentation index at: https://docs.airlead.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Partner confirmation

> Acknowledge or reject a delivered transaction.

# Partner confirmation

```http theme={null}
POST /api/webhooks/partner-confirmation
```

## Auth

Buyer webhook secret for the transaction’s buyer.

## Body

```json theme={null}
{
  "transactionId": "txn_...",
  "status": "acknowledged",
  "reason": "optional",
  "buyerPrice": 80
}
```

| Field               | Required         | Notes                                                           |
| ------------------- | ---------------- | --------------------------------------------------------------- |
| `transactionId`     | one of id fields | Airlead transaction id                                          |
| `externalId`        | one of id fields | alias for partner external id                                   |
| `partnerExternalId` | one of id fields | same resolution path as `externalId`                            |
| `buyerAccountId`    | no               | required to disambiguate when multiple txs share an external id |
| `status`            | yes              | `acknowledged` \| `rejected`                                    |
| `reason`            | no               |                                                                 |
| `buyerPrice`        | no               | applied on acknowledge when provided                            |

At least one of `transactionId`, `externalId`, or `partnerExternalId` is required.

## Responses

* `200` — applied (may include `alreadyApplied`, `autoStatusChangedTo`, `economicsApplied`)
* `400` — validation / transition error
* `401` / `403` — auth
* `404` — not found
* `409` — multiple transactions for external id; pass `buyerAccountId`
