Skip to content

API Reference

amazingkj edited this page Jan 21, 2026 · 1 revision

API Reference

All endpoints are prefixed with /api/v1.

Dependencies

List Dependencies

GET /dependencies

Query Parameters:

Parameter Type Description
repo string Filter by repository name
ecosystem string Filter by ecosystem (npm, maven, gradle, go)
status string Filter: upgradable, uptodate, prod, dev, ignored
package string Filter by package name
page int Page number (default: 1)
per_page int Items per page (default: 50)

Response:

{
  "dependencies": [
    {
      "id": 1,
      "name": "react",
      "current_version": "18.2.0",
      "latest_version": "19.0.0",
      "ecosystem": "npm",
      "type": "dependency",
      "is_outdated": true,
      "repository": "my-org/my-app"
    }
  ],
  "total": 100,
  "page": 1,
  "per_page": 50
}

Export Dependencies

GET /dependencies/export

Query Parameters:

Parameter Type Description
outdated bool Export only outdated dependencies
repo string Filter by repository
ecosystem string Filter by ecosystem

Returns CSV file download.

Get Filter Options

GET /dependencies/filter-options

Returns available filter values based on current data.

Ignore Dependency

POST /dependencies/{id}/ignore

Restore Dependency

POST /dependencies/{id}/restore

Bulk Ignore

POST /dependencies/bulk-ignore

Body:

{
  "ids": [1, 2, 3]
}

Bulk Restore

POST /dependencies/bulk-restore

Body:

{
  "ids": [1, 2, 3]
}

Sources

List Sources

GET /sources

Create Source

POST /sources

Body:

{
  "name": "My GitHub Org",
  "type": "github",
  "token": "ghp_xxxxxxxxxxxx",
  "organization": "my-org",
  "url": "",
  "repositories": ""
}
Field Required Description
name Yes Display name
type Yes github or gitlab
token Yes Personal access token
organization Yes Organization/group name
url No GitLab URL (for self-hosted)
repositories No Comma-separated repo list

Delete Source

DELETE /sources/{id}

Repositories

List Repositories

GET /repositories

Query Parameters:

Parameter Type Description
source_id int Filter by source

Delete Repository

DELETE /repositories/{id}

Bulk Delete Repositories

DELETE /repositories/bulk

Body:

{
  "ids": [1, 2, 3]
}

Scanning

Trigger Scan

POST /scan

Query Parameters:

Parameter Type Description
source_id int Scan specific source only

Response:

{
  "scan_id": 123
}

Get Scan Status

GET /scan/{id}

Response:

{
  "id": 123,
  "status": "completed",
  "total_repos": 50,
  "scanned_repos": 50,
  "total_deps": 1234,
  "started_at": "2024-01-15T10:00:00Z",
  "completed_at": "2024-01-15T10:05:00Z"
}

Settings

Get Settings

GET /settings

Update Settings

PUT /settings

Body:

{
  "scan_schedule": "0 9 * * *",
  "scan_enabled": true
}

Health

Health Check

GET /health

Response:

{
  "status": "ok"
}