API Reference
The Fpgawright REST API v1.0 is available at https://api.fpgawright.com/v1. All requests must be authenticated with a Bearer token.
Authentication
Include your API key as a Bearer token in the Authorization header:
Authorization: Bearer fpgw_your_api_key_here
API keys are scoped to your organization. Generate and revoke keys from the dashboard. Keys have no expiry by default; rotate them on a schedule appropriate to your security policy.
Submit Analysis Job
Submit RTL source files for analysis. Returns a job ID you can poll for results.
Request body (JSON):
{
"name": "my-design-v1.4",
"language": "systemverilog",
"source_archive_url": "https://storage.example.com/rtl-v1.4.tar.gz",
"diff_base_job_id": "job_abc123",
"config": {
"fail_on": "error",
"learning_enabled": true
}
}
Response:
{
"job_id": "job_xyz789",
"status": "queued",
"created_at": "2026-06-10T14:22:00Z"
}
Get Results
Poll for job status and retrieve results when complete.
Response when complete:
{
"job_id": "job_xyz789",
"status": "complete",
"summary": {
"errors": 3,
"warnings": 7,
"passed": false
},
"violations": [
{
"rule_id": "GLT-003",
"severity": "error",
"file": "rtl/clock_sync.sv",
"line": 142,
"module": "clock_sync_module",
"message": "Multi-bit signal crosses clock domains without synchronizer",
"learned_weight": 2.4
}
]
}
Configure Rule Sets
Create a named rule set configuration that can be referenced by multiple jobs.
List all rule sets in your organization.
Webhooks
Register a webhook URL to receive job completion notifications. Fpgawright signs the payload with a HMAC-SHA256 header X-Fpgawright-Signature.
Webhook payload on job completion:
{
"event": "job.complete",
"job_id": "job_xyz789",
"passed": false,
"errors": 3,
"warnings": 7,
"timestamp": "2026-06-10T14:26:43Z"
}
Rate limits
- Starter plan: 500 analyses per month, 2 concurrent jobs
- Team plan: unlimited analyses, 10 concurrent jobs
- Enterprise: custom limits
Rate limit headers are included in all API responses: X-RateLimit-Remaining and X-RateLimit-Reset.