Data Needs
List the data your workspace's apps still need to compute their results, and count needs per app, scope, category, and status with /v1/data-library/needs.
A data need records one thing an app of the workspace still needs to compute its results: an official index value for a period, a grid fee for a site, a quantity, an invoice. The app reports its needs whole for a scope (for example one year), and the platform keeps each need from the first time it was seen until the app stops reporting it. GET /v1/data-library/needs lists them, newest last_seen_at first. Needs belong to the workspace; the shared library has none.
The status of a need says what could close it. open is the default: nothing known can answer it yet. library means a series or a dataset could answer it. waiting_invoice and waiting_customer mean only the invoices or the customer can. answered means the app no longer reports the need, and resolved_at carries the time. A need that comes back is reopened. Each need also carries category (the kind of data, for example grid_fee, official_index, quantity or invoice), the reporting app, its periods, the unit, a subject object that says what the need is about, and library_hint, the dataset or series that could answer it.
/v1/data-library/needsQuery parameters
1000Need fields
cURL: List open needs of one app and year
curl "https://api.talonic.com/v1/data-library/needs?app=price_baseline&scope=2026&status=open&limit=100" \
-H "Authorization: Bearer $TALONIC_API_KEY"Response: One need
{
"data": [
{
"id": "9a1e44c2-7b0d-4d3a-8f65-2c0e1b9a7d10",
"customer_id": "b1c2d3e4-0000-4000-8000-0123456789ab",
"app": "price_baseline",
"scope": "2026",
"need_key": "grid_fee:site-0042:2026",
"category": "grid_fee",
"label": "Grid fee 2026, site 0042",
"unit": "EUR/kW",
"periods": ["2026"],
"subject": { "site": "site-0042", "wanted": "grid.power.price-sheet:example-netz:2026" },
"library_hint": null,
"status": "open",
"first_seen_at": "2026-10-02T06:00:11.000Z",
"last_seen_at": "2026-10-20T06:00:09.000Z",
"resolved_at": null,
"updated_at": "2026-10-20T06:00:09.000Z"
}
]
}Count the Needs
GET /v1/data-library/needs/summary counts needs per app, scope, category and status, ordered by app, scope, category and status. It answers the first question of a review, what is still missing and why, without paging through every need. A group with status: "library" is closable from data the library already holds; waiting_invoice and waiting_customer groups wait on documents or on the customer. n is the number of needs in the group and first the earliest first_seen_at among them. scope restricts the counts to one scope.
/v1/data-library/needs/summaryQuery parameters
Response: Counts per group
{
"data": [
{ "app": "price_baseline", "scope": "2026", "category": "grid_fee", "status": "open", "n": 12, "first": "2026-10-02T06:00:11.000Z" },
{ "app": "price_baseline", "scope": "2026", "category": "official_index", "status": "library", "n": 3, "first": "2026-10-02T06:00:11.000Z" }
]
}answered with a resolved_at time, so the summary shrinks as the missing data arrives. A need that returns is reopened rather than duplicated.