API Reference

Full programmatic access to trigger analyses, retrieve results, and integrate ARI into your release toolchain. All endpoints require a valid API key.

BASE URLhttps://api.ari.sh

Authentication

All API requests must include your API key in the Authorization header as a Bearer token. You can generate an API key from Dashboard → Settings → API Keys.

curl https://api.ari.sh/v1/projects \
  -H "Authorization: Bearer ari_live_xxxxxxxxxxxxxxxxxxxx"
Never expose your API key in client-side code or public repositories. Use environment variables and secrets management to keep it safe.

POST /v1/analyze

Trigger a new release-risk analysis for a project. Returns an analysis_id you can use to poll status or receive via webhook on completion.

REQUEST

POST /v1/analyze
Content-Type: application/json
Authorization: Bearer ari_live_xxxx

{
  "project_id": "proj_01j9xkz2p4m8v",
  "url": "https://staging.myapp.com",
  "label": "v2.4.1-rc1"
}

PARAMETERS

project_idrequired
string

The unique identifier of the project to analyze.

urlrequired
string

The staging or preview URL to analyze. Must be publicly reachable.

label
string

Optional human-readable label for this analysis, e.g. a version or branch name.

RESPONSE (202 Accepted)

{
  "analysis_id": "anlys_01jaz87kp9m3t",
  "project_id": "proj_01j9xkz2p4m8v",
  "status": "pending",
  "label": "v2.4.1-rc1",
  "created_at": "2026-04-09T14:30:00Z",
  "estimated_completion_seconds": 90
}

GET /v1/analyze/:analysis_id — POLL STATUS

{
  "analysis_id": "anlys_01jaz87kp9m3t",
  "status": "complete",
  "verdict": "WARNING",
  "risk_score": 62,
  "confirmed_bugs": 3,
  "completed_at": "2026-04-09T14:31:28Z",
  "report_url": "https://app.ari.sh/dashboard/reports/anlys_01jaz87kp9m3t"
}

STATUS VALUES

pending

Analysis is queued and has not yet started.

running

Analysis is actively probing and collecting evidence.

complete

Analysis finished successfully. Report is available.

failed

Analysis could not complete. Check that the URL is reachable.

Rate Limits

Rate limits are enforced per API key. Limits vary by plan. When you exceed a limit, the API returns a 429 Too Many Requests response.

Free5 / month
Starter50 / month
Pro100 / month

The /v1/analyze endpoint is additionally limited to 12 requests per 10-minute window per API key, regardless of plan.