Docs & quickstart
Quickstart
- Check out on the pricing page — your workspace is provisioned automatically when Stripe confirms payment.
- Claim your workspace on the claim page: your API key (shown once), hosted intake link, and embed snippet.
- Put the form where requesters find it: link your privacy page to the hosted intake URL, or paste the embed snippet for the widget.
- Work requests in the API or tracker: confirm identity, assign an owner, check off data sources, assemble the response package, and send the requester a secure download link. Every step lands in the audit trail.
Self-host quickstart
pip install -r requirements.txt
export DSARFLOW_ADMIN_TOKEN=<your-token>
gunicorn -w 2 -b 0.0.0.0:5000 'dsarflow.app:create_app()'
# Hosted intake (per workspace): GET /t/<slug>/request
# Identity confirm: GET /verify/<token>
# Tenant API: X-Tenant-Key: df_...
API reference
- POST /t/{slug}/request — branded tenant intake (caps + suspension enforced; identity confirmation starts automatically).
- GET/POST /verify/{token} — requester identity confirmation (single-use email link).
- GET /api/v1/t/requests — tenant list with days-left, urgency, and the statute citation behind each deadline (tenant key).
- POST /api/v1/t/requests/{id}/transition — advance the state machine (denials need a reason code; extensions need a logged reason; illegal jumps → 400).
- Tasks, assignment, response packages + requester download links, audit trail, CSV export — see OPENAPI.md in the repo.
- POST /api/v1/stripe/webhook — provisioning + subscription lifecycle (signature-verified).
The complete reference (every endpoint/command with method, path, auth, and example request/response) ships as OPENAPI.md in the product repo.
Support
Questions? Contact us — a human reads every message.