Skip to main content
POST
cURL

Authorizations

X-API-Key
string
header
required

Canonical server-to-server API key header name: X-API-Key. Partner customer applications must not use this credential. Examples must never include raw API secrets.

Headers

Idempotency-Key
string
required

Transport/request idempotency key required for delivery-emissions estimate creation, contribution confirmation, and emissions-association creation. Same key + same canonical payload returns the original result. Same key + conflicting canonical payload returns idempotency_conflict.

Non-PII transport idempotency key.

Required string length: 8 - 128
Pattern: ^[A-Za-z0-9._:-]+$
Example:

"idem_01HZX5Z9Y8X7W6V5U4T3S2R1"

X-Correlation-ID
string

Optional request correlation header. If omitted, Akhdar generates one. Every success and error response includes X-Correlation-ID. Error payloads include correlation_id.

Non-PII request correlation identifier.

Required string length: 8 - 128
Pattern: ^[A-Za-z0-9._:-]+$
Example:

"corr_7c2e9b1a4d6f8e0c"

Body

application/json
partner_event_id
string
required

Stable contribution idempotency and recovery key supplied by the partner. Distinct from partner_order_ref.

Required string length: 8 - 128
Pattern: ^[A-Za-z0-9._:-]+$
Example:

"evt_contrib_01HZX5A1B2C3D4E5F6G7H8J9"

partner_order_ref
string
required

Stable non-PII partner order correlation reference. Enforces one confirmed contribution per partner order within partner and environment. Must not contain direct personal data.

Required string length: 1 - 128
Pattern: ^[A-Za-z0-9._:-]+$
Example:

"ord_9f3c2a71"

points
integer<int64>
required

Whole-number loyalty points contributed. Minimum valid value is 1. Zero, negative, fractional, and malformed values return invalid_point_amount and do not persist a contribution. Verify the customer loyalty balance before deduction. Akhdar does not read the loyalty balance. Selected points are not linked to displayed delivery emissions.

Required range: x >= 1
Example:

500

calculation_id
string

Optional emissions estimate identifier. Missing or invalid values must not invalidate an otherwise valid contribution.

Required string length: 8 - 128
Pattern: ^[A-Za-z0-9._:-]+$
Example:

"calc_01HZX4K9M2Q8R7N6P5T4V3W2X1"

opaque_customer_ref
string

Optional opaque partner-internal customer reference. Must not contain email, phone, full name, national identifier, or other direct personal data.

Required string length: 1 - 128
Pattern: ^[A-Za-z0-9._:-]+$
Example:

"cust_ref_8a1b2c3d"

Response

Idempotent replay returned the original contribution and association outcome.

contribution
object
required
association
object
required

Closed association outcomes. associated includes link. rejected includes rejection. not_requested includes neither.

request
object
required