complyeah
Developers

API documentation

Run External Security and read only AI Buyer Journeys, inspect exact domain usage, and export both report types. The two modules share verified domains but keep separate results and meaning.

Authenticate

Create a key on the API page in your account, then send it as a bearer token on every request. The secret is shown once, so store it safely.

Read for free

Listing domains, usage, suites, results, and reports consumes no test allowance.

Server-enforced usage

Pentests use a $50 credit or Continuous quarterly allowance. Each complete Agent workflow uses one monthly agent run credit.

Base URL & authentication

All requests go to https://api.complyeah.com over HTTPS. Authenticate with the Authorization header:

curl https://api.complyeah.com/v1/scans \
  -H "Authorization: Bearer cmply_live_..."

Send an Idempotency-Key on run-creating requests. Ownership verification, product-specific authorization, exact-domain scope, and available quota are checked again by the worker before execution.

Endpoints

MethodPathDescription
GET/v1/meConfirm your key and identity.
GET/v1/catalogRead the versioned plan, quota, and test catalog.
GET/v1/domainsList your domains and their verification status.
GET/v1/domains/{id}/overviewRead independent Security and Agent Readiness state for a domain.
GET/v1/domains/{id}/entitlementsRead server-calculated domain usage and remaining allowances.
GET/v1/scansList your scans.
POST/v1/scansStart a scan on a verified domain. A comprehensive scan spends one credit.
GET/v1/agent-suitesList Agent Readiness suites and schedules.
POST/v1/agent-suitesCreate an editable suite from a bounded journey template.
POST/v1/domains/{id}/agent-authorizationRecord separate Agent Readiness authorization for a verified domain.
DELETE/v1/domains/{id}/agent-authorizationRevoke Agent Readiness authorization and stop future runs.
POST/v1/agent-runsQueue a complete workflow and reserve one agent run credit.
GET/v1/agent-runs/{id}Read immutable run status and customer-safe timing metadata.
GET/v1/agent-runs/{id}/resultsRead answers, evidence, assertions, actions, failures, and remediation.
GET/v1/agent-runs/{id}/report?format=json|markdown|pdfExport an Agent Readiness report.
POST/v1/agent-runs/{id}/shareExplicitly publish a private, expiring, sanitized report link.
DELETE/v1/agent-runs/{id}/shareRevoke a published Agent Readiness report link.
GET/v1/usageList per-domain quota periods, reservations, and consumption.
GET/v1/reportsList Security and Agent Readiness reports without a combined score.
GET/v1/scans/{id}Retrieve one scan and its status.
GET/v1/scans/{id}/findingsList a scan's findings, each with a stable id for de-duplication.
POST/v1/scans/{id}/reverifyRe-check individual fixes for free without spending a pentest allowance.
POST/v1/scans/{id}/retestUse this completed pentest's one included full retest within 60 days.

Start a scan

Pass a verified domain_id (from GET /v1/domains) and a tier. Omit the tier for a free shallow posture scan.

curl -X POST https://api.complyeah.com/v1/scans \
  -H "Authorization: Bearer cmply_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "domain_id": "<your-domain-id>", "tier": "comprehensive" }'

Responses

Responses are JSON. Collections are wrapped in a data array so pagination can grow without breaking your integration.

{
  "data": [
    { "id": "…", "status": "complete", "tier": "comprehensive", "created_at": "…" }
  ]
}

Errors

Standard HTTP status codes; the body carries an error message.

401Missing or invalid API key.
402A comprehensive scan needs a scan credit.
403The domain has no current authorization on file.
404No such scan (or it isn't yours).
422The domain's ownership isn't verified yet.
429Rate limit or free-scan limit reached.
Model Context Protocol

Use complyeah from your AI assistant

complyeah-mcp is an open source Model Context Protocol server, so Claude Desktop, IDE assistants, and any MCP-compatible client can list your scans, read findings, and start a pentest, using the same API key. Add it to your client config:

{
  "mcpServers": {
    "complyeah": {
      "command": "npx",
      "args": ["-y", "complyeah-mcp"],
      "env": { "COMPLYEAH_API_KEY": "cmply_live_..." }
    }
  }
}

Tools: whoami, list_domains, list_scans, get_scan, get_findings, and trigger_scan. The key is read from the environment, never passed through the model. View on npm.

Get your API key

Create a key in your account, verify a domain, and run your first pentest from the command line.