curl --request POST \
--url https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/archive \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/archive"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/archive', 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}/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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}/archive"
req, _ := http.NewRequest("POST", 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.post("https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/archive")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"acus_consumed": 123,
"created_at": 123,
"org_id": "<string>",
"pull_requests": [
{
"pr_state": "<string>",
"pr_url": "<string>"
}
],
"session_id": "<string>",
"status": "new",
"tags": [
"<string>"
],
"updated_at": 123,
"url": "<string>",
"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"
}Sitzung archivieren
Sitzung archivieren und in den Ruhezustand versetzen, wenn sie derzeit aktiv ist
curl --request POST \
--url https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/archive \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/archive"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/archive', 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}/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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}/archive"
req, _ := http.NewRequest("POST", 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.post("https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/archive")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/sessions/{devin_id}/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"acus_consumed": 123,
"created_at": 123,
"org_id": "<string>",
"pull_requests": [
{
"pr_state": "<string>",
"pr_url": "<string>"
}
],
"session_id": "<string>",
"status": "new",
"tags": [
"<string>"
],
"updated_at": 123,
"url": "<string>",
"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 Session-ID mit dem Präfix devin- (z. B. devin-abc123).Berechtigungen
Erfordert einen Service-Benutzer oder ein persönliches Zugriffstoken mit der BerechtigungManageOrgSessions auf Organisationsebene.
Hinweise
Beim Archivieren werden die Sitzung und ihre untergeordneten Sitzungen als archiviert markiert (is_archived: true), und alle laufenden Sitzungen werden in den Ruhezustand versetzt. Um archivierte Sitzungen zu finden, filtern Sie den Endpunkt zum Auflisten von Sitzungen nach is_archived.
Durch das Archivieren wird die Sitzung weder gelöscht noch schreibgeschützt, und es werden auch keine zusätzlichen Daten gesichert:
- Archivierte Sitzungen lassen sich weiterhin anzeigen, und ihre Tags können weiterhin bearbeitet werden.
- Wenn Sie eine Nachricht an eine archivierte Sitzung im Ruhezustand senden, wird diese wiederaufgenommen. Beendete Sitzungen können nicht wiederaufgenommen werden – unabhängig davon, ob sie archiviert sind oder nicht.
- Um die Archivierung rückgängig zu machen, rufen Sie
POST /v3/organizations/{org_id}/sessions/{devin_id}/unarchiveauf. Das Aufheben der Archivierung gilt nur für die angeforderte Sitzung, nicht für ihre untergeordneten Sitzungen.
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
Organisation, der die Sitzung gehört. Null bei nicht organisationsgebundenen Sitzungen, die dem Konto ihres Erstellers statt einer Organisation gehören.
Show child attributes
Show child attributes
new, claimed, running, exit, error, suspended, resuming 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 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.
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. Nur bei GET-/List-Endpunkten befü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 Session. Wird nur bei GET-/LIST-Endpunkten befü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.

