STVerify™|API Reference
PricingDashboard

STVerify™ API

The STVerify™ API provides programmatic access to business entity compliance verification, Start Score™ data, and continuous compliance monitoring. Built on the Start Today™ compliance platform — the same data powering enterprise business management for hundreds of American companies.

✅
Verify
Point-in-time compliance check — good standing, overdue items, insurance, EIN.
📊
Score
Pull the Start Score™ for any entity — 0–100 compliance health across 11 pillars.
🔔
Monitor
Continuous monitoring with webhook alerts on status changes.
# Base URL
https://stverify.com/api/v1

# Available endpoints
POST /v1/verify    — Entity compliance check
POST /v1/score     — Start Score™ lookup
POST /v1/monitor   — Enroll for continuous monitoring

# Supabase Edge Function equivalents (for Start Today internal use)
https://ptgtliwllimkswtajcmy.supabase.co/functions/v1/stverify-verify
https://ptgtliwllimkswtajcmy.supabase.co/functions/v1/stverify-score
https://ptgtliwllimkswtajcmy.supabase.co/functions/v1/stverify-monitor

Authentication

All API requests require an API key passed as a Bearer token. Keys are managed in the STVerify Dashboard and scoped per product.

stv_live_...
Production
Billed against quota. Use in server-side code only.
stv_test_...
Test / Dev
Free, unlimited, returns mock data. Safe for CI.
curl -X POST https://stverify.com/api/v1/verify \
  -H "Authorization: Bearer stv_live_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{"ein": "47-1234567"}'
Security: Never expose API keys in client-side code or public repositories. All keys are hashed at rest. Lost keys cannot be recovered — generate a new key from the dashboard.

POST /v1/verify

POST/v1/verify$0.25/call

Point-in-time compliance check for a business entity. Returns SOS good standing, overdue compliance items, active insurance, upcoming filings, and an overall compliance tier.

Request — Entity Resolution (one required)

ParameterTypeRequiredDescription
einstringoptionalFederal EIN with or without hyphen. Example: 47-1234567 or 471234567.
entity_iduuidoptionalStart Today entity UUID. Most precise — no name matching ambiguity.
namestringoptionalEntity legal name. Must be combined with state.
statestringoptional2-letter state code (IL, WI, TX). Required when using name.

Response

{
  "object":          "verify.result",
  "entity_id":       "uuid",
  "entity_name":     "Redrock Manufacturing LLC",
  "ein":             "47-1234567",
  "state":           "IL",
  "entity_type":     "LLC",
  "good_standing":   true,
  "formation_date":  "2019-03-15",
  "compliance_tier": "at_risk",       // compliant | watch | at_risk | critical
  "overdue_count":   2,
  "active_insurance_count": 3,
  "upcoming_items": [
    { "title": "IL Annual Report", "due": "2026-04-15" }
  ],
  "overdue_items": [
    { "title": "Q4 DSCR Certification", "due": "2026-01-31" }
  ],
  "verified_at":     "2026-03-26T15:00:00.000Z",
  "powered_by":      "STVerify™"
}

Compliance Tiers

TierMeaningLender Interpretation
compliantGood standing, zero overdue items, insurance currentClean borrower. No compliance-related credit concerns.
watch1–2 minor items upcoming, all in good standingMonitor. No immediate action required.
at_risk1–3 overdue items or standing issuesRequire resolution plan. Flag in credit memo.
critical4+ overdue items or standing revokedSerious concern. Covenant trigger may apply.

POST /v1/score

POST/v1/score$0.10/call

Retrieve the Start Score™ for an entity or organization. Returns the 0–100 compliance health score, score band, overdue count, and risk flags. Includes lender and deal-context interpretation notes.

Request Parameters

ParameterTypeRequiredDescription
org_iduuidoptionalOrganization UUID. Returns portfolio-level score.
entity_iduuidoptionalEntity UUID. Resolves to org_id automatically.
einstringoptionalFederal EIN. Resolves to org_id automatically.

Response

{
  "object":        "score.result",
  "org_id":        "uuid",
  "score":         84.6,
  "band":          "GOOD+",            // EXCELLENT | GOOD+ | GOOD | NEEDS ATTENTION | AT RISK | CRITICAL
  "overdue_count": 2,
  "risk_flags":    ["Q2 financials due in 18 days", "HR policy acks 78% complete"],
  "interpretation": {
    "lender_note": "Borrower demonstrates strong compliance posture. Low documentation risk.",
    "deal_note":   "Entity compliance supports deal readiness."
  },
  "scored_at":     "2026-03-26T15:00:00.000Z",
  "powered_by":    "STVerify™ · Start Score™"
}
Start Score™ = STVerify Certified Calculation™. Each score call generates a billable certified calculation. Use for lender covenant monitoring, deal diligence, and portfolio risk scoring.

POST /v1/monitor

POST/v1/monitor$25/mo per org

Enroll an organization for continuous compliance monitoring. Receive webhook alerts when score drops, good standing changes, insurance lapses, or new overdue items appear. Use GET /v1/monitor?org_id=X to check monitoring status.

Enroll — POST /v1/monitor

ParameterTypeRequiredDescription
org_iduuidrequiredOrganization to enroll for monitoring.
webhook_urlstringoptionalHTTPS URL to receive alert payloads. Must respond 200 within 5s.
alert_onarrayoptionalEvent types: score_drop | standing_change | insurance_lapse | overdue_item. Defaults to all.

Webhook Payload

{
  "event":       "score_drop",
  "org_id":      "uuid",
  "org_name":    "Redrock Industries Holdings LLC",
  "previous":    89.2,
  "current":     71.4,
  "delta":       -17.8,
  "risk_flags":  ["Cyber policy expired", "2 annual reports overdue"],
  "action_url":  "https://client.starttoday.biz/compliance",
  "fired_at":    "2026-03-26T15:00:00.000Z",
  "powered_by":  "STVerify™"
}

Alert Events

EventTriggerTypical Use
score_dropScore decreases ≥5 pointsLender covenant monitor, deal risk alert
standing_changeGood standing revoked or restoredImmediate lender notification
insurance_lapseRequired coverage expires or cancelledProperty/SBA lender covenant
overdue_itemNew overdue compliance item appearsPortfolio-level compliance reporting

Errors & Codes

HTTPCodeMeaning
400MISSING_PARAMSRequired parameter not provided
401UNAUTHORIZEDMissing or invalid API key
403FORBIDDENKey does not have scope for this endpoint
404NOT_FOUNDEntity or org not found in STVerify database
429RATE_LIMITEDQuota exceeded. See rate limits.
500INTERNAL_ERRORSTVerify internal error. Retry with exponential backoff.
// All error responses follow this shape
{
  "error": "Entity not found",
  "code":  "NOT_FOUND"
}

Rate Limits

PlanVerifyScoreMonitorWindow
Starter10050010 orgsmonthly
Growth1,0005,00050 orgsmonthly
Professional10,00050,000250 orgsmonthly
EnterpriseUnlimitedUnlimitedUnlimited—

Rate limit headers are included on every response: X-RateLimit-Remaining and X-RateLimit-Reset. Use exponential backoff on 429 responses.

Changelog

March 2026 — v1.2
+Added /v1/verify, /v1/score, /v1/monitor endpoints
+Start Score™ now returns lender_note and deal_note interpretation hints
+Monitor webhooks support 4 event types with structured payloads
+Compliance tier added to verify response (compliant | watch | at_risk | critical)
February 2026 — v1.1
+Added /v1/regulatory/changes, /v1/regulatory/sources, /v1/regulatory/watch
+Regulatory intelligence layer for state filing rule changes
January 2026 — v1.0
+Initial launch — API key management, developer dashboard