curl --request GET \
--url https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/insights \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/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/organizations/{org_id}/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/organizations/{org_id}/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/organizations/{org_id}/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/organizations/{org_id}/sessions/{devin_id}/insights")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/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,
"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"
}GET Sitzungs-Einblicke
Detaillierte Einblicke in eine bestimmte Sitzung abrufen, einschließlich Nachrichtenanzahl, Einstufung der Sitzungsgröße und KI-gestützter Analyse.
curl --request GET \
--url https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/insights \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/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/organizations/{org_id}/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/organizations/{org_id}/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/organizations/{org_id}/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/organizations/{org_id}/sessions/{devin_id}/insights")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/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,
"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
Erforderlich ist ein Service-Benutzer oder ein persönliches Zugriffstoken, der bzw. das zur Organisation gehört und die Zielsitzung anzeigen kann. Der Aufrufer kann eine Sitzung anzeigen, wenn mindestens eine der folgenden Bedingungen erfüllt ist:- Er hat die Sitzung erstellt.
- Er verfügt über eine
session.view-Berechtigungszuweisung für die Sitzung. - Er hat die Berechtigung
ViewOrgSessionsauf Organisationsebene.
ViewOrgSessions ist nur zum Lesen von Sitzungen erforderlich, die der Service-Benutzer nicht selbst erstellt hat und für die er auch keine session.view-Berechtigungszuweisung besitzt.Autorisierungen
Servicebenutzer-Anmeldedaten (Präfix: cog_)
Pfadparameter
Organisations-ID (Präfix: org-)
"org-abc123def456"
Devin-Sitzungs-ID (Präfix: devin-)
"devin-abc123def456"
Antwort
Erfolgreiche Antwort
Sitzungsdetails mit quantitativen Metriken und KI-Analyse.
Erweitert SessionResponse um zusätzliche Felder, die weitere Abfragen erfordern.
Anzahl der Devin-Nachrichten, die während der Sitzung gesendet wurden.
Anzahl der Benutzernachrichten, die während der Sitzung gesendet wurden.
Show child attributes
Show child attributes
Klassifizierung der Sitzungsgröße basierend auf ACU-Verbrauch und Nachrichtenanzahl.
xs, s, m, l, xl new, claimed, running, exit, error, suspended, resuming KI-generierte Sitzungsanalyse. None, wenn die Analyse noch nicht abgeschlossen ist.
Show child attributes
Show child attributes
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 ID der Automatisierung, die diese Sitzung erstellt hat, falls vorhanden.
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 Die Quelle, aus der die Sitzung erstellt wurde.
webapp, slack, teams, api, linear, jira, automation, cli, desktop, code_scan, other Die eigene Sicherheitsprofilbindung der Sitzung. Wird nur bei get/list-Endpunkten ausgefüllt.
Show child attributes
Show child attributes
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 Validierte strukturierte Ausgabe aus der Sitzung. Wird nur bei GET-/List-Endpunkten ausgefüllt.
Der Anzeigename der der Sitzung zugewiesenen Unterkategorie. „Other“, wenn eine Kategorie festgelegt ist, aber keine Unterkategorie zugewiesen oder bezogen werden konnte. Nur bei GET-/List-Endpunkten befüllt.

