Nuvelics documentation
APIAPI reference

Events

Read the events Nuvelics groups related articles into, with the articles and media behind each one.

GET
/api/tenant/v1/event-clusters

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Query Parameters

limit?integer

Maximum items per page (1–100, default 25)

Range1 <= value <= 100
Default25
cursor?string

Opaque cursor from a prior nextCursor

status?string

Filter to clusters in this status only; omitted returns every status

Value in"active""closed"

Response Body

A page of event clusters, most-recently-active first

application/json
  1. response
items*array<>
pagination*
sort*
filters*
facets?

Value/count breakdown for each field requested via ?facets=. Present only when facets were requested.

included?
Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/event-clusters'
Example Response
{  "items": [    {      "id": "string",      "orgId": "string",      "status": "active",      "topics": [        "string"      ],      "locations": [        "string"      ],      "representativeTitle": "string",      "representativeSummary": "string",      "eventDate": "2019-08-24T14:15:22Z",      "sourceCount": 0,      "firstSeenAt": "2019-08-24T14:15:22Z",      "lastSeenAt": "2019-08-24T14:15:22Z"    }  ],  "pagination": {    "nextCursor": "string"  },  "sort": {    "applied": "string",    "default": "string",    "available": [      "string"    ]  },  "filters": {    "applied": {      "property1": null,      "property2": null    },    "available": [      {        "field": "string",        "kind": "string",        "facetable": true      }    ]  },  "facets": {    "property1": {      "values": [        {          "value": "string",          "count": 0        }      ],      "capped": true    },    "property2": {      "values": [        {          "value": "string",          "count": 0        }      ],      "capped": true    }  },  "included": {    "datasources": {      "property1": {        "id": "string",        "name": "string",        "type": "string",        "vendor": "datafactory",        "iconId": "string"      },      "property2": {        "id": "string",        "name": "string",        "type": "string",        "vendor": "datafactory",        "iconId": "string"      }    },    "credentials": {      "property1": {        "id": "string",        "name": "string",        "schemeType": "string"      },      "property2": {        "id": "string",        "name": "string",        "schemeType": "string"      }    },    "users": {      "property1": {        "id": "string",        "name": "string",        "email": "string"      },      "property2": {        "id": "string",        "name": "string",        "email": "string"      }    },    "articlePitches": {      "property1": [        {          "id": "string",          "title": "string",          "status": "string",          "newsdeskId": "string"        }      ],      "property2": [        {          "id": "string",          "title": "string",          "status": "string",          "newsdeskId": "string"        }      ]    }  }}
GET
/api/tenant/v1/event-clusters/{id}

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Path Parameters

id*string

Event cluster identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$

Response Body

Event cluster found

application/json
  1. response
id*string

Event cluster identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
orgId*string

Owning organization identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
status*string

Active clusters still accept new members; closed clusters are frozen

Value in"active""closed"
topics*array<string>

Topics assigned to this cluster by classification

locations*array<string>

Locations assigned to this cluster by classification

representativeTitle*string

Title of the cluster's representative article; null when it has no representative or no title

representativeSummary*string

Summary of the cluster's representative article; null when absent

eventDate?string

ISO 8601 date of the underlying event, when determinable

Formatdate-time
sourceCount*integer

Number of distinct publishers reporting this event. Two feeds serving one masthead count once. Two stations running identical wire copy still count twice: near-duplicate collapse puts them in the same cluster but does not subtract them from this number. Two stations of one group filing their own separate stories also count twice: shared ownership is not part of identity. Clusters whose publisher count has never been written fall back to the number of distinct ingestion sources, which is the same number this field carried previously and can overstate corroboration.

Range0 <= value
firstSeenAt*string

ISO 8601 timestamp the cluster was first formed

Formatdate-time
lastSeenAt*string

ISO 8601 timestamp of the most recently added member

Formatdate-time
members*array<>

Contributing articles, for source provenance

pitchCounts*

Pitches generated from this cluster, counted by editorial status

Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/event-clusters/string'
Example Response
{  "id": "string",  "orgId": "string",  "status": "active",  "topics": [    "string"  ],  "locations": [    "string"  ],  "representativeTitle": "string",  "representativeSummary": "string",  "eventDate": "2019-08-24T14:15:22Z",  "sourceCount": 0,  "firstSeenAt": "2019-08-24T14:15:22Z",  "lastSeenAt": "2019-08-24T14:15:22Z",  "members": [    {      "articleId": "string",      "title": "string",      "excerpt": "string",      "url": "string",      "sourceName": "string",      "publisherKey": "string",      "addedAt": "2019-08-24T14:15:22Z",      "publishedAt": "2019-08-24T14:15:22Z",      "datasource": {        "id": "string",        "name": "string",        "type": "string",        "vendor": "datafactory",        "iconId": "string"      },      "recall": {        "kind": "kill",        "note": "string"      },      "media": {        "images": 0,        "videos": 0      }    }  ],  "pitchCounts": {    "new": 0,    "approved": 0,    "dismissed": 0  }}
GET
/api/tenant/v1/event-clusters/{id}/media

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Path Parameters

id*string

Event cluster identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$

Response Body

The cluster's media, chosen as a story's Related media is: deduplicated by URL, ranked by area and capped at 48. A recalled member's media is left out. An item's credit is the media's own only, never the article's publisher or byline

application/json
  1. response
items*array<>
Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/event-clusters/string/media'
Example Response
{  "items": [    {      "mediaType": "image",      "assetUrl": "string",      "posterUrl": "string",      "caption": "string",      "width": 0,      "height": 0,      "durationMs": 0,      "credit": "string",      "usageTerms": [        "string"      ],      "sourceArticleId": "string",      "assetId": "string",      "photoVendor": true    }  ]}
GET
/api/tenant/v1/event-clusters/{id}/media/{itemId}

Authorization

headerx-api-key<token>

A service key (nvs_...) in the x-api-key header. A service key belongs to one organization: an X-Org-Id header is optional and, when sent, must name that organization. This header also accepts any credential the bearer scheme does, and when a request sends both headers, this one is used.

Path Parameters

id*string

Event cluster identifier

Match^[0-7][0-9A-HJKMNP-TV-Z]{25}$
itemId*string

The vendor item id of an ap-media: or afp: media reference the cluster's media shows

Length1 <= length <= 200

Response Body

The image behind an ap-media: or afp: reference of one of the cluster's members, fetched from the vendor with the datasource's own credential at view time

response?fileimage/*
Formatbinary
Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/event-clusters/string/media/string'
Example Response
"string"

Report a problem with this page

On this page