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_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"

distance_km
string
required

Partner-supplied estimated route distance in kilometres as a decimal string. Validation rules:

  • Positive decimal-string values only
  • 0 < distance_km <= 200
  • Maximum three decimal places
  • Maximum value exactly 200
  • 200, 200.0, 200.00, and 200.000 are valid
  • Values above 200 are invalid
  • Reject excess precision rather than silently round Trailing-zero numeric equivalence is preserved for values within range (5, 5.0, 5.000).
Pattern: ^(?:0\.(?!0+$)\d{1,3}|(?:[1-9]|[1-9]\d|1\d{2})(?:\.\d{1,3})?|200(?:\.0{1,3})?)$
Example:

"7.400"

distance_unit
enum<string>
required

Distance unit. Kilometres only.

Available options:
km
Example:

"km"

vehicle_category
enum<string>
required

Exact supported vehicle categories. Aliases, inferred vehicles, and defaults are not accepted.

Available options:
motorcycle_gasoline,
car_gasoline
Example:

"motorcycle_gasoline"

order_context_at
string<date-time>

Optional partner-supplied order context timestamp. Omission does not block estimate creation. Included in the estimate idempotency hash only when supplied.

Example:

"2026-08-03T12:00:00.000Z"

Response

Idempotent replay of the same estimate-creating request returned the original estimate. Same authenticated partner, environment, Idempotency-Key, and canonical request-body hash return the original estimate.

estimate
object
required
association
object
required

Association outcome when estimate creation also evaluates association to an existing confirmed contribution for the same partner_order_ref. not_requested when no confirmed contribution was available at create time.

request
object
required