Skip to main content

Create a transaction emission estimate (single)

Parameters
namestring

A name to reference this calculation.


valuestring^[0-9]+(\.[0-9]+)?$required

An amount of money (the fractional part is optional)


currencyenumrequired

ISO 4217 3 character currency code.

Note: Lune does not support all currency codes.

Enum:
  • GBP
  • EUR
  • USD
  • SEK
  • CHF
  • PLN
  • DKK
  • NOK
  • BGN
  • INR
  • SGD
  • AED
  • AUD
  • HUF
  • ISK
  • CZK

namestring

The name of the merchant.


country_codestringrequired

The three-letter code of the merchant's country.



dietenum

A diet followed by an individual.

High meat-eater is someone consuming over 100 grams of meat per day, medium is 50-99 grams per day and low is less than 50 grams per day. A fish eater is someone that doesn't consume meat other than fish.

Enum:
  • high_meat_eater
  • medium_meat_eater
  • low_meat_eater
  • fish_eater
  • vegetarian
  • vegan

bundle_selectionarray of object

Bundle selection percentages.

The sum of all percentages must equal 100.

If not specified, the preconfigured allocation ratios are going to be used.

If, for each selection, percentage is not provided, the selection is divided equally (best effort) between bundles. percentage must be provided for all or none of the bundles.


quantity_truncenum

Unit, t for tonne, kg for kilogram, g for gram

Enum:
  • g
  • kg
  • t

metadataobject

An arbitrary dictionary (key-value pairs) to store application-specific information.

Lune doesn't use this information for order processing. Its purpose is for the API clients to be able to attach arbitrary information (to an order for example) and then retrieve it.


idempotency_keystring

Account-unique identifier provided by the client.

idempotency_key has two purposes:

  1. Clients can safely retry estimate requests without accidentally performing the same operation multiple times.
  2. Clients can use idempotency_key to reconcile estimates with entities on their system.
Returns
massobjectrequired

metadataobject

An arbitrary dictionary (key-value pairs) to store application-specific information.

Lune doesn't use this information for order processing. Its purpose is for the API clients to be able to attach arbitrary information (to an order for example) and then retrieve it.


idempotency_keystring

Account-unique identifier provided by the client.

idempotency_key has two purposes:

  1. Clients can safely retry estimate requests without accidentally performing the same operation multiple times.
  2. Clients can use idempotency_key to reconcile estimates with entities on their system.

idstringrequired

The emission calculation unique identifier


quoterequired

requestobjectrequired

Parameters for estimating emissions associated with purchasing goods or services.


emission_factorrequired

This property is null for any estimate created before 01/03/2024


search_term_matchstring

The most accurate term matching the search.

The emission factor for this term is used to compute the emission estimate.


diet_factorrequired

exchange_raterequired

exchange_rate_daterequired
  • POST /estimates/transactions
  • curl 'https://api.lune.co/v1/estimates/transactions' \
      -H 'Authorization: Bearer <API_KEY>' \
      -H 'Content-Type: application/json' \
      -X POST \
      -d '{
        "value": {
          "value": "8.99",
          "currency": "USD"
        },
        "merchant": {
          "category_code": "5818",
          "name": "Netflix",
          "country_code": "USA"
        }
      }'
      
  • Response
  • {
      "id": "04QD7GPaBx5b6Y6mJlZyONXLvrZljRE2",
      "mass": {
        "amount": "0.01388",
        "unit": "t"
      },
      "quote": {
        "estimated_quantity": "0.01388",
        "estimated_commission": "0.04",
        "estimated_total_cost": "0.38",
        "estimated_offset_cost": "0.34",
        "requested_value": null,
        "requested_quantity": "0.01388",
        "currency": "USD",
        "bundles": [
          {
            "bundle_id": "q9aKx7b6nNXMk3Yv3pD1mlW5Od2eLZE8",
            "bundle_name": "Conserving forests in Asia",
            "quantity": "0.013186",
            "unit_price": "12.8",
            "gross_unit_price": "14.22",
            "offset_cost": "0.17",
            "insufficient_available_quantity": null
          },
          {
            "bundle_id": "xWaKJL3okjD46VpJ4yGXnQNZRe1vzP0w",
            "bundle_name": "Ocean Carbon Removal",
            "quantity": "14.22",
            "unit_price": "250",
            "gross_unit_price": "277.78",
            "offset_cost": "0.17",
            "insufficient_available_quantity": null
          }
        ]
      },
      "request": {
        "value": {
          "value": "8.99",
          "currency": "USD"
        },
        "merchant": {
          "category_code": "5818",
          "name": "Netflix",
          "country_code": "USA"
        }
      },
      "diet_factor": null,
      "exchange_rate": "0.2667",
      "exchange_rate_date": "2024-01-01"
    }