Developers & API

Push evidence in. Pull intelligence out.

Lantern ships a REST API, a GraphQL endpoint, and signed webhooks so your RMS, CMS, eDiscovery, or custom tools can ingest evidence, stream entities, query timelines, and embed the AI Investigation Assistant — without leaving your existing workflow.

REST + GraphQL

Ingest, query, and search every case asset with stable v1 endpoints and a typed GraphQL schema.

Signed webhooks

Get notified when processing finishes, when entities match watchlists, or when AI insights are ready.

RMS / CMS connectors

Pre-built integrations for Mark43, Axon, Relativity, Nuix, Cellebrite Reader, and more.

Per-environment API keys

Separate keys for dev, staging, and prod. Scope to read-only, ingest-only, or full access.

Code samples

From your terminal to a processed case — in three calls.

Ingest evidence (REST)bash
curl -X POST https://api.lantern.dev/v1/cases/CASE_ID/evidence \
  -H "Authorization: Bearer $LANTERN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "subpoena_return",
    "provider": "att",
    "filename": "AT&T-return-2026-03.pdf",
    "uri": "s3://your-bucket/evidence/att-return-2026-03.pdf",
    "metadata": { "warrant_id": "W-2026-0142" }
  }'
Query a case timeline (GraphQL)graphql
query CaseTimeline($caseId: ID!) {
  case(id: $caseId) {
    name
    timeline(first: 50) {
      edges {
        node {
          timestamp
          actor { id displayName }
          eventType
          summary
          sourceDocument { id filename page }
        }
      }
    }
    aiInsights {
      nextSteps
      keyEntities { name type confidence }
    }
  }
}
Webhook payload — evidence.processedjson
{
  "event": "evidence.processed",
  "case_id": "CASE_8f3a",
  "evidence_id": "EV_a91c",
  "credits_used": 12.4,
  "entities_extracted": 487,
  "duration_seconds": 318,
  "ready_at": "2026-06-03T14:22:09Z"
}
Endpoint reference

The core v1 surface.

MethodEndpointDescription
POST
/v1/casesCreate a new case workspace
POST
/v1/cases/{id}/evidenceIngest a document, transcript, archive, or warrant return
GET
/v1/cases/{id}/entitiesStream every extracted person, account, phone, vehicle, location
GET
/v1/cases/{id}/timelinePull the auto-built timeline as JSON
POST
/v1/cases/{id}/ai/askAsk the Investigation Assistant — returns cited answer + next steps
POST
/v1/exportsGenerate a court-ready discovery packet (free — no credits)
GET
/v1/usageReal-time credit burn-down by user, case, and job
POST
/v1/webhooksRegister webhook endpoints for processing & alert events
Auth & scopes

OAuth 2.0 client credentials + scoped API keys. Read, write, and admin scopes per key.

Audit + signing

Every call is audited with actor, IP, scope, and case context. Webhooks are HMAC-SHA256 signed.

Deployment-agnostic

Same API surface on cloud, dedicated tenant, and on-prem deployments — including air-gapped.

Ready to wire Lantern into your stack?

API access is included on Enterprise and Enterprise On-Prem plans. Talk to us about your integration and we'll provision sandbox keys.