API and embedding
Owner-approved QuickBooks reports, inside your own product.
Deal rooms, lending platforms and advisory tools use the same core as FinShare's own dashboard: create a request, send the owner to a hosted consent page, and receive tied-out reports by webhook. You never touch an Intuit token.
1 · Create a request
curl https://app.finshare.io/v1/requests \
-H "Authorization: Bearer fl_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: deal-42-financials" \
-d '{
"items": [
{ "report_type": "profit_and_loss",
"period": { "kind": "trailing_months", "months": 12 },
"basis": "accrual", "options": { "summarize_by": "month" } },
{ "report_type": "balance_sheet", "period": { "kind": "as_of" } }
],
"requester": { "name": "Dana Reyes", "email": "dana@harborpoint.example" },
"owner": { "name": "Sam Ortiz", "email": "sam@business.example" },
"access_days": 90,
"external_ref": "deal-42",
"return_url": "https://app.example.com/deals/42",
"send_owner_email": false
}'2 · Send the owner to consent_url
The response includes a consent_url, shown once. The owner reviews, connects QuickBooks and approves on FinShare’s page, then gets a button back to your return_url.
3 · Receive report.ready
{
"id": "evt_…",
"type": "report.ready",
"created_at": "2026-10-28T19:35:02Z",
"data": {
"request_id": "req_…",
"external_ref": "deal-42",
"report": { "files": { "xlsx": "…" } }
}
}Webhooks
Fourteen events across the request lifecycle.
Signed with Standard Webhooks. Delivery is at least once, with retries for about two to three days; dedupe on the webhook-id header.
- Request
request.viewed
request.approved
request.declined
request.cancelled
- Round
round.awaiting_approval
round.approved
round.declined
round.delivered
- Report
report.ready
report.failed
- Grant
grant.revoked
grant.expired
- Connection
connection.needs_reconnect
connection.reconnected
Periods that move
Periods are relative to a period end: as of, trailing months, year to date, the last N fiscal years. Roll a request forward and every report moves with it.
Raw data when you need it
Download any report as Excel, CSV or JSON, or fetch the raw QuickBooks response behind it with the query, fetch time and a SHA-256 hash.
Connector mode
For trusted host apps: the owner connects once, then reports are pulled when they click in your product. Enabled per account; email us.
In the dashboard
Keys and webhook endpoints, managed by your team.

Build it into your product.
API access is included with every account. Create one, then make a key on the Developers page. Building FinShare into a platform? Ask us about volume pricing.