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"
}Obtenir les métriques de session
Récupérer les métriques de session agrégées pour l’organisation.
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"
}Autorisations
ViewOrgMetrics au niveau de l’organisation.Autorisations
Identifiant de compte de service (préfixe : cog_)
Paramètres de chemin
ID de l’organisation (préfixe : org-)
"org-abc123def456"
Paramètres de requête
Réponse
Réponse réussie
Modèle de réponse des métriques de session.
Décompte des sessions par type d’origine, exposé dans l’API de métriques v3.
Sous-ensemble sélectionné de SessionOrigin : les origines anciennes (cli,
vscode_extension, devin_spaces) ne sont volontairement pas exposées.
Les décomptes des sessions avec une origine de base de données scheduled sont regroupés dans
automation via le mappage canonique db_origin_to_api, puisque
les automatisations forment un sur-ensemble vers lequel les planifications migreront.
Show child attributes
Show child attributes
Nombre de sessions par catégorie de taille.
Show child attributes
Show child attributes
Nombre de sessions par catégorie de taille.
Show child attributes
Show child attributes

