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"
}Recupera informazioni dettagliate sulla sessione
Recupera dettagli approfonditi su una sessione specifica, inclusi il conteggio dei messaggi, la classificazione della dimensione della sessione e l’analisi generata dall’IA.
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 è l’ID della sessione preceduto dal prefisso devin- (ad esempio, devin-abc123).Autorizzazioni
Richiede un utente di servizio o un token di accesso personale che appartenga all’organizzazione e possa visualizzare la sessione di destinazione. Il chiamante può visualizzare una sessione se soddisfa almeno una delle seguenti condizioni:- Ha creato la sessione.
- Dispone di un grant
session.viewsulla sessione. - Dispone dell’autorizzazione
ViewOrgSessionsa livello di organizzazione.
ViewOrgSessions è necessaria solo per leggere le sessioni che l’utente di servizio non ha creato e su cui non dispone di un grant session.view.Autorizzazioni
Credenziale dell'utente del servizio (prefisso: cog_)
Parametri del percorso
ID dell'organizzazione (prefisso: org-)
"org-abc123def456"
ID della sessione Devin (prefisso: devin-)
"devin-abc123def456"
Risposta
Risposta riuscita
Dettagli della sessione arricchiti con metriche quantitative e analisi AI.
Estende SessionResponse con campi aggiuntivi che richiedono query aggiuntive.
Numero di messaggi di Devin inviati durante la sessione.
Numero di messaggi dell’utente inviati durante la sessione.
Show child attributes
Show child attributes
Classificazione della dimensione della sessione basata sull’utilizzo di ACU e sul numero di messaggi.
xs, s, m, l, xl new, claimed, running, exit, error, suspended, resuming Analisi della sessione generata dall'IA. Nessuna se l'analisi non è stata completata.
Show child attributes
Show child attributes
Stato dell'ultimo run di analisi della sessione: 'completed', 'started' (in corso) o 'failed'. None se l'analisi non è mai stata eseguita. 'failed' distingue un run terminato con un errore da uno mai eseguito; analysis può ancora contenere il risultato di un run precedente completato.
started, completed, failed ID dell'automazione che ha creato questa sessione, se presente.
La categoria del caso d'uso assegnata alla sessione, se la categorizzazione è stata eseguita. Valorizzato solo negli endpoint get/list.
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 La modalità Agent di Devin con cui è stata creata la sessione, dopo aver risolto i valori predefiniti di org e utente e l'ereditarietà dalla sessione padre. None se la sessione esegue un'anteprima di un agente senza una modalità equivalente.
normal, fast, fusion, lite, ultra, swe-2-medium, swe-2-high, swe-2-max L'origine da cui è stata creata la sessione.
webapp, slack, teams, api, linear, jira, automation, cli, desktop, code_scan, other L'associazione al profilo di sicurezza specifica della sessione. Valorizzata solo negli endpoint get/list.
Show child attributes
Show child attributes
Ulteriore dettaglio sullo stato corrente della sessione. Quando status è 'running': 'working' (sta lavorando attivamente), 'waiting_for_user' (richiede input dell'utente), 'waiting_for_approval' (in attesa dell'approvazione di un'azione in modalità sicura) oppure 'finished' (attività completata). Quando status è 'suspended': il motivo della sospensione, ad esempio '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' oppure 'error'. Valorizzato solo negli endpoint get/list.
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 Output strutturato validato dalla sessione. Valorizzato solo sugli endpoint GET/list.
Il nome visualizzato della sottocategoria assegnata alla sessione. 'Other' quando è impostata una categoria ma non è stata assegnata né risolta alcuna sottocategoria. Valorizzato solo negli endpoint get/list.

