Endpoint de consumo diario
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>"
}
]
}Endpoints de consumo
Consumo diario
Devuelve el consumo diario para el ciclo de facturación actual
GET
/
v2
/
enterprise
/
consumption
/
daily
Endpoint de consumo diario
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>"
}
]
}La API de consumo solo está disponible para las cuentas del plan Enterprise. Las organizaciones Teams y self-serve
reciben una respuesta
403; no existe un toggle por cuenta que el equipo de soporte pueda habilitar.Comportamiento de la zona horaria
Los ciclos de facturación usan la medianoche PST (Pacific Standard Time) como límite del día, lo que corresponde a las 08:00:00 UTC. Para que los datos coincidan con el consumo que se muestra en el panel de control de Devin, debes pasar marcas de tiempo con este desplazamiento horario. Por ejemplo, para consultar el consumo de un ciclo de facturación del 5 de diciembre de 2025 al 5 de enero de 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 (por ejemplo, 2025-12-05), la API usará la medianoche en UTC, lo que puede producir totales de consumo ligeramente diferentes en comparación con el panel de control.
Filtrado por organización
Al filtrar pororg_ids, los resultados incluyen todas las ACU atribuidas a las organizaciones especificadas: tanto las ACU de sesiones de Devin como las de Devin Desktop y Devin CLI, que se atribuyen a la organización de facturación principal de cada usuario. Consulta Controles de Local Agent para obtener información sobre cómo se determina la organización de facturación principal de un usuario.Autorizaciones
API key personal (apk_user_*) solo para administradores de Enterprise

