curl --request POST \
--url https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-client-secret: <x-client-secret>' \
--data '
{
"beneficiary_organisation_id": "org_1GB56M1ST1S0GVNA",
"credit_quantity_kg": 1000,
"notes": "Retired with care.",
"owner_organisation_id": "org_1GB56M1ST1S0GVNA",
"retirement_purposes": [],
"supplier_id": "spl_1CC712KFS1S0YKPS",
"order_id": "ord_1FAN3S3WV1S0B842",
"vintage": 2022
}
'import requests
url = "https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits"
payload = {
"beneficiary_organisation_id": "org_1GB56M1ST1S0GVNA",
"credit_quantity_kg": 1000,
"notes": "Retired with care.",
"owner_organisation_id": "org_1GB56M1ST1S0GVNA",
"retirement_purposes": [],
"supplier_id": "spl_1CC712KFS1S0YKPS",
"order_id": "ord_1FAN3S3WV1S0B842",
"vintage": 2022
}
headers = {
"x-client-secret": "<x-client-secret>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-client-secret': '<x-client-secret>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
beneficiary_organisation_id: 'org_1GB56M1ST1S0GVNA',
credit_quantity_kg: 1000,
notes: 'Retired with care.',
owner_organisation_id: 'org_1GB56M1ST1S0GVNA',
retirement_purposes: [],
supplier_id: 'spl_1CC712KFS1S0YKPS',
order_id: 'ord_1FAN3S3WV1S0B842',
vintage: 2022
})
};
fetch('https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'beneficiary_organisation_id' => 'org_1GB56M1ST1S0GVNA',
'credit_quantity_kg' => 1000,
'notes' => 'Retired with care.',
'owner_organisation_id' => 'org_1GB56M1ST1S0GVNA',
'retirement_purposes' => [
],
'supplier_id' => 'spl_1CC712KFS1S0YKPS',
'order_id' => 'ord_1FAN3S3WV1S0B842',
'vintage' => 2022
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-client-secret: <x-client-secret>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits"
payload := strings.NewReader("{\n \"beneficiary_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"credit_quantity_kg\": 1000,\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\",\n \"order_id\": \"ord_1FAN3S3WV1S0B842\",\n \"vintage\": 2022\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-client-secret", "<x-client-secret>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits")
.header("x-client-secret", "<x-client-secret>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"beneficiary_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"credit_quantity_kg\": 1000,\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\",\n \"order_id\": \"ord_1FAN3S3WV1S0B842\",\n \"vintage\": 2022\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-secret"] = '<x-client-secret>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"beneficiary_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"credit_quantity_kg\": 1000,\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\",\n \"order_id\": \"ord_1FAN3S3WV1S0B842\",\n \"vintage\": 2022\n}"
response = http.request(request)
puts response.read_body{
"beneficiary": {
"domain": "isometric.com",
"id": "org_1GB56M1ST1S0GVNA",
"name": "Isometric"
},
"credit_batch_size_total": {
"credit_kgs": 125632,
"credits": 125.632
},
"id": "ret_1FYBH4QDT1S0SVKF",
"notes": "<string>",
"owner": {
"domain": "isometric.com",
"id": "org_1GB56M1ST1S0GVNA",
"name": "Isometric"
},
"purposes": [
"corporate_targets"
],
"retired_at": "2023-11-07T05:31:56Z",
"url": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Create Retirement From Oldest Credits
Retire oldest available credits from a given supplier. If vintage is specified, this will retire the oldest credits from that vintage only.
curl --request POST \
--url https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-client-secret: <x-client-secret>' \
--data '
{
"beneficiary_organisation_id": "org_1GB56M1ST1S0GVNA",
"credit_quantity_kg": 1000,
"notes": "Retired with care.",
"owner_organisation_id": "org_1GB56M1ST1S0GVNA",
"retirement_purposes": [],
"supplier_id": "spl_1CC712KFS1S0YKPS",
"order_id": "ord_1FAN3S3WV1S0B842",
"vintage": 2022
}
'import requests
url = "https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits"
payload = {
"beneficiary_organisation_id": "org_1GB56M1ST1S0GVNA",
"credit_quantity_kg": 1000,
"notes": "Retired with care.",
"owner_organisation_id": "org_1GB56M1ST1S0GVNA",
"retirement_purposes": [],
"supplier_id": "spl_1CC712KFS1S0YKPS",
"order_id": "ord_1FAN3S3WV1S0B842",
"vintage": 2022
}
headers = {
"x-client-secret": "<x-client-secret>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-client-secret': '<x-client-secret>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
beneficiary_organisation_id: 'org_1GB56M1ST1S0GVNA',
credit_quantity_kg: 1000,
notes: 'Retired with care.',
owner_organisation_id: 'org_1GB56M1ST1S0GVNA',
retirement_purposes: [],
supplier_id: 'spl_1CC712KFS1S0YKPS',
order_id: 'ord_1FAN3S3WV1S0B842',
vintage: 2022
})
};
fetch('https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'beneficiary_organisation_id' => 'org_1GB56M1ST1S0GVNA',
'credit_quantity_kg' => 1000,
'notes' => 'Retired with care.',
'owner_organisation_id' => 'org_1GB56M1ST1S0GVNA',
'retirement_purposes' => [
],
'supplier_id' => 'spl_1CC712KFS1S0YKPS',
'order_id' => 'ord_1FAN3S3WV1S0B842',
'vintage' => 2022
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-client-secret: <x-client-secret>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits"
payload := strings.NewReader("{\n \"beneficiary_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"credit_quantity_kg\": 1000,\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\",\n \"order_id\": \"ord_1FAN3S3WV1S0B842\",\n \"vintage\": 2022\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-client-secret", "<x-client-secret>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits")
.header("x-client-secret", "<x-client-secret>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"beneficiary_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"credit_quantity_kg\": 1000,\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\",\n \"order_id\": \"ord_1FAN3S3WV1S0B842\",\n \"vintage\": 2022\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.isometric.com/registry/v0/retirements/from_oldest_credits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-secret"] = '<x-client-secret>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"beneficiary_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"credit_quantity_kg\": 1000,\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\",\n \"order_id\": \"ord_1FAN3S3WV1S0B842\",\n \"vintage\": 2022\n}"
response = http.request(request)
puts response.read_body{
"beneficiary": {
"domain": "isometric.com",
"id": "org_1GB56M1ST1S0GVNA",
"name": "Isometric"
},
"credit_batch_size_total": {
"credit_kgs": 125632,
"credits": 125.632
},
"id": "ret_1FYBH4QDT1S0SVKF",
"notes": "<string>",
"owner": {
"domain": "isometric.com",
"id": "org_1GB56M1ST1S0GVNA",
"name": "Isometric"
},
"purposes": [
"corporate_targets"
],
"retired_at": "2023-11-07T05:31:56Z",
"url": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"ctx": {},
"input": "<unknown>"
}
]
}Authorizations
A JWT Bearer token header for authentication and authorization, in the format Authorization: Bearer <token>
Headers
A secret token identifying the client connecting to the API
"Syou3EZiO5vuMEgNyBeA8cjEMYOnQDwP"
Body
The ID of the organisation that the credits will be retired in the name of, this can be the same as owner_organisation_id.
20 - 37"org_1GB56M1ST1S0GVNA"
"org_1CP8EQDNQSBXTMR2"
A representation of a credit quantity as an integer kilogram amount. Where 1 unit represents 0.001 credits and 1 kilogram of CO₂e. This field can handle bigint values.
1000
A publicly visible note stored with the credit retirement.
256"Retired with care."
The ID of the organisation owns the credits to be retired. Typically this would be your own organisation ID.
20 - 37"org_1GB56M1ST1S0GVNA"
"org_1CP8EQDNQSBXTMR2"
1corporate_targets, public_environmental_claims, insetting, regulatory_requirement, other All credits in a retirement must originate from the same supplier.
20 - 37"spl_1CC712KFS1S0YKPS"
"spl_1FJBMMGR3SBXKDME"
Filter to only retire credits from a specific order. If not provided, credits from any order will be considered.
20 - 37"ord_1FAN3S3WV1S0B842"
The year of the credits to be retired. If not provided, the oldest credits will be retired.
1900 <= x <= 21002022
Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
20 - 37"ret_1FYBH4QDT1S0SVKF"
"ret_1CGV2XADRSBX1CHB"
Show child attributes
Show child attributes
corporate_targets, public_environmental_claims, insetting, regulatory_requirement, other Was this page helpful?