Endpoint per il consumo giornaliero
curl --request GET \
--url https://api.devin.ai/v2/enterprise/consumption/daily \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v2/enterprise/consumption/daily"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.devin.ai/v2/enterprise/consumption/daily', 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.devin.ai/v2/enterprise/consumption/daily",
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 := "https://api.devin.ai/v2/enterprise/consumption/daily"
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("https://api.devin.ai/v2/enterprise/consumption/daily")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v2/enterprise/consumption/daily")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"consumption_by_date": {},
"consumption_by_org_id": {},
"total_acus": 123,
"consumption_by_user": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Endpoint del consumo
Consumo giornaliero
Restituisce il consumo giornaliero per il ciclo di fatturazione in corso
GET
/
v2
/
enterprise
/
consumption
/
daily
Endpoint per il consumo giornaliero
curl --request GET \
--url https://api.devin.ai/v2/enterprise/consumption/daily \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v2/enterprise/consumption/daily"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.devin.ai/v2/enterprise/consumption/daily', 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.devin.ai/v2/enterprise/consumption/daily",
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 := "https://api.devin.ai/v2/enterprise/consumption/daily"
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("https://api.devin.ai/v2/enterprise/consumption/daily")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v2/enterprise/consumption/daily")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"consumption_by_date": {},
"consumption_by_org_id": {},
"total_acus": 123,
"consumption_by_user": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}L’API di consumo è disponibile solo per gli account con piano Enterprise. I Teams e le organizzazioni self-serve
ricevono una risposta
403; non esiste alcun toggle per singolo account che il supporto possa abilitare.Comportamento del fuso orario
I cicli di fatturazione utilizzano la mezzanotte PST (Pacific Standard Time) come delimitazione della giornata, che corrisponde a 08:00:00 UTC. Per allineare i dati di consumo a quelli mostrati nella dashboard di Devin, devi passare i timestamp con questo offset di fuso orario. Ad esempio, per richiedere i dati di consumo per un ciclo di fatturazione dal 5 dicembre 2025 al 5 gennaio 2026:curl "https://api.devin.ai/v2/enterprise/consumption/daily?start_date=2025-12-05T08:00:00Z&end_date=2026-01-05T08:00:00Z" \
-H "Authorization: Bearer YOUR_API_KEY"
T08:00:00Z (ad esempio 2025-12-05), l’API utilizzerà la mezzanotte UTC, il che potrebbe comportare totali di consumo leggermente diversi rispetto alla dashboard.
Filtraggio per organizzazione
Quando si filtra in base aorg_ids, i risultati includono tutte le ACU attribuite alle organizzazioni specificate: sia le ACU delle sessioni Devin sia quelle di Devin Desktop e Devin CLI, attribuite all’organizzazione di fatturazione principale di ciascun utente. Per informazioni su come viene determinata l’organizzazione di fatturazione principale di un utente, consulta Controlli di Local Agent.Autorizzazioni
API key personale (apk_user_*) riservata agli amministratori Enterprise

