Nuvelics documentation
APIAPI reference

Articles

Read the articles your data sources have collected, and the images they reference.

GET
/api/tenant/v1/articles/{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

Article identifier

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

The vendor item id an ap-media: or afp: media part of the article cites

Length1 <= length <= 200

Response Body

The image behind an ap-media: or afp: reference of the article, 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/articles/string/media/string'
Example Response
"string"
GET
/api/tenant/v1/articles

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

sort?string

Sort order: "-field" descending, "field" ascending. Accepted: publishedAt, -publishedAt, fetchedAt, -fetchedAt (default -publishedAt)

Response Body

A page of articles, newest-first by fetched date

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/articles'
Example Response
{  "items": [    {      "id": "string",      "datasourceId": "string",      "title": "string",      "url": "string",      "publishedAt": "string",      "updatedAt": "string",      "authors": [        "string"      ],      "source": {        "kind": "feed",        "title": "string",        "url": "string"      },      "parts": [        {          "type": "text/markdown",          "role": "body",          "text": "string",          "lang": "string",          "signals": [            "paywalled"          ],          "provenance": []        }      ],      "links": [],      "priority": "ROUTINE",      "genre": "string",      "editorNote": "string",      "usageTerms": [        "string"      ],      "contentWarnings": [        "string"      ],      "recall": {        "kind": "kill",        "note": "string",        "markedAt": "string",        "sourceAt": "string"      },      "acquiredVia": "datasource"    }  ],  "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 an article by ID

GET
/api/tenant/v1/articles/{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

Article identifier

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

Response Body

Article found

application/json
  1. response

The refined, self-contained acquisition unit

id*string

Article identifier

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

Datasource this article was harvested from

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

Canonical link — dedup identity

publishedAt*string

ISO 8601 — the article's own date

updatedAt*string

ISO 8601 — most recent modification; null when unknown

authors*array<string>

Best-effort; often empty

source*

Where an article came from

parts*array<|>
links?array<>

Related or acquisition-origin links (e.g. the X post that linked to / announced this article). article.url is the primary canonical identity and is not repeated here.

Default[]
priority?string

Vendor-declared urgency, in SOM's priority vocabulary

Value in"ROUTINE""STANDARD""HIGH""URGENT""FLASH"
genre?string

Vendor-declared genre, verbatim

editorNote?string

Vendor editor's note to subscribers

usageTerms?array<string>

Usage restrictions the vendor states for the item as a whole

contentWarnings?array<string>

Warnings the vendor attaches to the item as a whole, for example graphic or sensitive content, verbatim

recall?

Set when the vendor killed or withheld this item after publishing it

acquiredVia?string

How the article arrived: harvested by a datasource, fetched by research, or brought as a pitch seed

Value in"datasource""research""seed"
eventClusterId*string

Event cluster this article belongs to; null when it has not been clustered yet

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

Related coverage resolved when read; null when nothing is related on either basis and no related link is unresolved

Example Request
curl -X GET 'https://api.nuvelics.com/api/tenant/v1/articles/string'
Example Response
{  "id": "string",  "datasourceId": "string",  "title": "string",  "url": "string",  "publishedAt": "string",  "updatedAt": "string",  "authors": [    "string"  ],  "source": {    "kind": "feed",    "title": "string",    "url": "string"  },  "parts": [    {      "type": "text/markdown",      "role": "body",      "text": "string",      "lang": "string",      "signals": [        "paywalled"      ],      "provenance": []    }  ],  "links": [],  "priority": "ROUTINE",  "genre": "string",  "editorNote": "string",  "usageTerms": [    "string"  ],  "contentWarnings": [    "string"  ],  "recall": {    "kind": "kill",    "note": "string",    "markedAt": "string",    "sourceAt": "string"  },  "acquiredVia": "datasource",  "eventClusterId": "string",  "relatedCoverage": {    "resolved": [      {        "id": "string",        "title": "string",        "basis": "vendor_link",        "publishedAt": "string"      }    ],    "unresolvedCount": 0,    "sameEventTotal": 0,    "publisherKey": "string"  }}

Report a problem with this page

On this page