Reference
API Reference
The Sigil cloud API powers the web dashboard and CI/CD integrations. Available on Pro and Team plans.
Authentication
All API requests require a Bearer token. Generate an API key from your dashboard settings.
curl -H "Authorization: Bearer sk_live_..." \
https://api.sigilsec.ai/v1/scansBase URL
https://api.sigilsec.ai/v1All endpoints are versioned under /v1. Rate limits: 100 requests/minute (Pro), 500 requests/minute (Team).
Endpoints
/v1/scansPro, TeamSubmit a new scan. Returns a scan ID for polling results.
/v1/scans/:idPro, TeamGet scan result by ID. Includes full verdict, score, and per-phase findings.
/v1/scansPro, TeamList scan history with pagination and filtering. Supports date range, verdict, and target filters.
/v1/threatsPro, TeamQuery the threat intelligence database. Returns known malicious packages and patterns.
/v1/policies/evaluateTeamEvaluate a scan result against a custom policy. Returns pass/fail and policy violations.
/v1/team/membersTeamList team members, roles, and scan activity.
Submit a scan
curl -X POST https://api.sigilsec.ai/v1/scans \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"target": "npm:express@4.18.2",
"policy": "default"
}'Response
{
"id": "scan_01abc...",
"status": "completed",
"target": "npm:express@4.18.2",
"score": 0,
"verdict": "clean",
"phases": {
"install_hooks": { "score": 0, "findings": [] },
"code_patterns": { "score": 0, "findings": [] },
"network_exfil": { "score": 0, "findings": [] },
"credentials": { "score": 0, "findings": [] },
"obfuscation": { "score": 0, "findings": [] },
"provenance": { "score": 0, "findings": [] }
},
"duration_ms": 2140,
"created_at": "2026-02-19T10:30:00Z"
}Error handling
All errors return a consistent JSON structure with an error code and message.
{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Retry after 60 seconds.",
"status": 429
}
}| Status | Description |
|---|---|
| 401 | Invalid or missing API key |
| 403 | Endpoint not available on your plan |
| 404 | Resource not found |
| 422 | Invalid request body or parameters |
| 429 | Rate limit exceeded |
SDK libraries
Official TypeScript and Python SDK libraries are in development. For now, use the REST API directly or the CLI with --output json.
Need help?
Ask a question in GitHub Discussions or check the troubleshooting guide.