Skip to main content
The repository endpoints let you inspect which repositories are currently indexed in BugViper and remove repositories you no longer need. Deleting a repository removes all nodes and relationships from the Neo4j graph database as well as the repository metadata stored in Firestore. Both operations require a valid Firebase ID token.

GET /api/v1/repos/

Returns all repositories that the authenticated user has indexed. The list is read from Firestore and includes metadata such as language, star count, and ingestion status alongside each repository.
Authorization
string
required
Firebase ID token. Format: Bearer <token>.

Response

repositories
object[]
Array of repository metadata objects. Each object includes fields such as owner, repo_name, full_name, language, stars, forks, private, default_branch, ingestion_status, and ingested_at.
total
number
Total number of repositories returned.

Example

curl https://your-bugviper-instance/api/v1/repos/ \
  -H "Authorization: Bearer YOUR_FIREBASE_ID_TOKEN"
{
  "repositories": [
    {
      "owner": "acme-corp",
      "repo_name": "my-api",
      "full_name": "acme-corp/my-api",
      "language": "Python",
      "stars": 142,
      "forks": 18,
      "private": false,
      "default_branch": "main",
      "ingestion_status": "ingested",
      "ingested_at": "2026-04-08T14:22:11+00:00"
    }
  ],
  "total": 1
}

DELETE /api/v1/repos//

Removes a repository and all its associated graph data from both Neo4j and Firestore. This operation is irreversible — you will need to re-ingest the repository if you want it indexed again.
owner
string
required
GitHub organization name or username that owns the repository (e.g. acme-corp).
repo_name
string
required
Repository name as it appears on GitHub (e.g. my-api).
Authorization
string
required
Firebase ID token. Format: Bearer <token>.

Response

message
string
Confirmation message, e.g. "Repository acme-corp/my-api deleted successfully".
deleted_repository_id
string
The repository ID that was deleted, in owner/repo_name format.

Error responses

StatusCause
404Repository not found in the graph database.
401Missing or invalid Firebase token.

Example

curl -X DELETE https://your-bugviper-instance/api/v1/repos/acme-corp/my-api \
  -H "Authorization: Bearer YOUR_FIREBASE_ID_TOKEN"
{
  "message": "Repository acme-corp/my-api deleted successfully",
  "deleted_repository_id": "acme-corp/my-api"
}
Deleting a repository removes all graph nodes, relationships, and embeddings permanently. There is no soft-delete or recovery option. Re-ingesting a deleted repository starts the full ingestion pipeline from scratch.