Query project carbon emissions metrics
curl --request GET \
--url {schemes}://api.upsun.com/organizations/{organization_id}/projects/{project_id}/metrics/carbon \
--header 'Authorization: Bearer <token>'import requests
url = "{schemes}://api.upsun.com/organizations/{organization_id}/projects/{project_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}/projects/{project_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}/projects/{project_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}/projects/{project_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}/projects/{project_id}/metrics/carbon")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("{schemes}://api.upsun.com/organizations/{organization_id}/projects/{project_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{
"project_id": "<string>",
"project_title": "<string>",
"meta": {
"from": "<unknown>",
"to": "<unknown>",
"interval": "<unknown>",
"units": "<unknown>"
},
"values": [
{
"value": "<unknown>",
"start_time": "<unknown>"
}
],
"total": 123
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Organization Projects
Query project carbon emissions metrics
Queries the carbon emission data for the specified project using the supplied parameters.
GET
/
organizations
/
{organization_id}
/
projects
/
{project_id}
/
metrics
/
carbon
Query project carbon emissions metrics
curl --request GET \
--url {schemes}://api.upsun.com/organizations/{organization_id}/projects/{project_id}/metrics/carbon \
--header 'Authorization: Bearer <token>'import requests
url = "{schemes}://api.upsun.com/organizations/{organization_id}/projects/{project_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}/projects/{project_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}/projects/{project_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}/projects/{project_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}/projects/{project_id}/metrics/carbon")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("{schemes}://api.upsun.com/organizations/{organization_id}/projects/{project_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{
"project_id": "<string>",
"project_title": "<string>",
"meta": {
"from": "<unknown>",
"to": "<unknown>",
"interval": "<unknown>",
"units": "<unknown>"
},
"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.
The ID of the project.
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?