Reactions
Base URL: https://app.neuroflash.com/api/digital-twin-service
Reactions are twin responses to news articles and other content sources. They include suggested actions and can be filtered by language and type.
List Reactions
GET
/v1/workspaces/{workspace_id}/reactionsList reactions where target_audience_id is NULL, with pagination.
Sorted by created_at in the specified order. Optionally filtered by language and type.
Requires authentication.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | Yes |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number (1-based) |
size | integer | 20 | Number of elements per page |
order | string | — | Sort order by createdAt |
language | string | — | Filter by language code (e.g. en, de, es) |
type | string | — | Filter by reaction type (chat or create) |
Response
FieldTypeDescription
dataobjectList of reactions for this pagepageobject
sizeintegerNumber of elements per pagetotalElementsintegerTotal number of matching elementstotalPagesintegerTotal number of pagescurrentPageintegerCurrent page number (1-based)Example
- cURL
- Python
- Node.js
- Go
curl "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/reactions" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
response = requests.get(
f"https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/reactions",
headers={"Authorization": f"Bearer {token}"},
).json()
const response = await fetch(
`https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/${workspaceId}/reactions`,
{ headers: { Authorization: `Bearer ${token}` } }
).then((r) => r.json());
req, _ := http.NewRequest("GET", "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/"+workspaceID+"/reactions", nil)
req.Header.Set("Authorization", "Bearer "+token)
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
Response:
{
"data": {},
"page": {
"size": 0,
"totalElements": 0,
"totalPages": 0,
"currentPage": 0
}
}
Get Reaction Sources
GET
/v1/workspaces/{workspace_id}/reactions/{reaction_id}/sourcesGet article sources for a reaction.
Returns the full article content including RSS feed data and parsed content.
Requires authentication.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string | Yes | |
reaction_id | string | Yes | The reaction ID |
Example
- cURL
- Python
- Node.js
- Go
curl "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/reactions/{reaction_id}/sources" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
response = requests.get(
f"https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/reactions/{reaction_id}/sources",
headers={"Authorization": f"Bearer {token}"},
).json()
const response = await fetch(
`https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/${workspaceId}/reactions/${reactionId}/sources`,
{ headers: { Authorization: `Bearer ${token}` } }
).then((r) => r.json());
req, _ := http.NewRequest("GET", "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/"+workspaceID+"/reactions/"+reactionID+"/sources", nil)
req.Header.Set("Authorization", "Bearer "+token)
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
Response:
[
{
"accessedAt": "2026-02-13T10:30:00Z",
"url": "https://example.com/article",
"type": "news",
"content": {}
}
]