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"
}
}