Documentation

From API key to filed report in 3 calls.

A walkthrough of the Statebolt filing lifecycle — sandbox to production.

Step 01

Authenticate

Generate keys in the dashboard. Use sk_test_ for sandbox, sk_live_ for production. Every request is signed and rate-limited per key.

Authenticate
# Verify your key
curl https://api.statebolt.com/v1/me \
  -H "Authorization: Bearer sk_test_••••"

{
  "id": "acct_2k9...",
  "mode": "sandbox",
  "rate_limit": 100
}

Step 02

Create the filing

POST a filing for any state and entity type. Statebolt validates required fields against the live SOS schema before queuing — no surprises at submission time.

Create the filing
POST /v1/filings
Content-Type: application/json

{
  "state": "DE",
  "entity_id": "ent_8xK2Lp",
  "type": "annual_report",
  "fiscal_year": 2026,
  "officers": [{ "name": "Jane Doe", "title": "CEO" }]
}

→ 201 Created
{
  "id": "fil_3jK8nM",
  "status": "queued",
  "estimated_filed_at": "2026-05-01T18:00:00Z"
}

Step 03

Receive the webhook

The moment the SOS issues a confirmation number, we POST it to your endpoint with an HMAC signature. Retry policy: 5 attempts with exponential backoff.

Receive the webhook
POST /your-webhook-handler
X-Statebolt-Signature: t=1735689600,v1=4f...

{
  "event": "filing.accepted",
  "data": {
    "id": "fil_3jK8nM",
    "state": "DE",
    "confirmation_number": "DE-2026-04412",
    "filed_at": "2026-05-01T17:42:11Z"
  }
}

That's it. Compliance is now an integration, not a department.