Endpoint de consommation quotidienne par utilisateur
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>"
}
]
}Endpoints de consommation
Consommation quotidienne d’un utilisateur
Renvoie la consommation quotidienne pour un utilisateur spécifique
GET
/
v2
/
enterprise
/
consumption
/
daily
/
{user_id}
Endpoint de consommation quotidienne par utilisateur
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 de consommation est réservée aux comptes disposant du plan Enterprise. Les organisations Teams et self-serve
reçoivent une réponse
403 ; il n’existe aucun toggle par compte que le support puisse activer.Comportement du fuseau horaire
Les cycles de facturation utilisent minuit PST (Pacific Standard Time) comme délimitation des journées, ce qui correspond à 08:00:00 UTC. Pour que les données de consommation correspondent à celles affichées dans le tableau de bord Devin, vous devez fournir des horodatages avec ce décalage de fuseau horaire. Consultez Daily Consumption pour plus de détails et des exemples.Filtrage par organisation
Lorsque vous filtrez parorg_ids, les résultats incluent tous les ACU attribués aux organisations spécifiées : les ACU des sessions Devin, ainsi que les ACU de Devin Desktop et de Devin CLI, attribués à l’organisation de facturation principale de chaque utilisateur. Consultez Contrôles de Local Agent pour savoir comment est déterminée l’organisation de facturation principale d’un utilisateur.Autorisations
API Key personnelle (apk_user_*) réservée uniquement aux administrateurs Enterprise

