Data Models
This page documents the complete data structures returned by the Corpus Product API.EventResponse
The standard event object returned by list endpoints.Fields
| Field | Type | Description |
|---|---|---|
id | UUID | Unique event identifier |
title | string | Event title/headline |
description | string | Detailed event description |
event_date | date | Date when the event occurred (YYYY-MM-DD) |
event_category | string | Category ID (e.g., “conflict”, “cyber”) |
event_type | string | Type ID within category |
event_subtype | string | Subtype ID within type |
country | string | Country where event occurred |
location | string | Specific location/city |
latitude | float | Latitude coordinate (nullable) |
longitude | float | Longitude coordinate (nullable) |
source_url | string | URL to source article (nullable) |
created_at | datetime | When record was created |
Example JSON
EventDetailResponse
Extended event object with actors and category-specific metadata. Includes all fields fromEventResponse plus:
| Field | Type | Description |
|---|---|---|
actors | ActorInEvent[] | List of actors involved in the event |
metadata | object | Category-specific metadata fields |
ActorInEvent Structure
| Field | Type | Description |
|---|---|---|
id | UUID | Actor unique identifier |
canonical_name | string | Actor’s canonical name |
actor_type | string | Actor type classification |
position | string | Actor’s role: PRINCIPAL, SECONDARY, SUB_PRINCIPAL, SUB_SECONDARY, SUPPORTING_PRINCIPAL, SUPPORTING_SECONDARY |
Metadata by Category
Themetadata field contains category-specific fields. See each category’s taxonomy page for field definitions.
Example for Conflict event:
ActorResponse
The standard actor object returned by list endpoints.Fields
| Field | Type | Description |
|---|---|---|
id | UUID | Unique actor identifier |
canonical_name | string | Actor’s canonical/standardized name |
actor_type | string | Actor type classification |
aliases | string[] | Alternative names/spellings (nullable) |
created_at | datetime | When record was created |
Example JSON
ActorDetailResponse
Extended actor object with statistics and relationships. Includes all fields fromActorResponse plus:
| Field | Type | Description |
|---|---|---|
event_count | integer | Number of events this actor is involved in |
first_event_date | date | Date of first associated event (nullable) |
last_event_date | date | Date of most recent event (nullable) |
PaginatedEventsResponse
Wrapper for paginated event listings.| Field | Type | Description |
|---|---|---|
items | EventResponse[] | Array of events |
total | integer | Total number of matching events |
page | integer | Current page number |
page_size | integer | Number of items per page |
total_pages | integer | Total number of pages |
Example JSON
PaginatedActorsResponse
Same structure as PaginatedEventsResponse but withitems as ActorResponse[].
CountryAggregation
Country with event count.| Field | Type | Description |
|---|---|---|
country | string | Country name |
event_count | integer | Number of events in this country |
RegionAggregation
Location/region with event count.| Field | Type | Description |
|---|---|---|
location | string | City/region name |
country | string | Country name |
event_count | integer | Number of events in this location |
MetadataValueCount
Generic metadata value with count.| Field | Type | Description |
|---|---|---|
value | string | The metadata value |
count | integer | Number of occurrences |
/v1/corpus/metadata/event-categories/v1/corpus/metadata/event-types/v1/corpus/metadata/event-subtypes/v1/corpus/metadata/actor-types
Export Formats
The/v1/corpus/events/export endpoint supports multiple output formats: