Skip to main content

Update a transaction emission estimate's annotations

This method allows updating a selection of estimate annotations without going through a full estimate update (with all the necessary inputs).

Only properties included in the input data are updated.

Path Parameters
idstringrequired

The estimate's unique identifier

Parameters
is_transactionboolean

When true, the emission estimate refers to an actual transaction for goods or services and will be included in Lune analytics and can be included in any CO2 emissions reporting.

This property exists to distinguish generic estimates, quotes or forecasts from actual transactions that have occured.

You can mark an estimate as transaction at any time.


transaction_processed_atstringdate-time

This property captures the exact date and time at which the transaction was recorded and processed.

If a value is provided when creating or updating an estimate we use the value. Otherwise defaults to the current time when creating estimates and remains unchanged when updating estimates.

This property must be formatted as RFC 3339, section 5.6 timestamp.

Examples:

  • 2023-12-01T12:30:30.000Z
  • 2023-12-01T12:30:30Z
  • 2023-12-01T11:30:30+01.00

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

emission_factorrequired

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


search_term_matchstringrequired

The most accurate term matching the search.

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


search_term_match_scorenumberfloatrequired

Populated if semantic search was used to find a match to the provided search term or category Indicates confidence in the match from 0 - 2, 0 being most confident.


diet_factorrequired

semantic_matching_modelstringrequired

The text embedding model used to support semantic search


exchange_raterequired

exchange_rate_daterequired

requestobjectrequired

Parameters for estimating emissions associated with purchasing goods or services.


external_estimate_urlrequired

An external accessible URL linking to a detailed page that provides complete information about the estimate.


is_transactionrequired

transaction_processed_atrequired
  • PATCH /estimates/transactions/{id}/annotations
  • curl 'https://api.lune.co/v1/estimates/transactions/Vxg3b7MoBkrNQA328Rgpnvmw1J8a6Lqj/annotations' \
      -H 'Authorization: Bearer <API_KEY>' \
      -H 'Content-Type: application/json' \
      -X PATCH \
      -d '{
        "is_transaction": true,
        "transaction_processed_at": "2023-07-17T14:30:00Z",
        "metadata": {
          "user_id": "u-38925d"
        }
      }'
      
  • 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"
    }