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

> ## Agent Instructions
> Use {baseUrl} for the environment-specific base URL provided to the partner integration team. Do not invent an API hostname.
> x-akhdar-* fields are publication provenance only. Do not treat them as partner integration instructions.

# Confirm a loyalty-points contribution

> Confirms a loyalty-points contribution after you have successfully deducted the customer's
points. `Idempotency-Key` is required.

**Identities**
- `partner_event_id` is the contribution uniqueness and recovery key.
- `partner_order_ref` is the stable non-PII order correlation. Only one confirmed
  contribution is allowed per partner, environment, and order.
- `calculation_id` is optional. A missing or invalid value must not fail an otherwise
  valid contribution.

**Idempotency**
- The same `partner_event_id` or `Idempotency-Key` with the same payload returns the
  original result. A conflicting payload returns a conflict.
- After a timeout, retry the same request. Do not create a second contribution for the
  same order.

**Points and statuses**
- `points` must be a positive whole number (minimum `1`). Invalid shape returns
  `invalid_point_amount` and does not persist a contribution.
- Statuses are `pending` (exceptional, non-final), `confirmed` (terminal, non-refundable),
  and `failed` (terminal). `confirmed` and `failed` do not interchange.
- Restore points only after a terminal `failed` result. Do not restore points for
  `pending`, timeout, unknown result, or `contribution_not_found`.
- Recover by `partner_event_id`. See [Errors & Recovery](/errors-and-recovery).

Association failure is non-fatal: the contribution remains confirmed.




## API Specification

The full API specification for this endpoint is available in the [documentation index](https://docs.akhdar-sa.com/llms.txt).
