@yottagraph-app/elemental-api-skill 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -0
- package/index.js +29 -0
- package/package.json +25 -0
- package/skill/SKILL.md +37 -0
- package/skill/articles.md +386 -0
- package/skill/entities.md +360 -0
- package/skill/events.md +145 -0
- package/skill/find.md +279 -0
- package/skill/graph.md +239 -0
- package/skill/llm.md +18 -0
- package/skill/overview.md +51 -0
- package/skill/relationships.md +308 -0
- package/skill/schema.md +351 -0
- package/skill/sentiment.md +93 -0
- package/skill/server.md +186 -0
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
# Entities
|
|
2
|
+
|
|
3
|
+
Entities are the core objects in the Knowledge Graph: companies, people, organizations, products, and other named things that appear in the news. Each entity has a unique **Named Entity ID (NEID)**.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- You have an entity name and need to find its NEID
|
|
8
|
+
- You have a NEID and need the entity's display name or details
|
|
9
|
+
- You're starting a new query and need to identify the subject
|
|
10
|
+
- You need entity metadata (industry, location, ticker, etc.)
|
|
11
|
+
|
|
12
|
+
## Key Concepts
|
|
13
|
+
|
|
14
|
+
- **NEID**: A unique identifier for each entity. Required for most other API calls.
|
|
15
|
+
- Format: 20-character numeric string with zero-padding
|
|
16
|
+
- Example: `00416400910670863867`
|
|
17
|
+
- Always pad with leading zeros to exactly 20 characters when normalizing
|
|
18
|
+
- **EID**: The term EID is sometimes used interchangeably with NEID.
|
|
19
|
+
- **Entity Resolution**: The same real-world entity may have multiple names (e.g., "Apple", "Apple Inc.", "AAPL"). The API resolves these to a single NEID.
|
|
20
|
+
- **Entity Types (Flavors)**: Each entity has a type identified by a Flavor ID (FID) (ex. type "ship" is FID 1).
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
- Always start by searching for the entity to get the correct NEID
|
|
25
|
+
- After resolving an entity to an NEID, it's best to display the canonical entity name to the user to help them identify if something went wrong with the resolution.
|
|
26
|
+
- It's typically safe to resolve an entity to the top matching NEID. However, sometimes a useful pattern is to let the user give input that the resolution was incorrect, show them a longer list of matches, and let them choose a different resolution.
|
|
27
|
+
- Entity names are case-insensitive
|
|
28
|
+
- You can batch multiple entity lookups into a single `/entities/search` request using the `queries` array
|
|
29
|
+
|
|
30
|
+
## Key Endpoints
|
|
31
|
+
|
|
32
|
+
| What you need | Endpoint | Returns |
|
|
33
|
+
|---------------|----------|---------|
|
|
34
|
+
| Find entity by name | `POST /entities/search` | Ranked matches with NEIDs and scores |
|
|
35
|
+
| Basic info (name, aliases, type) | `GET /entities/{neid}` | Quick summary for display |
|
|
36
|
+
| Full property values | `POST /elemental/entities/properties` | All properties with PIDs, values, timestamps |
|
|
37
|
+
|
|
38
|
+
**Important**: When a user asks for "entity properties," clarify which they mean:
|
|
39
|
+
- Basic info/metadata → use `/entities/{neid}`
|
|
40
|
+
- Detailed property data (like relationships, addresses, financial data) → use `/elemental/entities/properties`
|
|
41
|
+
|
|
42
|
+
## Searching for Entities
|
|
43
|
+
|
|
44
|
+
`POST /entities/search`
|
|
45
|
+
|
|
46
|
+
Search for entities by name with scored ranking and optional disambiguation. Supports batch queries (multiple entities in one request). Content-Type must be `application/json`.
|
|
47
|
+
|
|
48
|
+
### Request Body
|
|
49
|
+
|
|
50
|
+
| Field | Type | Required | Description |
|
|
51
|
+
|-------|------|----------|-------------|
|
|
52
|
+
| queries | SearchQuery[] | yes | Array of search queries |
|
|
53
|
+
| minScore | number | no | Minimum match score, 0.0-1.0 (default: 0.8) |
|
|
54
|
+
| maxResults | integer | no | Maximum results per query (default: 10) |
|
|
55
|
+
| includeNames | boolean | no | Include entity names in response (default: true) |
|
|
56
|
+
| includeAliases | boolean | no | Include entity aliases in response (default: false) |
|
|
57
|
+
| includeFlavors | boolean | no | Include entity type/flavor in response (default: true) |
|
|
58
|
+
| includeScores | boolean | no | Include match scores in response (default: true) |
|
|
59
|
+
|
|
60
|
+
### SearchQuery
|
|
61
|
+
|
|
62
|
+
| Field | Type | Required | Description |
|
|
63
|
+
|-------|------|----------|-------------|
|
|
64
|
+
| queryId | integer | yes | User-provided ID for matching queries to results |
|
|
65
|
+
| query | string | yes | Entity name or strong ID to search for |
|
|
66
|
+
| snippet | string | no | Free-text snippet for disambiguating entities with similar names |
|
|
67
|
+
| flavors | string[] | no | Limit results to these entity types (e.g., `["organization"]`) |
|
|
68
|
+
| contextType | string | no | Resolution context: `namedEntity` (default), `event`, or `strongId` |
|
|
69
|
+
| strongIdProperty | string | no | Property name to use as strong ID (when contextType is `strongId`) |
|
|
70
|
+
|
|
71
|
+
### Response
|
|
72
|
+
|
|
73
|
+
The response contains a `results` array with one entry per query:
|
|
74
|
+
|
|
75
|
+
| Field | Type | Description |
|
|
76
|
+
|-------|------|-------------|
|
|
77
|
+
| results[].queryId | integer | Matches the queryId from the request |
|
|
78
|
+
| results[].matches[] | Match[] | Matches sorted by decreasing score |
|
|
79
|
+
|
|
80
|
+
Each Match contains:
|
|
81
|
+
|
|
82
|
+
| Field | Type | Description |
|
|
83
|
+
|-------|------|-------------|
|
|
84
|
+
| neid | string | 20-character entity ID |
|
|
85
|
+
| name | string | Entity display name (when includeNames is true) |
|
|
86
|
+
| aliases | string[] | Other names for this entity (when includeAliases is true) |
|
|
87
|
+
| flavor | string | Entity type name (when includeFlavors is true) |
|
|
88
|
+
| score | number | Match confidence 0.0-1.0 (when includeScores is true) |
|
|
89
|
+
|
|
90
|
+
### Example
|
|
91
|
+
|
|
92
|
+
**Request:**
|
|
93
|
+
|
|
94
|
+
```json
|
|
95
|
+
{
|
|
96
|
+
"queries": [
|
|
97
|
+
{"queryId": 1, "query": "Apple"},
|
|
98
|
+
{"queryId": 2, "query": "MSFT", "flavors": ["financial_instrument"]}
|
|
99
|
+
],
|
|
100
|
+
"maxResults": 3
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Response:**
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"results": [
|
|
109
|
+
{
|
|
110
|
+
"queryId": 1,
|
|
111
|
+
"matches": [
|
|
112
|
+
{"neid": "00416400910670863867", "name": "Apple", "flavor": "organization", "score": 0.95},
|
|
113
|
+
{"neid": "07437212020357111309", "name": "AAPL", "flavor": "financial_instrument", "score": 0.82}
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"queryId": 2,
|
|
118
|
+
"matches": [
|
|
119
|
+
{"neid": "03016672914748108965", "name": "MSFT", "flavor": "financial_instrument", "score": 0.98}
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Schema and Property Lookup
|
|
127
|
+
|
|
128
|
+
For understanding entity types (flavors), properties, and the data model, see **schema.md**. You'll need the schema because many API responses return only FIDs and PIDs — use it to translate these to human-readable names.
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
<!-- BEGIN GENERATED CONTENT -->
|
|
132
|
+
|
|
133
|
+
## Endpoints
|
|
134
|
+
|
|
135
|
+
### Get entity details
|
|
136
|
+
|
|
137
|
+
`GET /entities/{neid}`
|
|
138
|
+
|
|
139
|
+
Get details about a named entity including name, aliases, and type. This is an alias for /reports/{neid}. Response is cached for 5 minutes.
|
|
140
|
+
|
|
141
|
+
#### Guidance
|
|
142
|
+
|
|
143
|
+
Response is wrapped in a 'report' container object. Access entity data via response.report.
|
|
144
|
+
|
|
145
|
+
#### Parameters
|
|
146
|
+
|
|
147
|
+
| Name | Type | Required | Description |
|
|
148
|
+
|------|------|----------|-------------|
|
|
149
|
+
| neid | string | yes | Named Entity ID |
|
|
150
|
+
|
|
151
|
+
#### Responses
|
|
152
|
+
|
|
153
|
+
| Status | Description |
|
|
154
|
+
|--------|-------------|
|
|
155
|
+
| 200 | Entity details (`GetNamedEntityReportResponse`) |
|
|
156
|
+
| 400 | Invalid NEID (`Error`) |
|
|
157
|
+
| 404 | Entity not found (`Error`) |
|
|
158
|
+
| 500 | Internal server error (`Error`) |
|
|
159
|
+
|
|
160
|
+
#### Example
|
|
161
|
+
|
|
162
|
+
**Request:**
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
GET /entities/00416400910670863867
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
**Response:**
|
|
169
|
+
|
|
170
|
+
```json
|
|
171
|
+
{"report": {"neid": "00416400910670863867", "name": "Apple", "aliases": ["AAPL", "APPLE", "APPLE INC", "Apple Inc"], "type": "organization"}}
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
### Get entity report
|
|
177
|
+
|
|
178
|
+
`GET /reports/{neid}`
|
|
179
|
+
|
|
180
|
+
Get a report about a named entity including name, aliases, and type. Response is cached for 5 minutes.
|
|
181
|
+
|
|
182
|
+
#### Guidance
|
|
183
|
+
|
|
184
|
+
Response is wrapped in a 'report' container object. Access entity data via response.report.
|
|
185
|
+
|
|
186
|
+
#### Parameters
|
|
187
|
+
|
|
188
|
+
| Name | Type | Required | Description |
|
|
189
|
+
|------|------|----------|-------------|
|
|
190
|
+
| neid | string | yes | Named Entity ID |
|
|
191
|
+
|
|
192
|
+
#### Responses
|
|
193
|
+
|
|
194
|
+
| Status | Description |
|
|
195
|
+
|--------|-------------|
|
|
196
|
+
| 200 | Entity report (`GetNamedEntityReportResponse`) |
|
|
197
|
+
| 400 | Invalid NEID (`Error`) |
|
|
198
|
+
| 404 | Entity not found (`Error`) |
|
|
199
|
+
| 500 | Internal server error (`Error`) |
|
|
200
|
+
|
|
201
|
+
#### Example
|
|
202
|
+
|
|
203
|
+
**Request:**
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
GET /reports/00416400910670863867
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Response:**
|
|
210
|
+
|
|
211
|
+
```json
|
|
212
|
+
{"report": {"neid": "00416400910670863867", "name": "Apple", "aliases": ["AAPL", "APPLE", "APPLE INC", "Apple Inc"], "type": "organization"}}
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
### Find entities by expression
|
|
218
|
+
|
|
219
|
+
`POST /elemental/find`
|
|
220
|
+
|
|
221
|
+
Search for entities using a powerful expression language. The expression parameter supports complex nested queries with logical operators, geographic constraints, property comparisons, and more.
|
|
222
|
+
|
|
223
|
+
#### Guidance
|
|
224
|
+
|
|
225
|
+
CRITICAL: This endpoint REQUIRES Content-Type: application/x-www-form-urlencoded. Sending a JSON body will fail with 400 error. The expression parameter must be URL-encoded form data, not a JSON request body. For the full expression language reference including all expression types, comparison operators, and examples, see find.md.
|
|
226
|
+
|
|
227
|
+
#### Request Body
|
|
228
|
+
|
|
229
|
+
**Content-Type:** `application/x-www-form-urlencoded`
|
|
230
|
+
|
|
231
|
+
| Name | Type | Required | Description |
|
|
232
|
+
|------|------|----------|-------------|
|
|
233
|
+
| expression | string | yes | JSON-encoded expression object defining the search criteria |
|
|
234
|
+
| deadline | any | no | Response deadline in milliseconds or duration format |
|
|
235
|
+
| limit | integer | no | Maximum number of entity IDs to return in first response |
|
|
236
|
+
|
|
237
|
+
#### Responses
|
|
238
|
+
|
|
239
|
+
| Status | Description |
|
|
240
|
+
|--------|-------------|
|
|
241
|
+
| 200 | Find operation successful (`FindResponse`) |
|
|
242
|
+
| 400 | Bad request - invalid parameters or malformed expression (`Error`) |
|
|
243
|
+
| 500 | Internal server error (`Error`) |
|
|
244
|
+
| 501 | Elemental API capability not enabled (`Error`) |
|
|
245
|
+
|
|
246
|
+
#### Example
|
|
247
|
+
|
|
248
|
+
**Request:**
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
POST /elemental/find
|
|
252
|
+
Content-Type: application/x-www-form-urlencoded
|
|
253
|
+
|
|
254
|
+
expression={"type":"is_type","is_type":{"fid":10}}&limit=5
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
**Response:**
|
|
258
|
+
|
|
259
|
+
```json
|
|
260
|
+
{"op_id": "98cc54e9-0108-4361-9c96-18ea97cda7a2", "follow_up": true, "eids": ["01601807036815568643", "08115040994665529432", "02045070050429461063"]}
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
### Get property values for entities
|
|
266
|
+
|
|
267
|
+
`POST /elemental/entities/properties`
|
|
268
|
+
|
|
269
|
+
Retrieves property values for specified entities. Returns the current values of requested properties for each entity.
|
|
270
|
+
|
|
271
|
+
#### Guidance
|
|
272
|
+
|
|
273
|
+
Pass entity IDs as a JSON array in the 'eids' form field (eids and neids are interchangeable terms for entity IDs). Optionally filter to specific properties via 'pids'. If pids is omitted, returns all available properties. Set include_attributes=true to get additional metadata about each property value.
|
|
274
|
+
|
|
275
|
+
#### Request Body
|
|
276
|
+
|
|
277
|
+
**Content-Type:** `application/x-www-form-urlencoded`
|
|
278
|
+
|
|
279
|
+
| Name | Type | Required | Description |
|
|
280
|
+
|------|------|----------|-------------|
|
|
281
|
+
| eids | string | yes | JSON array of entity IDs to get properties for |
|
|
282
|
+
| pids | string | no | JSON array of property IDs to retrieve (optional, omit for all properties) |
|
|
283
|
+
| include_attributes | string | no | Include property attributes in response (true/false) |
|
|
284
|
+
|
|
285
|
+
#### Responses
|
|
286
|
+
|
|
287
|
+
| Status | Description |
|
|
288
|
+
|--------|-------------|
|
|
289
|
+
| 200 | Property values retrieved successfully (`GetPropertyValuesResponse`) |
|
|
290
|
+
| 400 | Bad request - invalid parameters or malformed expression (`Error`) |
|
|
291
|
+
| 500 | Internal server error (`Error`) |
|
|
292
|
+
|
|
293
|
+
#### Example
|
|
294
|
+
|
|
295
|
+
**Request:**
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
POST /elemental/entities/properties
|
|
299
|
+
Content-Type: application/x-www-form-urlencoded
|
|
300
|
+
|
|
301
|
+
eids=["00416400910670863867"]&pids=[8]
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
**Response:**
|
|
305
|
+
|
|
306
|
+
```json
|
|
307
|
+
{"op_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "follow_up": false, "values": [{"eid": "00416400910670863867", "pid": 8, "value": "Apple", "recorded_at": "2026-01-15T10:30:00Z"}]}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
## Types
|
|
311
|
+
|
|
312
|
+
### GetNamedEntityReportResponse
|
|
313
|
+
|
|
314
|
+
Response containing a report about a named entity
|
|
315
|
+
|
|
316
|
+
| Field | Type | Description |
|
|
317
|
+
|-------|------|-------------|
|
|
318
|
+
| report | `NamedEntityReport` | |
|
|
319
|
+
|
|
320
|
+
### NamedEntityReport
|
|
321
|
+
|
|
322
|
+
The named entity report
|
|
323
|
+
|
|
324
|
+
| Field | Type | Description |
|
|
325
|
+
|-------|------|-------------|
|
|
326
|
+
| aliases | string[] | Aliases of the Named Entity from the forwarding map (i.e., from ER) |
|
|
327
|
+
| name | string | Name of the Named Entity |
|
|
328
|
+
| neid | string | Named Entity ID |
|
|
329
|
+
| type | string | Entity type (flavor) |
|
|
330
|
+
|
|
331
|
+
### FindResponse
|
|
332
|
+
|
|
333
|
+
| Field | Type | Description |
|
|
334
|
+
|-------|------|-------------|
|
|
335
|
+
| find | `FindData` | |
|
|
336
|
+
|
|
337
|
+
### FindData
|
|
338
|
+
|
|
339
|
+
| Field | Type | Description |
|
|
340
|
+
|-------|------|-------------|
|
|
341
|
+
| **eids** | string[] | Array of 20-character entity IDs matching the search expression |
|
|
342
|
+
|
|
343
|
+
### GetPropertyValuesResponse
|
|
344
|
+
|
|
345
|
+
| Field | Type | Description |
|
|
346
|
+
|-------|------|-------------|
|
|
347
|
+
| **values** | `PropertyValue`[] | Array of property values for the requested entities |
|
|
348
|
+
|
|
349
|
+
### PropertyValue
|
|
350
|
+
|
|
351
|
+
| Field | Type | Description |
|
|
352
|
+
|-------|------|-------------|
|
|
353
|
+
| **eid** | string | Entity ID this property value belongs to |
|
|
354
|
+
| **pid** | integer | Property ID |
|
|
355
|
+
| **value** | any | Property value (type varies by property: string, number, boolean, or entity ID) |
|
|
356
|
+
| recorded_at | string (date-time) | Timestamp when this value was recorded |
|
|
357
|
+
| imputed | boolean | Whether this value was imputed (inferred) rather than directly observed |
|
|
358
|
+
| attributes | object | Additional metadata about this property value (when include_attributes=true) |
|
|
359
|
+
|
|
360
|
+
<!-- END GENERATED CONTENT -->
|
package/skill/events.md
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Events
|
|
2
|
+
|
|
3
|
+
Events are significant occurrences involving entities: mergers, acquisitions, lawsuits, executive changes, product launches, and other newsworthy happenings. Events are extracted from article content and link multiple entities and articles together.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- You want to know what happened to/with an entity (not just mentions)
|
|
8
|
+
- You want to see how different articles reference the same event(s), and understand that many articles may duplicate information about the same event(s).
|
|
9
|
+
- You want to see what entities participated in an event, and what their roles were.
|
|
10
|
+
|
|
11
|
+
## Key Concepts
|
|
12
|
+
|
|
13
|
+
- **Event ID (EVEID)**: Unique identifier for each event.
|
|
14
|
+
- Format: 20-character numeric string (same format as NEIDs)
|
|
15
|
+
- Example: `08640179941787350436`
|
|
16
|
+
- **Event Roles**: Entities participate in events with roles (e.g., acquirer, target, plaintiff)
|
|
17
|
+
- **Event Summary**: Brief description of what occurred
|
|
18
|
+
- **Event Date**: When the event happened (may differ from article publication date)
|
|
19
|
+
|
|
20
|
+
## Tips
|
|
21
|
+
|
|
22
|
+
- Multiple articles may reference the same event
|
|
23
|
+
- Check entity roles to understand the nature of involvement
|
|
24
|
+
|
|
25
|
+
<!-- BEGIN GENERATED CONTENT -->
|
|
26
|
+
|
|
27
|
+
## Endpoints
|
|
28
|
+
|
|
29
|
+
### Get events for an entity
|
|
30
|
+
|
|
31
|
+
`GET /events/lookup`
|
|
32
|
+
|
|
33
|
+
Get list of event IDs (EVEIDs) where an entity participates within a time interval. Response is cached for 5 minutes.
|
|
34
|
+
|
|
35
|
+
#### Guidance
|
|
36
|
+
|
|
37
|
+
Event IDs returned may not all be immediately retrievable via /events/{eveid}. Some events may return 404 due to event processing timing or data availability. Handle 404 responses gracefully.
|
|
38
|
+
|
|
39
|
+
#### Parameters
|
|
40
|
+
|
|
41
|
+
| Name | Type | Required | Description |
|
|
42
|
+
|------|------|----------|-------------|
|
|
43
|
+
| interval_start | string | yes | Start time of interval (RFC3339) |
|
|
44
|
+
| interval_end | string | yes | End time of interval (RFC3339) |
|
|
45
|
+
| neid | string | yes | Named Entity ID |
|
|
46
|
+
|
|
47
|
+
#### Responses
|
|
48
|
+
|
|
49
|
+
| Status | Description |
|
|
50
|
+
|--------|-------------|
|
|
51
|
+
| 200 | List of event IDs (`GetEventsForEntityResponse`) |
|
|
52
|
+
| 400 | Invalid parameters (`Error`) |
|
|
53
|
+
| 500 | Internal server error (`Error`) |
|
|
54
|
+
|
|
55
|
+
#### Example
|
|
56
|
+
|
|
57
|
+
**Request:**
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
GET /events/lookup?interval_start=2026-01-28T00:00:00Z&interval_end=2026-01-29T00:00:00Z&neid=00416400910670863867
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Response:**
|
|
64
|
+
|
|
65
|
+
```json
|
|
66
|
+
{"event_ids": ["07880710486873721498", "07189853443333370710", "01188063638449369172"]}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
### Get event detail
|
|
72
|
+
|
|
73
|
+
`GET /events/{eveid}`
|
|
74
|
+
|
|
75
|
+
Get detailed information about an event by its ID. Response is cached for 15 minutes.
|
|
76
|
+
|
|
77
|
+
#### Guidance
|
|
78
|
+
|
|
79
|
+
Response is wrapped in a 'detail' container object. Access event data via response.detail.
|
|
80
|
+
|
|
81
|
+
#### Parameters
|
|
82
|
+
|
|
83
|
+
| Name | Type | Required | Description |
|
|
84
|
+
|------|------|----------|-------------|
|
|
85
|
+
| eveid | string | yes | Event ID |
|
|
86
|
+
|
|
87
|
+
#### Responses
|
|
88
|
+
|
|
89
|
+
| Status | Description |
|
|
90
|
+
|--------|-------------|
|
|
91
|
+
| 200 | Event detail (`GetEventResponse`) |
|
|
92
|
+
| 400 | Invalid EVEID (`Error`) |
|
|
93
|
+
| 404 | Event not found (`Error`) |
|
|
94
|
+
| 500 | Internal server error (`Error`) |
|
|
95
|
+
|
|
96
|
+
#### Example
|
|
97
|
+
|
|
98
|
+
**Request:**
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
GET /events/08640179941787350436
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**Response:**
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{"detail": {"eveid": "08640179941787350436", "name": "event|Apple plans to release a foldable device...|2026", "date": "2026", "description": "The new design and engineering changes in the iPhone Air could pave the way...", "category": "Product Development", "likelihood": "Medium", "severity": 0, "speculative": false, "participants": [{"neid": "00416400910670863867", "sentiment": 0.5, "explanation": "The launch of new products...", "role": "company", "snippet": "Apple is gearing up for the most extensive refresh...", "artid": "07521758285625650094"}]}}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Types
|
|
111
|
+
|
|
112
|
+
### EventDetail
|
|
113
|
+
|
|
114
|
+
The event detail
|
|
115
|
+
|
|
116
|
+
| Field | Type | Description |
|
|
117
|
+
|-------|------|-------------|
|
|
118
|
+
| artids | string[] | Article IDs where this event was found |
|
|
119
|
+
| category | string | Category of the event |
|
|
120
|
+
| date | string | Date of the event |
|
|
121
|
+
| description | string | Description of the event |
|
|
122
|
+
| eveid | string | Event ID |
|
|
123
|
+
| likelihood | string | Likelihood assessment of the event |
|
|
124
|
+
| name | string | Name of the event |
|
|
125
|
+
| participants | `EventParticipant`[] | Participants in the event |
|
|
126
|
+
| severity | integer | Severity level of the event |
|
|
127
|
+
| speculative | boolean | Whether the event is speculative |
|
|
128
|
+
|
|
129
|
+
### GetEventResponse
|
|
130
|
+
|
|
131
|
+
Response containing detailed information about an event
|
|
132
|
+
|
|
133
|
+
| Field | Type | Description |
|
|
134
|
+
|-------|------|-------------|
|
|
135
|
+
| detail | `EventDetail` | |
|
|
136
|
+
|
|
137
|
+
### GetEventsForEntityResponse
|
|
138
|
+
|
|
139
|
+
Response containing event IDs for an entity
|
|
140
|
+
|
|
141
|
+
| Field | Type | Description |
|
|
142
|
+
|-------|------|-------------|
|
|
143
|
+
| event_ids | string[] | List of event IDs |
|
|
144
|
+
|
|
145
|
+
<!-- END GENERATED CONTENT -->
|