curl --request POST \
--url https://api.sandbox.isometric.com/registry/v0/retirements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-client-secret: <x-client-secret>' \
--data '
{
"beneficiary_organisation_id": "org_1GB56M1ST1S0GVNA",
"credit_batch_quantities": [
{
"credit_batch_id": "ctb_1DRBTYA8Q1S07CBY",
"credit_quantity_kg": 1000
}
],
"notes": "Retired with care.",
"owner_organisation_id": "org_1GB56M1ST1S0GVNA",
"retirement_purposes": [],
"supplier_id": "spl_1CC712KFS1S0YKPS"
}
'import requests
url = "https://api.sandbox.isometric.com/registry/v0/retirements"
payload = {
"beneficiary_organisation_id": "org_1GB56M1ST1S0GVNA",
"credit_batch_quantities": [
{
"credit_batch_id": "ctb_1DRBTYA8Q1S07CBY",
"credit_quantity_kg": 1000
}
],
"notes": "Retired with care.",
"owner_organisation_id": "org_1GB56M1ST1S0GVNA",
"retirement_purposes": [],
"supplier_id": "spl_1CC712KFS1S0YKPS"
}
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_batch_quantities: [{credit_batch_id: 'ctb_1DRBTYA8Q1S07CBY', credit_quantity_kg: 1000}],
notes: 'Retired with care.',
owner_organisation_id: 'org_1GB56M1ST1S0GVNA',
retirement_purposes: [],
supplier_id: 'spl_1CC712KFS1S0YKPS'
})
};
fetch('https://api.sandbox.isometric.com/registry/v0/retirements', 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",
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_batch_quantities' => [
[
'credit_batch_id' => 'ctb_1DRBTYA8Q1S07CBY',
'credit_quantity_kg' => 1000
]
],
'notes' => 'Retired with care.',
'owner_organisation_id' => 'org_1GB56M1ST1S0GVNA',
'retirement_purposes' => [
],
'supplier_id' => 'spl_1CC712KFS1S0YKPS'
]),
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"
payload := strings.NewReader("{\n \"beneficiary_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"credit_batch_quantities\": [\n {\n \"credit_batch_id\": \"ctb_1DRBTYA8Q1S07CBY\",\n \"credit_quantity_kg\": 1000\n }\n ],\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\"\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")
.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_batch_quantities\": [\n {\n \"credit_batch_id\": \"ctb_1DRBTYA8Q1S07CBY\",\n \"credit_quantity_kg\": 1000\n }\n ],\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.isometric.com/registry/v0/retirements")
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_batch_quantities\": [\n {\n \"credit_batch_id\": \"ctb_1DRBTYA8Q1S07CBY\",\n \"credit_quantity_kg\": 1000\n }\n ],\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\"\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
Retire credits from specific batches, in whole or with splits. All credit batches must originate from the same supplier and be owned by the current organisation.
curl --request POST \
--url https://api.sandbox.isometric.com/registry/v0/retirements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-client-secret: <x-client-secret>' \
--data '
{
"beneficiary_organisation_id": "org_1GB56M1ST1S0GVNA",
"credit_batch_quantities": [
{
"credit_batch_id": "ctb_1DRBTYA8Q1S07CBY",
"credit_quantity_kg": 1000
}
],
"notes": "Retired with care.",
"owner_organisation_id": "org_1GB56M1ST1S0GVNA",
"retirement_purposes": [],
"supplier_id": "spl_1CC712KFS1S0YKPS"
}
'import requests
url = "https://api.sandbox.isometric.com/registry/v0/retirements"
payload = {
"beneficiary_organisation_id": "org_1GB56M1ST1S0GVNA",
"credit_batch_quantities": [
{
"credit_batch_id": "ctb_1DRBTYA8Q1S07CBY",
"credit_quantity_kg": 1000
}
],
"notes": "Retired with care.",
"owner_organisation_id": "org_1GB56M1ST1S0GVNA",
"retirement_purposes": [],
"supplier_id": "spl_1CC712KFS1S0YKPS"
}
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_batch_quantities: [{credit_batch_id: 'ctb_1DRBTYA8Q1S07CBY', credit_quantity_kg: 1000}],
notes: 'Retired with care.',
owner_organisation_id: 'org_1GB56M1ST1S0GVNA',
retirement_purposes: [],
supplier_id: 'spl_1CC712KFS1S0YKPS'
})
};
fetch('https://api.sandbox.isometric.com/registry/v0/retirements', 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",
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_batch_quantities' => [
[
'credit_batch_id' => 'ctb_1DRBTYA8Q1S07CBY',
'credit_quantity_kg' => 1000
]
],
'notes' => 'Retired with care.',
'owner_organisation_id' => 'org_1GB56M1ST1S0GVNA',
'retirement_purposes' => [
],
'supplier_id' => 'spl_1CC712KFS1S0YKPS'
]),
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"
payload := strings.NewReader("{\n \"beneficiary_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"credit_batch_quantities\": [\n {\n \"credit_batch_id\": \"ctb_1DRBTYA8Q1S07CBY\",\n \"credit_quantity_kg\": 1000\n }\n ],\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\"\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")
.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_batch_quantities\": [\n {\n \"credit_batch_id\": \"ctb_1DRBTYA8Q1S07CBY\",\n \"credit_quantity_kg\": 1000\n }\n ],\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.isometric.com/registry/v0/retirements")
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_batch_quantities\": [\n {\n \"credit_batch_id\": \"ctb_1DRBTYA8Q1S07CBY\",\n \"credit_quantity_kg\": 1000\n }\n ],\n \"notes\": \"Retired with care.\",\n \"owner_organisation_id\": \"org_1GB56M1ST1S0GVNA\",\n \"retirement_purposes\": [],\n \"supplier_id\": \"spl_1CC712KFS1S0YKPS\"\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 list of credit batch IDs and kilogram amounts of each to retire.
1Show child attributes
Show child attributes
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"
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?