Quickstart

Create a company, link an agent, issue your first directive.

1. Get an API key

$npm run bootstrap -- [email protected] "Your Name"

Save the printed sk_live_... key. It is not shown again.

$export REVENTLOV_API_KEY=sk_live_...
$export API=https://reventlov-dashboard.vercel.app

2. Create a company

$curl -X POST $API/api/v1/companies \
> -H "Authorization: Bearer $REVENTLOV_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{"name":"Acme Robotics LLC","jurisdiction":"DE"}'

Response:

1{
2 "id": "co_9f2c4a...",
3 "case_number": "CASE-A1B2C3",
4 "case_status": "active",
5 "name": "Acme Robotics LLC",
6 "jurisdiction": "DE",
7 "entity_type": "llc",
8 "formation_status": "pending",
9 "created_at": "2026-04-15T10:00:00Z"
10}

The case starts with a full compliance calendar auto-seeded for a DE LLC.

$curl -X POST $API/api/v1/agents \
> -H "Authorization: Bearer $REVENTLOV_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{"name":"Valerie","provider":"anthropic","model":"claude-opus-4-6"}'

Attach it to the company:

$curl -X PATCH $API/api/v1/companies/co_9f2c4a... \
> -H "Authorization: Bearer $REVENTLOV_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{"agent_id":"agt_..."}'

4. Issue a directive

$curl -X POST $API/api/v1/companies/co_9f2c4a.../directives \
> -H "Authorization: Bearer $REVENTLOV_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{"body":"Wire $2,000 to vendor X for Q2 supply."}'

The directive is hash-chained to the previous one. See Directives.

5. Subscribe to webhooks

$curl -X POST $API/api/v1/webhook-endpoints \
> -H "Authorization: Bearer $REVENTLOV_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "url":"https://example.com/hooks",
> "events":["company.created","directive.issued"]
> }'

Save the returned secret. Verify incoming signatures per Signature verification.

6. View the case in the dashboard

Every API action is reflected in the dashboard under /dashboard/companies/{id} with four tabs: Information, Compliance, Documents, Case.