API Reference

The CADY REST API lets you submit schematics, poll review status, retrieve violation reports, and configure webhooks programmatically. Base URL: https://api.cadysoiutions.com/v1

Authentication

All endpoints require a Bearer token. Generate API keys in Settings > API Keys. Keys are scoped per team member and can be rotated or revoked independently.

Authorization: Bearer YOUR_API_KEY

Reviews

POST /v1/reviews Submit a new review

Upload a schematic or netlist file and start a new review run. Accepts multipart/form-data.

Request fields

Field Type Required Description
file file Yes Schematic, netlist, or BOM CSV. Max 50 MB.
profile string No standard (default) or any custom profile slug from your account.
bom file No Optional BOM CSV for cross-check rules.
webhook_url string No HTTPS URL to receive a POST callback when review completes.

Response

{
  "review_id": "rvw_01HQZP8KNVB3X6YAF2D7WTCM4E",
  "status": "queued",
  "created_at": "2026-04-14T09:17:43Z"
}
GET /v1/reviews/{review_id} Get review status

Poll the status of a review. Possible values for status: queued, running, complete, failed.

{
  "review_id": "rvw_01HQZP8KNVB3X6YAF2D7WTCM4E",
  "status": "complete",
  "violation_count": {
    "crit": 2,
    "warn": 2,
    "info": 1,
    "pass": 843
  },
  "created_at": "2026-04-14T09:17:43Z",
  "completed_at": "2026-04-14T09:19:25Z"
}

Reports

GET /v1/reviews/{review_id}/report Download report

Retrieve the full violation report. Use the format query parameter to select output format.

Query parameters

Parameter Values Default
format json, pdf, csv json
severity crit, warn, info, all all

Webhooks

When you supply a webhook_url on review creation, CADY sends a POST to that URL when the review completes. The payload mirrors the GET /v1/reviews/{id} response. Your endpoint must return HTTP 200 within 10 seconds; CADY retries up to 3 times with exponential backoff on non-200 or timeout.

Validate the X-CADY-Signature header on incoming webhooks to verify authenticity. The signature is a HMAC-SHA256 of the raw request body using your webhook secret from Settings.

Error codes

HTTP status Code Meaning
400 invalid_format File format not recognized or unsupported.
401 unauthorized Missing or invalid API key.
402 quota_exceeded Monthly review quota reached for your plan.
404 not_found Review ID does not exist in your account.
429 rate_limited Too many requests. Default limit is 60 requests per minute per API key.
500 internal_error Review engine failure. The review_id is still valid; retry after a short delay.