Developer API

Asenvra API

Integrate production-readiness scanning into your CI/CD pipeline. Automate security checks, block deployments with critical issues, and ship with confidence.

Pro plan and above · 100 credits per key · REST API

API Key Management

Create and manage API keys to authenticate your scans. Keys are available on Pro plan and above.

Credits Balance

Each API key starts with 100 credits. One scan costs one credit. Top up from your dashboard.

Code Examples

Trigger a scan with a single request. Replace vr_YOUR_API_KEY with your actual key.

curl
curl -X POST https://asenvra.com/api/v1/scan \
  -H "Authorization: Bearer vr_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"projectName":"my-app","inputType":"github_url","inputValue":"https://github.com/user/repo"}'

Response Schema

The scan endpoint returns a JSON object with your scan ID, status, and the full report.

JSON
{
  "scanId": "uuid-here",
  "status": "complete",
  "report": {
    "overallScore": "green|yellow|red",
    "totalIssues": 3,
    "criticalCount": 1,
    "warningCount": 1,
    "infoCount": 1,
    "categories": [{
      "name": "...",
      "score": "green",
      "issues": [...]
    }]
  }
}
scanIdstring (UUID)

Unique identifier for this scan

statusstring

One of: pending, running, complete, failed

report.overallScorestring

green, yellow, or red — overall health

report.totalIssuesinteger

Total number of issues found

report.criticalCountinteger

Number of critical-severity issues

report.warningCountinteger

Number of warning-severity issues

report.infoCountinteger

Number of informational issues

report.categoriesarray

Per-category breakdown with scores and issues

Webhook Payload

Configure a webhook URL in your dashboard to receive real-time notifications when scans complete.

JSON
{
  "event": "scan.complete",
  "timestamp": "2026-06-03T12:00:00Z",
  "data": {
    "scanId": "uuid-here",
    "projectName": "my-app",
    "status": "complete",
    "overallScore": "green",
    "totalIssues": 0,
    "criticalCount": 0,
    "warningCount": 0,
    "infoCount": 0
  }
}

Webhook details

  • Delivery: POST to your configured URL with JSON body
  • Retry: Up to 3 retries with exponential backoff on 5xx or timeout
  • Signature: X-Asenvra-Signature header with HMAC-SHA256 of the payload
  • Events: Currently supports scan.complete and scan.failed

GitHub Action Template

Drop this workflow into .github/workflows/asenvra.yml and add your API key as a repository secret.

YAML
name: Asenvra Scan
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run Asenvra Scan
        env:
          ASENVRA_API_KEY: ${{ secrets.ASENVRA_API_KEY }}
        run: |
          RESPONSE=$(curl -s -X POST \
            https://asenvra.com/api/v1/scan \
            -H "Authorization: Bearer $ASENVRA_API_KEY" \
            -H "Content-Type: application/json" \
            -d '{"projectName":"${{ github.repository }}","inputType":"github_url","inputValue":"${{ github.event.repository.html_url }}"}')
          echo "$RESPONSE"
          SCORE=$(echo "$RESPONSE" | jq -r '.report.overallScore')
          if [ "$SCORE" = "red" ]; then
            echo "::error::Asenvra scan failed — critical issues found"
            exit 1
          fi

Setup steps

  1. Create an API key from the section above
  2. Go to your GitHub repo Settings → Secrets and variables → Actions
  3. Add a new repository secret named ASENVRA_API_KEY
  4. Download the workflow file and place it in .github/workflows/asenvra.yml
  5. Push to main — Asenvra will scan on every push and PR

Start scanning from your terminal

Get your API key, integrate in minutes, and never ship a broken app again.

Pro plan and above · 100 credits per key · Cancel anytime