Skip to main content

Briefings API

Generate and retrieve intelligence briefings.

List Briefings

GET /api/briefings

Query Parameters:

ParameterTypeDescription
fromstringStart date
tostringEnd date
limitnumberMax results

Response:

{
"data": [
{
"id": 56,
"title": "Strategic Intelligence Briefing",
"generatedAt": "2026-02-07T05:00:00Z",
"period": {
"from": "2026-02-06T05:00:00Z",
"to": "2026-02-07T05:00:00Z"
},
"stats": {
"sources": 15,
"articles": 42,
"verified": 38
}
}
]
}

Get Briefing

GET /api/briefings/:id

Response:

{
"data": {
"id": 56,
"title": "Strategic Intelligence Briefing",
"content": "## Strategic Intelligence Briefing\n\n...",
"generatedAt": "2026-02-07T05:00:00Z",
"period": {
"from": "2026-02-06T05:00:00Z",
"to": "2026-02-07T05:00:00Z"
},
"stats": {
"sources": 15,
"articles": 42,
"verified": 38
},
"articles": [1234, 1235, 1236]
}
}

Generate Briefing

POST /api/briefings/generate

Request Body:

{
"hours": 24,
"domains": ["geopolitics", "economics"],
"minConfidence": 0.7,
"maxArticles": 50,
"sourceListId": 5
}

Response: 202 Accepted

{
"data": {
"id": 57,
"status": "generating",
"estimatedSeconds": 30
}
}

Poll for completion:

GET /api/briefings/57

Deliver Briefing

Send a briefing to configured channels:

POST /api/briefings/:id/deliver

Request Body:

{
"channels": ["telegram"]
}

Response:

{
"data": {
"delivered": true,
"channels": [
{"channel": "telegram", "success": true}
]
}
}

Latest Briefing

Get the most recent briefing:

GET /api/briefings/latest