Query project carbon emissions metrics for an entire organization
curl --request GET \
--url {schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon \
--header 'Authorization: Bearer <token>'import requests
url = "{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon', 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 => "{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"organization_id": "<string>",
"meta": {
"from": "<unknown>",
"to": "<unknown>",
"interval": "<unknown>",
"units": "<unknown>"
},
"projects": [
{
"project_id": "<string>",
"project_title": "<string>",
"values": [
{
"value": "<unknown>",
"start_time": "<unknown>"
}
]
}
],
"total": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}API Reference
Query project carbon emissions metrics for an entire organization
Queries the carbon emission data for all projects owned by the specified organiation.
GET
/
organizations
/
{organization_id}
/
metrics
/
carbon
Query project carbon emissions metrics for an entire organization
curl --request GET \
--url {schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon \
--header 'Authorization: Bearer <token>'import requests
url = "{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon', 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 => "{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("{schemes}://api.upsun.com/organizations/{organization_id}/metrics/carbon")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"organization_id": "<string>",
"meta": {
"from": "<unknown>",
"to": "<unknown>",
"interval": "<unknown>",
"units": "<unknown>"
},
"projects": [
{
"project_id": "<string>",
"project_title": "<string>",
"values": [
{
"value": "<unknown>",
"start_time": "<unknown>"
}
]
}
],
"total": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the organization.
Query Parameters
The start of the time frame for the query. Inclusive.
Show child attributes
Show child attributes
The end of the time frame for the query. Exclusive.
Show child attributes
Show child attributes
The interval by which the query groups the results. of the time frame for the query. Exclusive.
Available options:
day, month, year Last modified on June 16, 2026
Was this page helpful?