Deptic Logo

Scan Endpoints

POST/api/scans

Auth: JWT Bearer

Create a new scan for a GitHub repository.

Request body

FieldTypeRequiredDescription
github_urlstringYesFull GitHub URL: https://github.com/owner/repo

Response

FieldTypeDescription
iduuidScan ID
statusstring"queued" — scan runs asynchronously
github_urlstringRepository URL
created_attimestampISO 8601

Code example

bash
curl -X POST https://api.deptic.in/api/scans \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"github_url": "https://github.com/spring-projects/spring-petclinic"}'

Response example

json
{
  "id": "e6caf740-993c-4ed6-8f09-48c2c3db1b99",
  "status": "queued",
  "github_url": "https://github.com/spring-projects/spring-petclinic",
  "ecosystem": "",
  "created_at": "2026-05-10T13:21:10Z"
}
GET/api/scans/:scanID

Auth: JWT Bearer

Get full scan results including stats, vulnerability summary, and compliance score.

Path parameters

ParameterTypeDescription
scanIDuuidScan ID from POST /api/scans response

Response example

json
{
  "id": "e6caf740-993c-4ed6-8f09-48c2c3db1b99",
  "status": "done",
  "github_url": "https://github.com/spring-projects/spring-petclinic",
  "ecosystem": "maven",
  "stats": {
    "inventory_size": 63,
    "direct_library": 15,
    "transitive": 48,
    "license_spread": 14,
    "active_threats": 12
  },
  "vulnerability_summary": {
    "critical": 0,
    "high": 0,
    "medium": 12,
    "low": 0
  },
  "compliance": {
    "ntia_score": 85,
    "status": "PARTIALLY COMPLIANT",
    "ntia_compliant": false,
    "eu_cra_compliant": false
  },
  "ecosystem_breakdown": {
    "maven": {
      "count": 63,
      "direct": 15,
      "transitive": 48
    }
  },
  "manifest_files": [
    { "path": "pom.xml", "ecosystem": "maven" }
  ],
  "created_at": "2026-05-10T13:21:10Z",
  "completed_at": "2026-05-10T13:21:52Z"
}
POST/api/scan-local

Auth: API Key in request body

Scan a local project by uploading manifest file contents. Used by the deptic-scan CLI.

Request body example

json
{
  "api_key": "depticio_your_key",
  "project_name": "my-app",
  "manifests": [
    {
      "filename": "package.json",
      "path": "package.json",
      "content": "{ \"dependencies\": { \"express\": \"4.16.0\" } }",
      "ecosystem": "npm"
    }
  ]
}

Limits

LimitValue
Max manifests per request50
Max file size per manifest5 MB
Request timeout10 minutes
Max scans per key1 (single-use)