Developers
News API
Connect your website, CMS, e-paper or mobile app to your NewsDesk newsroom. JSON over HTTPS, one API key per integration.
1. Get a key
Newsroom admins create keys in News API (left menu) — read-only for websites and apps, or read & write for integrations that create stories and generate drafts. Included in the Newsroom and Enterprise plans and in the free trial.
curl -H "Authorization: Bearer isvr_your_key" https://newsdeskai.isvrd.com/api/v1/me
Every response is JSON. Errors look like {"error":"credits","message":"…"} with HTTP 401 (bad key), 402 (not enough credits), 403 (plan or scope), 404, 422 (business rule), 429 (rate limit) or 502 (AI provider).
2. Endpoints
| Method & path | Scope | What it does |
|---|---|---|
GET /me | read | Newsroom, plan, languages and credit balance |
GET /catalog | read | Output types, languages, statuses and media formats |
GET /feed?language=Hindi&since=…&limit=20 | read | Published stories with approved outputs and media — for websites and apps |
GET /stories?status=InReview&page=1 | read | Story list |
GET /stories/{id}?approvedOnly=true | read | Story with outputs and media |
POST /stories | write | Create a story from a press note: {"title","sourceText","isBreaking","submitForReview"} |
POST /stories/{id}/generate | write | One output (1 credit): {"contentType":"Professional News Article","language":"Punjabi","wordCount":250} |
POST /stories/{id}/package | write | Complete News Package |
POST /stories/{id}/media | write | Queue an AI thumbnail, newsreader MP3 or video: {"kind":"Video","outputId":"…","format":"Portrait"} |
GET /jobs/{id} | read | Media job status and result |
GET /media/{id} | read | Download an image, audio or video file |
3. Example: show approved Hindi stories on your website
curl -H "Authorization: Bearer isvr_your_key" "https://newsdeskai.isvrd.com/api/v1/feed?language=Hindi&limit=10"
{
"generatedUtc": "2026-10-06T09:30:00Z",
"items": [{
"id": "…", "title": "…", "isBreaking": false, "publishedUtc": "…",
"outputs": [{ "contentType": "Professional News Article", "language": "Hindi", "headline": "…", "content": "…", "status": "Approved" }],
"media": [{ "kind": "Image", "contentType": "image/png", "url": "/api/v1/media/…", "caption": "AI-generated illustration — not a photograph of the event." }]
}]
}
4. Example: push a press note and get a Punjabi draft
curl -X POST https://newsdeskai.isvrd.com/api/v1/stories -H "Authorization: Bearer isvr_your_key" -H "Content-Type: application/json" \
-d '{"title":"Blood donation camp","sourceText":"…the press note…","submitForReview":true}'
curl -X POST https://newsdeskai.isvrd.com/api/v1/stories/STORY_ID/generate -H "Authorization: Bearer isvr_your_key" -H "Content-Type: application/json" \
-d '{"contentType":"Professional News Article","language":"Punjabi","wordCount":250}'
5. Limits & good practice
- 120 requests per minute per key (AI generation: 20 per minute). Cache the feed for at least a minute.
- Generated text is a draft. Publish only outputs with
status: "Approved"— the feed already filters to those. - Keys are shown once. Revoke a leaked key immediately in News API; keep keys on your server, never in a public web page or mobile app bundle.
- Media URLs require the same API key header.
