curl --request GET \
--url https://api.devin.ai/v3/organizations/{org_id}/metrics/sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/metrics/sessions"
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}/metrics/sessions', 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}/metrics/sessions",
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}/metrics/sessions"
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}/metrics/sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/metrics/sessions")
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{
"avg_acus_per_session": 123,
"sessions_created_by_origin": {
"api": 0,
"automation": 0,
"code_scan": 0,
"desktop": 0,
"jira": 0,
"linear": 0,
"slack": 0,
"teams": 0,
"webapp": 0
},
"sessions_created_by_size": {
"l": 0,
"m": 0,
"s": 0,
"xl": 0,
"xs": 0
},
"sessions_created_count": 123,
"sessions_created_with_playbook_count": 123,
"sessions_created_with_search_count": 123,
"sessions_with_merged_prs_by_size": {
"l": 0,
"m": 0,
"s": 0,
"xl": 0,
"xs": 0
},
"sessions_with_merged_prs_count": 123
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}Obtener métricas de sesión
Obtener métricas agregadas de sesiones para la organización.
curl --request GET \
--url https://api.devin.ai/v3/organizations/{org_id}/metrics/sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/metrics/sessions"
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}/metrics/sessions', 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}/metrics/sessions",
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}/metrics/sessions"
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}/metrics/sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/metrics/sessions")
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{
"avg_acus_per_session": 123,
"sessions_created_by_origin": {
"api": 0,
"automation": 0,
"code_scan": 0,
"desktop": 0,
"jira": 0,
"linear": 0,
"slack": 0,
"teams": 0,
"webapp": 0
},
"sessions_created_by_size": {
"l": 0,
"m": 0,
"s": 0,
"xl": 0,
"xs": 0
},
"sessions_created_count": 123,
"sessions_created_with_playbook_count": 123,
"sessions_created_with_search_count": 123,
"sessions_with_merged_prs_by_size": {
"l": 0,
"m": 0,
"s": 0,
"xl": 0,
"xs": 0
},
"sessions_with_merged_prs_count": 123
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}{
"status": 123,
"title": "<string>",
"detail": "<string>",
"errors": [
{}
],
"instance": "<string>",
"type": "about:blank"
}Permisos
ViewOrgMetrics a nivel de la organización.Autorizaciones
Credencial de usuario de servicio (prefijo: cog_)
Parámetros de ruta
ID de la organización (prefijo: org-)
"org-abc123def456"
Parámetros de consulta
Respuesta
Respuesta correcta
Modelo de respuesta de métricas de sesión.
Recuentos de sesiones por tipo de origen, expuestos en la API de métricas v3.
Un subconjunto seleccionado de SessionOrigin: los orígenes legacy (cli,
vscode_extension, devin_spaces) se omiten intencionadamente.
Los recuentos de las sesiones con origen de BD scheduled se agrupan en
automation mediante la asignación canónica db_origin_to_api, ya que
las automatizaciones son un superconjunto al que migrarán las programaciones.
Show child attributes
Show child attributes
Recuento de sesiones por categoría de tamaño.
Show child attributes
Show child attributes
Recuento de sesiones por categoría de tamaño.
Show child attributes
Show child attributes

