Legal Report Studio
Bank Integration API v1
Push legal-report cases directly from your loan origination system, track progress, add documents and download the finalised report — no email needed.
Base URL: https://ne.legalreportstudio.com/api/public/bank/v1
1. Authentication
Your law firm issues you an API key (test and live). Send it as a bearer token on every request. Keys are shown once at issue time — store them in your secrets vault.
Authorization: Bearer lrs_live_xxxxxxxxxxxxxxxxxxxx Content-Type: application/json
2. Create a case
POST /cases — documents are base64 encoded, 15 MB total per request. Re-posting the same external_ref returns the existing case instead of creating a duplicate, so retries are safe.
POST https://ne.legalreportstudio.com/api/public/bank/v1/cases
{
"external_ref": "LOS-2026-114233",
"applicant_name": "Ramesh Kumar",
"co_applicant_name": "Sunita Kumar",
"loan_account_number": "HL00456778",
"loan_amount": 4500000,
"case_type": "TSR",
"branch": "Karol Bagh",
"state": "Delhi",
"district": "New Delhi",
"property_description": "Flat 402, Tower B, Sector 12",
"contact_name": "A. Sharma",
"contact_email": "banker@bank.example.com",
"contact_phone": "9876543210",
"documents": [
{ "filename": "sale-deed.pdf", "content_type": "application/pdf", "content": "<base64>" }
]
}
202 Accepted
{ "external_ref": "LOS-2026-114233", "status": "received" }3. Track status
GET /cases/{external_ref} — also accepts the case id. Returns the current stage plus a timeline.
GET https://ne.legalreportstudio.com/api/public/bank/v1/cases/LOS-2026-114233
200 OK
{
"case_id": "0f2c…",
"external_ref": "LOS-2026-114233",
"status": "in_review",
"applicant_name": "Ramesh Kumar",
"loan_account_number": "HL00456778",
"case_type": "TSR",
"finalised_at": null,
"timeline": [{ "status": "allocated", "at": "2026-08-02T09:12:00Z" }]
}Statuses: received, allocated, in_review, query_raised, finalised.
4. Add documents later
POST https://ne.legalreportstudio.com/api/public/bank/v1/cases/LOS-2026-114233/documents
{
"documents": [
{ "filename": "ec-2015-2026.pdf", "content_type": "application/pdf", "content": "<base64>" }
],
"note": "EC received from SRO"
}5. Download the finalised report
Returns signed links valid for 60 minutes. Responds 409 not_ready until the report is finalised.
GET https://ne.legalreportstudio.com/api/public/bank/v1/cases/LOS-2026-114233/report
200 OK
{ "files": [{ "filename": "TSR-Ramesh-Kumar.pdf", "url": "https://…", "expires_in": 3600 }] }6. Status callbacks (optional)
Register an https callback and we POST every status change, signed with HMAC-SHA256 over the raw body using your webhook secret.
POST https://bank.example.com/lrs/callback
X-LRS-Event: case.finalised
X-LRS-Signature: sha256=<hex>
{ "event": "case.finalised", "case": { "external_ref": "LOS-2026-114233", "status": "finalised" } }Events: case.received, case.allocated, case.query_raised, case.finalised.
7. Errors
401 unauthorized — missing, revoked or invalid API key 403 forbidden — key lacks the required scope 400 invalid_request — validation failed (field list included) 404 not_found — unknown case 409 not_ready — report not finalised yet 413 payload_too_large — documents exceed 15 MB 429 rate_limited — slow down and retry
8. Getting started
- Ask your law firm's admin to issue a test API key for your bank.
- Post a sample case against the test key and confirm the status endpoint.
- Register your callback URL and store the signing secret.
- Switch to the live key once your UAT sign-off is complete.