Skip to main content

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.

GET/v1/data-library/needs

Query parameters

statusstringopen, library, answered, waiting_customer, or waiting_invoice.
categorystringKind of data, for example grid_fee, official_index, quantity, invoice.
appstringThe app that reported the need, for example price_baseline.
scopestringWhat the needs are scoped to, for example a year.
limitintegerMaximum needs, clamped to 1 through 10000. Default: 1000

Need fields

id, customer_iduuidNeed id and owning workspace.
app, scope, need_keystringWho reported the need, for what scope, and the key that identifies it within them.
category, label, unitstringThe kind of data, a readable name, and the unit (null when none).
periodsstring[]The periods the need covers.
subjectobjectWhat the need is about: contract key, model, variable, series, or site. A need that names a dataset the library lacks carries it in subject.wanted.
library_hintstring | nullThe dataset or series that could answer the need.
statusstringopen, library, answered, waiting_customer, or waiting_invoice.
first_seen_at, last_seen_at, resolved_at, updated_atdate-timeWhen the need was first and last reported, when it was answered (null while unanswered), and the last change.

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.

GET/v1/data-library/needs/summary

Query parameters

scopestringOnly needs of this scope.

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" }
  ]
}
Needs are reported whole per app and scope. When an app reports a scope again, the needs it no longer reports are marked answered with a resolved_at time, so the summary shrinks as the missing data arrives. A need that returns is reopened rather than duplicated.

Frequently asked questions

Who creates data needs?+
The apps of the workspace. An app reports what it still needs after it builds its results, and the platform stores the report. There is no endpoint to create a need; the endpoints on this surface read them.
What is the difference between library and open?+
open means nothing known can answer the need yet. library means a series or a dataset could answer it, and library_hint names which. waiting_invoice and waiting_customer mean only the invoices or the customer can supply the data.
When does a need become answered?+
When the app reports the same scope again and no longer lists the need. The platform marks it answered and stamps resolved_at. If the need appears in a later report, it is reopened.
Why is the shared library missing from the needs list?+
Needs describe what a workspace's apps are missing, so they belong to the workspace. The shared library has no needs of its own.