curl --request GET \
--url https://api.devin.ai/v3/enterprise/sessions/{devin_id}/insights \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/enterprise/sessions/{devin_id}/insights"
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/enterprise/sessions/{devin_id}/insights', 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/enterprise/sessions/{devin_id}/insights",
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/enterprise/sessions/{devin_id}/insights"
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/enterprise/sessions/{devin_id}/insights")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/enterprise/sessions/{devin_id}/insights")
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{
"acus_consumed": 123,
"created_at": 123,
"num_devin_messages": 123,
"num_user_messages": 123,
"org_id": "<string>",
"pull_requests": [
{
"pr_state": "<string>",
"pr_url": "<string>"
}
],
"session_id": "<string>",
"session_size": "xs",
"status": "new",
"tags": [
"<string>"
],
"updated_at": 123,
"url": "<string>",
"analysis": {
"action_items": [],
"classification": {
"category": "<string>",
"confidence": 123,
"programming_languages": [],
"tools_and_frameworks": []
},
"issues": [],
"note_usage": {
"bad_usages": [],
"good_usages": []
},
"skill_usage": {
"bad_usages": [],
"good_usages": []
},
"suggested_prompt": {
"original_prompt": "<string>",
"suggested_prompt": "<string>",
"feedback_items": []
},
"timeline": []
},
"analysis_status": "started",
"automation_id": "<string>",
"category": "bug_fixing",
"child_session_ids": [
"<string>"
],
"devin_mode": "normal",
"is_archived": false,
"on_demand_usage": 123,
"origin": "webapp",
"parent_session_id": "<string>",
"playbook_id": "<string>",
"security_profile": {
"selection": "inherit",
"profile_id": "<string>"
},
"service_user_id": "<string>",
"status_detail": "working",
"structured_output": {},
"subcategory": "<string>",
"title": "<string>",
"user_id": "<string>"
}{
"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"
}Sitzungsanalysen abrufen
Ruft detaillierte Einblicke für eine bestimmte Sitzung ab, einschließlich der Anzahl der Nachrichten, der Einstufung der Sitzungsgröße und KI-generierter Analysen.
curl --request GET \
--url https://api.devin.ai/v3/enterprise/sessions/{devin_id}/insights \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/enterprise/sessions/{devin_id}/insights"
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/enterprise/sessions/{devin_id}/insights', 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/enterprise/sessions/{devin_id}/insights",
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/enterprise/sessions/{devin_id}/insights"
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/enterprise/sessions/{devin_id}/insights")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/enterprise/sessions/{devin_id}/insights")
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{
"acus_consumed": 123,
"created_at": 123,
"num_devin_messages": 123,
"num_user_messages": 123,
"org_id": "<string>",
"pull_requests": [
{
"pr_state": "<string>",
"pr_url": "<string>"
}
],
"session_id": "<string>",
"session_size": "xs",
"status": "new",
"tags": [
"<string>"
],
"updated_at": 123,
"url": "<string>",
"analysis": {
"action_items": [],
"classification": {
"category": "<string>",
"confidence": 123,
"programming_languages": [],
"tools_and_frameworks": []
},
"issues": [],
"note_usage": {
"bad_usages": [],
"good_usages": []
},
"skill_usage": {
"bad_usages": [],
"good_usages": []
},
"suggested_prompt": {
"original_prompt": "<string>",
"suggested_prompt": "<string>",
"feedback_items": []
},
"timeline": []
},
"analysis_status": "started",
"automation_id": "<string>",
"category": "bug_fixing",
"child_session_ids": [
"<string>"
],
"devin_mode": "normal",
"is_archived": false,
"on_demand_usage": 123,
"origin": "webapp",
"parent_session_id": "<string>",
"playbook_id": "<string>",
"security_profile": {
"selection": "inherit",
"profile_id": "<string>"
},
"service_user_id": "<string>",
"status_detail": "working",
"structured_output": {},
"subcategory": "<string>",
"title": "<string>",
"user_id": "<string>"
}{
"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"
}devin_id ist die Sitzungs-ID mit dem Präfix devin- (z. B. devin-abc123).Berechtigungen
Erfordert einen Servicebenutzer oder ein persönliches Zugriffstoken mit der BerechtigungViewAccountSessions auf Enterprise-Ebene.Pfadparameter
Antwort
Erfolgreiche Antwort
Sitzungsdetails mit quantitativen Metriken und KI-Analyse.
Erweitert SessionResponse um zusätzliche Felder, die weitere Abfragen erfordern.
Status des letzten Analyselaufs der Sitzung: 'completed', 'started' (läuft) oder 'failed'. None, wenn die Analyse noch nie ausgeführt wurde. 'failed' kennzeichnet einen fehlgeschlagenen Lauf im Unterschied zu einem, der nie stattgefunden hat; analysis kann weiterhin das Ergebnis eines älteren, abgeschlossenen Laufs enthalten.
started, completed, failed Die der Sitzung zugewiesene Anwendungsfallkategorie, falls die Kategorisierung ausgeführt wurde. Nur bei GET-/List-Endpunkten befüllt.
bug_fixing, ci_cd_and_devops, code_quality_and_security, code_review, code_review_and_analysis, data_and_automation, documentation_and_content, feature_development, migrations_and_upgrades, other, production_investigation, refactoring_and_optimization, research_and_exploration, security, unit_test_generation Der Devin-Agent-Modus, mit dem die Sitzung erstellt wurde, nach Auflösung der Organisations-/Nutzer-Standardwerte und der Vererbung von der übergeordneten Sitzung. None, wenn die Sitzung eine Agent-Vorschau ausführt, die kein entsprechendes Modusäquivalent hat.
normal, fast, fusion, lite, ultra, swe-2-medium, swe-2-high, swe-2-max Nutzungsabhängige Kosten (Überschreitungsstatus) in USD für diese Sitzung, ohne untergeordnete Sitzungen. Nur bei Teams-Tarifen befüllt; 0, wenn die Sitzung vollständig durch das Kontingent abgedeckt war. Bei anderen Tarifen nicht enthalten. Nur bei get/list-Endpunkten befüllt.
Zusätzliche Details zum aktuellen Status der Sitzung. Wenn der Status „running“ ist: „working“ (arbeitet aktiv), „waiting_for_user“ (benötigt Eingaben des Nutzers), „waiting_for_approval“ (wartet im abgesicherten Modus auf die Genehmigung einer Aktion) oder „finished“ (Aufgabe abgeschlossen). Wenn der Status „suspended“ ist: der Grund für die Unterbrechung, z. B. „inactivity“, „user_request“, „usage_limit_exceeded“, „out_of_credits“, „out_of_quota“, „no_quota_allocation“, „payment_declined“, „org_usage_limit_exceeded“, „user_usage_limit_exceeded“, „total_session_limit_exceeded“, „contract_expired“ oder „error“. Nur bei GET-/List-Endpunkten befüllt.
working, waiting_for_user, waiting_for_approval, finished, inactivity, user_request, usage_limit_exceeded, out_of_credits, out_of_quota, no_quota_allocation, payment_declined, org_usage_limit_exceeded, user_usage_limit_exceeded, total_session_limit_exceeded, contract_expired, error 
