# v18 (deprecated)

### Status

<mark style="color:red;">`Deprecated`</mark>  May 11, 2026; will become <mark style="color:red;">`Retired`</mark>  August 11, 2026

### Summary

This stable release streamlines the API around seller listing based orders, unifies retirement IDs across chains, and adds read-only retirement query support on Base. It removes legacy carbon pools and product order types to simplify integration going forward.

### Release notes

#### **General**

* Removed support for carbon pool and product orders - the API now exclusively supports seller listing based orders.
* Updated retirement endpoints to use a unified retirement ID format that works across chains.
* Introduced support for Base network chain read only retirement queries (no support for performing retirements yet).

#### **Endpoints updated**

**GET** `/retirements`

* Now searches both Polygon and Base chain retirements, returning results from both chains.

**GET** `/retirements/:beneficiaryAddress/:retirementIndex`

* \[⚠️ BREAKING CHANGE] This endpoint has been replaced by **GET** `/retirements/:id`. The new endpoint uses a unified retirement ID format (e.g., `84532-0x1ee2facc42147cc6f6cd1fcdca4e3748d2b41b089fafac46515318bbce4f633c-0`) that works across chains. See [#endpoints-added](#endpoints-added "mention") for more info.

**GET** `/retirements/:beneficiaryAddress/:retirementIndex/certificate`

* \[⚠️ BREAKING CHANGE] This endpoint has been replaced by **GET** `/retirements/:id/certificate`. See [#endpoints-added](#endpoints-added "mention") for more info.

**GET** `/retirements/:beneficiaryAddress/:retirementIndex/provenance`

* \[⚠️ BREAKING CHANGE] This endpoint has been replaced by **GET** `/retirements/:id/provenance`. See  [#endpoints-added](#endpoints-added "mention") for more info.

**GET** `/prices`

* \[⚠️ BREAKING CHANGE] Removed the following query parameters:
  * `productIds` - Products are no longer supported
  * `hasAssetPriceType` - Only listing prices are now returned
  * `isDefaultCredit` - Carbon pools are no longer supported
* The endpoint now exclusively returns prices from listing created by sellers.

**POST** `/quotes`

* \[⚠️ BREAKING CHANGE] Simplified request body - now only accepts `asset_price_source_id` and `quantity_tonnes` .
* Removed deprecated parameters: `listing_id`, `pool`, `credit_token_address` .
* Removed support for carbon pool and product quotes - only listing quotes are supported.

**POST** `/orders`

* \[⚠️ BREAKING CHANGE] Now only supports listing orders. Carbon pool and product orders are no longer supported.
* Requests with non-listing `asset_price_source_id` values will return a 400 error.

**GET** `/carbonProjects`

* Updated to return only listing prices.

#### **Endpoints added**

**GET** `/retirements/:id`

* Get retirement details using a unified retirement ID format that works across Polygon and Base chains.
* The retirement ID format is: `{chainId}-{transactionHash}-{retirementIndex}` (e.g., `84532-0x1ee2facc42147cc6f6cd1fcdca4e3748d2b41b089fafac46515318bbce4f633c-0`).
* This replaces the previous `/retirements/:beneficiaryAddress/:retirementIndex` endpoint.

**GET** `/retirements/:id/certificate`

* Get retirement certificate using a unified retirement ID.
* This replaces the previous `/retirements/:beneficiaryAddress/:retirementIndex/certificate` endpoint.

**GET** `/retirements/:id/provenance`

* Get retirement provenance records using a unified retirement ID.
* This replaces the previous `/retirements/:beneficiaryAddress/:retirementIndex/provenance` endpoint.

#### Endpoints removed

**GET** `/products`

* \[⚠️ BREAKING CHANGE] This endpoint has been removed. Products are no longer supported.

**GET** `/products/:id`

* \[⚠️ BREAKING CHANGE] This endpoint has been removed. Products are no longer supported.

**GET** `/products/:id/stats`

* \[⚠️ BREAKING CHANGE] This endpoint has been removed. Products are no longer supported.

### Migration Path

* **Products endpoints**
  * If you were using **GET** `/products`, **GET** `/products/:id`, or **GET** `/products/:id/stats`, these endpoints have been removed. Products are no longer supported as a retirement source. You should use listing-based orders instead.
* **Retirement endpoints**
  * If you were using **GET** `/retirements/:beneficiaryAddress/:retirementIndex`, you should now use **GET** `/retirements/:id` .
  * If you were using **GET** `/retirements/:beneficiaryAddress/:retirementIndex/certificate`, you should now use **GET** `/retirements/:id/certificate` .
  * If you were using **GET** `/retirements/:beneficiaryAddress/:retirementIndex/provenance`, you should now use **GET** `/retirements/:id/provenance` .
  * The retirement ID can be obtained from the **GET** `/retirements` endpoint, which returns retirements with their IDs.
* **Prices endpoint**
  * If you were filtering by `productIds`, `hasAssetPriceType`, or `isDefaultCredit`, these parameters have been removed. The endpoint now only returns listing prices.
* **Quotes endpoint**
  * If you were using deprecated parameters like `listing_id`, `pool`, or `credit_token_address`, you should now use `asset_price_source_id` .
  * Carbon pool and product quotes are no longer supported - only listing quotes are available.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.carbonmark.com/carbonmark-api/versioning-and-release-process/v18-deprecated.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
