Indexer un repository
curl --request PUT \
--url https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"branch_names": [
"<string>"
]
}
'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing"
payload = { "branch_names": ["<string>"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({branch_names: ['<string>']})
};
fetch('https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing', 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}/repositories/{repository_path}/indexing",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'branch_names' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing"
payload := strings.NewReader("{\n \"branch_names\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"branch_names\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"branch_names\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"branches": [
"<string>"
],
"indexing_enabled": true,
"repository_path": "<string>",
"indexing_status": {
"indexing_enabled": true,
"latest_completed_search_index_job": {
"branch_name": "<string>",
"commit": "<string>",
"created_at": 123,
"job_id": "<string>",
"status": "failed"
},
"latest_completed_wiki_index_job": {
"branch_name": "<string>",
"commit": "<string>",
"created_at": 123,
"job_id": "<string>",
"status": "failed"
},
"latest_indexes": [
{
"branch_name": "<string>",
"commit": "<string>",
"created_at": 123,
"job_id": "<string>",
"status": "failed"
}
]
}
}{
"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"
}Dépôts (Organisation)
Indexer un repository
Active l’indexation d’un seul repository de manière idempotente et déclenche des tâches d’indexation.
PUT
/
v3
/
organizations
/
{org_id}
/
repositories
/
{repository_path}
/
indexing
Indexer un repository
curl --request PUT \
--url https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"branch_names": [
"<string>"
]
}
'import requests
url = "https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing"
payload = { "branch_names": ["<string>"] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({branch_names: ['<string>']})
};
fetch('https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing', 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}/repositories/{repository_path}/indexing",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'branch_names' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing"
payload := strings.NewReader("{\n \"branch_names\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"branch_names\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.devin.ai/v3/organizations/{org_id}/repositories/{repository_path}/indexing")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"branch_names\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"branches": [
"<string>"
],
"indexing_enabled": true,
"repository_path": "<string>",
"indexing_status": {
"indexing_enabled": true,
"latest_completed_search_index_job": {
"branch_name": "<string>",
"commit": "<string>",
"created_at": 123,
"job_id": "<string>",
"status": "failed"
},
"latest_completed_wiki_index_job": {
"branch_name": "<string>",
"commit": "<string>",
"created_at": 123,
"job_id": "<string>",
"status": "failed"
},
"latest_indexes": [
{
"branch_name": "<string>",
"commit": "<string>",
"created_at": 123,
"job_id": "<string>",
"status": "failed"
}
]
}
}{
"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"
}Autorisations
Nécessite un utilisateur de service ou un jeton d’accès personnel. La vérification des autorisations dépend de la manière dont l’accès aux repositories est géré dans votre organisation :- Autorisations au niveau de l’organisation : l’appelant doit disposer de l’autorisation
IndexOrgRepositoriesau niveau de l’organisation. - Autorisations granulaires par repository : l’autorisation
IndexOrgRepositoriesn’est pas vérifiée. L’appelant doit disposer de l’autorisationReadau niveau de l’organisation, ainsi que des deux autorisationsrepo.use_readetrepo.indexsur le repository. À défaut, la requête est rejetée avec une erreur403.
Comportement
Cet endpoint est idempotent — l’appeler plusieurs fois pour le même dépôt ne crée pas de tâches d’indexation en double. Il active l’indexation et déclenche des tâches d’indexation pour le dépôt spécifié. Vous pouvez aussi spécifierbranch_names dans le corps de la requête pour indexer des branches spécifiques. Si ce champ est omis, la branche par défaut est utilisée.Autorisations
Identifiant de compte de service (préfixe : cog_)
Paramètres de chemin
Identifiant d’organisation (préfixe : org-)
Exemple:
"org-abc123def456"
Corps
application/json

