DealGraph quickstart
First API call in 30 seconds. No account needed for the demo dataset.
1. Read the demo portfolio
curl -s https://dealgraph.vc/api/v1/dashboard \
-H "Authorization: Bearer dg_demo"
The dg_demo key serves a fictional read-only portfolio (Aurora Ventures). Every read
endpoint works with it; writes are simulated only (?dryRun=true).
2. Explore
# All companies in the demo org
curl -s https://dealgraph.vc/api/v1/companies -H "Authorization: Bearer dg_demo"
# Latest metrics for a company
curl -s "https://dealgraph.vc/api/v1/companies/d3m0c0de-0001-4000-8000-000000000001/metrics?latest=true" \
-H "Authorization: Bearer dg_demo"
# Validate a write without persisting anything (works on the demo key)
curl -s -X POST "https://dealgraph.vc/api/v1/companies/d3m0c0de-0001-4000-8000-000000000001/metrics?dryRun=true" \
-H "Authorization: Bearer dg_demo" -H "Content-Type: application/json" \
-d '{"metricKey":"arr_eur","metricDate":"2026-08-01","valueNumeric":"1200000"}'
3. Use your own data
- Sign up at https://dealgraph.vc/login?signup=true and create your organization.
- An org admin creates an API key under Settings → API Keys (scope: read-only or read & write).
- Swap
dg_demofor yourdg_live_...key. All data is scoped to your organization.
4. Go agent-native
- Hosted MCP server:
https://dealgraph.vc/api/mcp— see the agent integration guide - Full API reference in one file: https://dealgraph.vc/llms-full.txt
- OpenAPI contract: https://dealgraph.vc/api/v1/openapi.json
Conventions you should know
- Money: every monetary value is absolute EUR (e.g.
"12500000.00"= €12.5M). No €M units. - Envelopes: success
{ "data": ... }, error{ "error": { "code", "message", "field"?, "details"? } }. - Write safety:
?dryRun=truevalidates and returns the would-be result inside a rolled-back transaction. Send anIdempotency-Keyheader on every POST create. DELETE is soft by default and reversible viaPOST /<entity>/{id}/restore. - Sync:
?updatedSince=<ISO>on list endpoints,GET /changes?since=<ISO>as a guaranteed change feed, webhooks (HMAC-signed, best-effort) for push. - Rate limits: 120 requests/minute per key, best effort. Responses carry
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset; 429s carryRetry-After.