Base URL
Endpoints at a glance
| Method | Path | Description |
|---|---|---|
POST | /api/postcards | Submit a URL for forensic analysis |
GET | /api/postcards?url= | Poll for analysis status and retrieve the completed report |
GET | /api/postcards/{id}/og | Generate a dynamic Open Graph image for a completed analysis |
Submit URL
Start a forensic analysis for a social media post.
Get postcard status
Poll for analysis progress and retrieve the completed report.
Open Graph image
Generate a dynamic social card image for a completed analysis.
Async pattern
The API follows an async request/poll pattern:- Submit —
POST /api/postcardsreturns202 Acceptedimmediately with apostcardId. The analysis runs in the background. - Poll —
GET /api/postcards?url=returns the current status. Repeat every 3–5 seconds. - Retrieve — When
statusequals"completed", the full forensic report is in the response body.
| Status | Description |
|---|---|
pending | Analysis queued, not yet started |
processing | Pipeline actively running |
completed | Analysis finished; full report available |
failed | Analysis could not complete; check the error field |
CORS
All endpoints include cross-origin resource sharing headers so you can call the API from browser-based clients:Content type
SendContent-Type: application/json for all POST request bodies. Responses are application/json unless noted otherwise (the OG image endpoint returns image/png).