POST
/
beta
/
v2
/
enterprise
/
repositories
/
bulk-index
curl -X POST "https://api.devin.ai/beta/v2/enterprise/repositories/bulk-index" \
  -H "Authorization: Bearer YOUR_ENTERPRISE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "org_id": "org-80fea1dfefde43bea4c05fba65254f22",
    "repo_names": [
      "my-org/frontend-app",
      "my-org/backend-api",
      "my-org/shared-utils"
    ]
  }'
{
  "status": "success"
}
This endpoint allows you to index multiple repositories at once, making them available for Devin to access during sessions. You can index up to 100 repositories in a single request.

Request Body

org_id
string
required
The unique identifier of the organization that owns the repositories
repo_names
array
required
Array of repository names to index. Must contain between 1 and 100 repositories. Each repository name should be in the format “owner/repo-name”.

Response

status
string
required
Status of the operation. Always returns “success” for successful requests.
curl -X POST "https://api.devin.ai/beta/v2/enterprise/repositories/bulk-index" \
  -H "Authorization: Bearer YOUR_ENTERPRISE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "org_id": "org-80fea1dfefde43bea4c05fba65254f22",
    "repo_names": [
      "my-org/frontend-app",
      "my-org/backend-api",
      "my-org/shared-utils"
    ]
  }'
{
  "status": "success"
}

Error Responses

  • 400 - Bad Request (empty org_id, empty repo_names, or more than 100 repositories)
  • 403 - Access denied to this organization
  • 422 - Validation error (invalid request format)

Notes

  • Repository indexing is an asynchronous operation
  • Use the Get Repository Status endpoint to check indexing progress
  • Only repositories that your organization has access to can be indexed
  • Duplicate repository names in the request will be ignored