Endpoint per il consumo giornaliero dell’utente
curl --request GET \
--url https://api.devin.ai/v2/enterprise/consumption/daily/{user_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v2/enterprise/consumption/daily/{user_id}"
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/{user_id}', 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/{user_id}",
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/{user_id}"
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/{user_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v2/enterprise/consumption/daily/{user_id}")
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
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Endpoint del consumo
Consumo giornaliero utente
Restituisce il consumo giornaliero per un utente specifico
GET
/
v2
/
enterprise
/
consumption
/
daily
/
{user_id}
Endpoint per il consumo giornaliero dell’utente
curl --request GET \
--url https://api.devin.ai/v2/enterprise/consumption/daily/{user_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v2/enterprise/consumption/daily/{user_id}"
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/{user_id}', 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/{user_id}",
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/{user_id}"
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/{user_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v2/enterprise/consumption/daily/{user_id}")
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
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}L’API di consumo è disponibile solo per gli account con piano Enterprise. I Team e le organizzazioni
self-serve ricevono una risposta
403; non esiste un’opzione per singolo account che il supporto possa abilitare.Comportamento del fuso orario
I cicli di fatturazione utilizzano la mezzanotte PST (Pacific Standard Time) come limite della giornata, che corrisponde alle 08:00:00 UTC. Per far corrispondere i dati di consumo mostrati nella dashboard di Devin, devi fornire timestamp con questo offset di fuso orario. Consulta Consumo giornaliero per dettagli ed esempi.Filtraggio per organizzazione
Quando si filtra in base aorg_ids, i risultati includono tutti gli ACU attribuiti alle organizzazioni specificate: sia gli ACU delle sessioni Devin sia quelli di Devin Desktop e Devin CLI, attribuiti all’organizzazione di fatturazione principale di ciascun utente. Per informazioni su come viene determinata l’organizzazione di fatturazione principale di un utente, consulta Local Agent Controls.Autorizzazioni
API key personale (apk_user_*) riservata agli amministratori Enterprise

