curl --request GET \
--url https://api.devin.ai/v3/organizations/{org_id}/code-scans/findings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/code-scans/findings"
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}/code-scans/findings', 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}/code-scans/findings",
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}/code-scans/findings"
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}/code-scans/findings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/code-scans/findings")
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{
"items": [
{
"category": "<string>",
"code_owners": [
"<string>"
],
"created_at": 123,
"description": "<string>",
"finding_id": "<string>",
"note": "<string>",
"orchestrator_session_id": "<string>",
"pr_url": "<string>",
"recommendation": "<string>",
"reference_snippets": [
{
"commentary": "<string>",
"end_line": 123,
"file_path": "<string>",
"start_line": 123,
"code": "<string>"
}
],
"repo_name": "<string>",
"scan_id": "<string>",
"session_id": "<string>",
"severity": "critical",
"status": "open",
"title": "<string>",
"related_finding_ids": [
"<string>"
]
}
],
"end_cursor": "<string>",
"has_next_page": false,
"total": 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"
}Lister les constats d’analyse de code (API Devin)
Liste les constats d’analyse de code Devin d’une organisation, filtrés par analyse, dépôt, gravité ou statut, via l’API d’organisation v3
curl --request GET \
--url https://api.devin.ai/v3/organizations/{org_id}/code-scans/findings \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/code-scans/findings"
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}/code-scans/findings', 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}/code-scans/findings",
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}/code-scans/findings"
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}/code-scans/findings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/code-scans/findings")
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{
"items": [
{
"category": "<string>",
"code_owners": [
"<string>"
],
"created_at": 123,
"description": "<string>",
"finding_id": "<string>",
"note": "<string>",
"orchestrator_session_id": "<string>",
"pr_url": "<string>",
"recommendation": "<string>",
"reference_snippets": [
{
"commentary": "<string>",
"end_line": 123,
"file_path": "<string>",
"start_line": 123,
"code": "<string>"
}
],
"repo_name": "<string>",
"scan_id": "<string>",
"session_id": "<string>",
"severity": "critical",
"status": "open",
"title": "<string>",
"related_finding_ids": [
"<string>"
]
}
],
"end_cursor": "<string>",
"has_next_page": false,
"total": 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
ViewCodeScans au niveau de l’organisation.
Articles associés
- Filtrez par
scan_idaprès qu’une analyse lancée avec Démarrer une analyse de code a atteint l’étatcompleted(consultez Lister les analyses de code pour l’interroger périodiquement). - Lancez un correctif pour un constat avec Remédier à un constat d’analyse de code.
- Pour obtenir le nombre total d’analyses, de constats et de PR de remédiation sur une période donnée, utilisez Obtenir les métriques des analyses de code.
- Pour le workflow de bout en bout, consultez Déclencher des analyses de code via l’API Devin.
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
1 <= x <= 200Filtrer sur les constats produits par cette analyse.
Filtrer sur les constats signalés dans ce dépôt.
Filtrer sur les constats ayant l’un de ces niveaux de gravité (critical, high, medium, low).
critical, high, medium, low Filtrer sur les constats ayant l’un de ces statuts (open, dismissed, resolved).
open, dismissed, resolved Réponse
Réponse réussie
Show child attributes
Show child attributes
Curseur pour récupérer la page suivante, ou None s’il s’agit de la dernière page.
Indique s’il reste d’autres éléments après cette page.
Nombre total facultatif (peut être omis pour des raisons de performance).

