Obtenir la consommation quotidienne de l’utilisateur de service
curl --request GET \
--url https://api.devin.ai/v3/organizations/{org_id}/consumption/daily/service-users/{service_user_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/consumption/daily/service-users/{service_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/v3/organizations/{org_id}/consumption/daily/service-users/{service_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/v3/organizations/{org_id}/consumption/daily/service-users/{service_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/v3/organizations/{org_id}/consumption/daily/service-users/{service_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/v3/organizations/{org_id}/consumption/daily/service-users/{service_user_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/consumption/daily/service-users/{service_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": [
{
"acus": 123,
"acus_by_product": {
"cascade": 123,
"devin": 123,
"terminal": 123,
"automation": 123,
"review": 123
},
"date": 123
}
],
"total_acus": 123
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}Consommation (Organisation)
Obtenir la consommation quotidienne de l’utilisateur de service
Récupère la consommation quotidienne d’ACU pour un utilisateur de service spécifique au sein de l’organisation.
Comportement du fuseau horaire : les cycles de facturation utilisent minuit PST (heure normale du Pacifique) comme limite de journée, ce qui correspond à 08:00:00 UTC.
GET
/
v3
/
organizations
/
{org_id}
/
consumption
/
daily
/
service-users
/
{service_user_id}
Obtenir la consommation quotidienne de l’utilisateur de service
curl --request GET \
--url https://api.devin.ai/v3/organizations/{org_id}/consumption/daily/service-users/{service_user_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/consumption/daily/service-users/{service_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/v3/organizations/{org_id}/consumption/daily/service-users/{service_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/v3/organizations/{org_id}/consumption/daily/service-users/{service_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/v3/organizations/{org_id}/consumption/daily/service-users/{service_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/v3/organizations/{org_id}/consumption/daily/service-users/{service_user_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/consumption/daily/service-users/{service_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": [
{
"acus": 123,
"acus_by_product": {
"cascade": 123,
"devin": 123,
"terminal": 123,
"automation": 123,
"review": 123
},
"date": 123
}
],
"total_acus": 123
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"error_code": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}Cet endpoint au niveau de l’organisation est disponible avec tous les plans, y compris Teams et les plans en libre-service. Les appelants doivent disposer de l’autorisation
ViewOrgConsumption pour l’organisation cible. L’endpoint de consommation Enterprise, qui s’applique au niveau du compte, nécessite un plan Enterprise.Répartition par produit
Chaque entrée de date de la réponse comporte un objetacus_by_product qui ventile la consommation totale d’ACU par produit : devin, automation, cascade, terminal et review (Devin Review). Vous pouvez ainsi voir comment la consommation se répartit entre les produits pour chaque jour. Lorsque les données par produit ne sont pas disponibles pour devin, cascade ou terminal, la valeur par défaut est 0.0. Les champs automation et review valent null lorsque les données de consommation spécifiques à leur produit ne sont pas disponibles.
devin: sessions lancées par une personne ou par un utilisateur de service, y compris les sessions d’analyse de code et d’astreinte.automation: sessions et étapes de code exécutées par des automatisations. Avant l’ajout de ce champ, cette utilisation était comptabilisée sousdevin.
Autorisations
Nécessite un utilisateur de service ou un jeton d’accès personnel disposant de l’autorisationViewOrgConsumption au niveau de l’organisation.Autorisations
Identifiant de compte de service (préfixe : cog_)
Paramètres de chemin
ID d’utilisateur de service (préfixe : service-user-)
Exemple:
"service-user-abc123def456"
ID de l’organisation (préfixe : org-)
Exemple:
"org-abc123def456"

