Skip to main content

Production APIs

How hosted Unveilr is exposed so every persona — developers, AppSec, tenant admins, platform operators, CI, and agents — can use the same production origin without private-repo access.

Complete API guide

Step-by-step playbooks, auth, conventions, and the full /v1 catalog live under API:

Operator runbook

DNS, CDN, Terraform cutover, and the internal completeness checklist live in the monorepo (docs/PRODUCTION_APIS.md, docs/API_PRODUCTION_READY.md) — private repo; ask your Unveilr contact. This site is the customer-facing contract.

Source stays private

The Unveilr git repository is not public. Install the CLI from a checksummed partner binary (works today) or, after the GA cut, from the binary CDN (get.unveilr.ai or your operator’s CloudFront URL). Never use raw.githubusercontent.com.

Public surfaces

One HTTPS origin with path routing:

PathServiceUsed by
/v1/*Admin APIConsole BFF, CLI --upload, CI tokens, integrations
/healthz, /readyzAPI healthLoad balancers, ops probes
/gateway/healthz, /gateway/readyzGateway healthRuntime gateway and API control-plane readiness
/mcp/*MCP GatewayRuntime agent traffic
/*Web consoleHumans (SSO)

Current primary origin: https://guard.unveilr.ai

export UNVEILR_API=https://guard.unveilr.ai
export UNVEILR_CONSOLE=https://guard.unveilr.ai

Optional brand aliases (only after your operator confirms DNS is live):

AliasPurpose
https://api.unveilr.aiSame Admin API under a shorter host
https://get.unveilr.ai/install.shOne-line CLI installer (CDN, not GitHub) — not live until GA

Install the CLI

Works today:

# Hand-delivered binary + checksum from your Unveilr contact
shasum -a 256 -c unveilr.sha256
chmod +x unveilr && sudo mv unveilr /usr/local/bin/
unveilr --version

After GA CDN is live:

curl -fsSL https://get.unveilr.ai/install.sh | sh
# pin a release:
curl -fsSL https://get.unveilr.ai/install.sh | UNVEILR_VERSION=v0.1.0 sh

Before the short hostname exists, use the CloudFront (or S3) origin your operator gives you — same install.sh layout — or stay on the partner-binary path. Other methods: Installation.

Authenticate (quick map)

CallerHow
Human in the consoleWorkOS SSO → /o/<org-slug>
CLITenant-bound service token from Settings → API Tokens
CI / automationService token from Settings → API Tokens
Agent runtimeApproved agent identity → Gateway or POST /v1/govern/check
export UNVEILR_TOKEN=uvt_…
unveilr login --token "$UNVEILR_TOKEN" --api "$UNVEILR_API"
unveilr scan --upload

curl -fsS "$UNVEILR_API/v1/onboarding" \
-H "Authorization: Bearer $UNVEILR_TOKEN"

Never use client-selected X-Unveilr-* tenant headers. Full detail: Authentication.

Personas — first success

PersonaFirst successGuide
DeveloperOffline unveilr scan; optional --uploadPlaybook
AppSec / GRCTriage findings; export CycloneDX / evidencePlaybook
Tenant adminMint uvt_; connect GitHub; register agentsPlaybook
Platform super adminProvision org + invite tenant adminPlaybook
CI / CDObserve mode on PR; optional uploadPlaybook
Agent / runtimeAllow/deny via Gateway or govern checkPlaybook

Health checks

curl -fsS "$UNVEILR_API/healthz"
curl -fsS "$UNVEILR_API/readyz"

Self-hosted vs SaaS

ModeOriginDocs
Unveilr-hosted / your staginghttps://guard.unveilr.ai (or operator URL)This page + API
Your AWS accountCloudFront URL from TerraformSelf-hosting

Production hardening (OIDC, no dev headers, gateway token): see Self-hosting → Secure by default.