Skip to main content
Glama

Server Details

Estonian companies, EMTAK, grants and tenders from public registers.

Ownership verified
Status
Healthy
Uptime
96.9% over 43 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 22 tools

Disambiguation3/5

Most tools target distinct domains (procurement, legal, regional/sector stats, company registry), but there are two genuinely overlapping pairs: search_companies vs find_companies for company discovery, and legal_search vs search_legal_vectors for statute retrieval. The company lookup family (get_company, check_counterparty, risk_signals, watch_companies, compare_companies) also sits close together, though the verbose descriptions do draw careful boundaries between them. An agent can usually pick correctly only after reading long caveats.

Naming Consistency3/5

Names mix verb_noun (get_company, find_companies, check_counterparty, submit_feedback) with bare noun phrases (economy_context, event_series, funding_overview, source_metadata, risk_signals, sector_stats). The style is readable and consistently snake_case, but the verb/noun convention varies without a predictable rule for which form a tool takes.

Tool Count4/5

22 tools is somewhat heavy, but the server spans several genuinely separate surfaces (company registry, procurement, legislation, funding, regional/sector/economy statistics, metadata, feedback), so each tool covers a distinct surface. It sits just over the comfortable range rather than being padded.

Completeness4/5

Coverage is broad and lifecycle-oriented: company discovery, profiling, comparison, monitoring, risk screening, procurement notices/awards/stats, legal search, calendar, and regional/sector/economy context. Minor gaps remain (no raw dataset row export or bulk retrieval, limited company-level time series outside named sections), but core workflows have no dead ends.

Available Tools

22 tools
browse_catalogBrowse catalogsB
Read-only
Inspect

Free paginated catalogs with attribution, source clocks and partial coverage. Follow next_offset; envelope trimming preserves continuation. legal_search: state statutes/regulations, literal FTS5, exact RT ID or title/ID plus §; title, section path and RT link per passage. Tallinn-date validity is checked; new redactions need a snapshot refresh. No vectors, generation, attachments or municipal/individual acts. Medicines: no documents, company joins or clinical inference. IP: no person names, addresses, designers or representatives; organization codes require a legal-entity match. Courts: 2020+ validated metadata only; no names, prose, charges or company/person links. Property: identifiers, addresses, energy labels, parcel links and public state assets; no private owners or quarantine. Ships: open entries and active non-FIE organization observations, not proven current ownership; no mortgages. Inspect dates/status; EHR freshness and ship currentness may be unknown. Use describe_datasets for exclusions. Do not look up natural persons.

NameRequiredDescriptionDefault
kindYesCurrent legal passages, packages, safe IP filings, name-free courts or qualified property
limitNo
queryNoApproved metadata or identifier; empty browses all rows
offsetNo

Output Schema

NameRequiredDescription
kindYes
rowsYes
as_ofNoAs of. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.
limitNoLimit. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.
totalYes
noticeNoNotice. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.
offsetYes
statusYes
sourcesYes
coverageYes
truncatedYes
disclaimerNoDisclaimer. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.
next_offsetYes
snapshot_idYes
source_clocksYes
source_detailsNoSource details. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.

TDQS

B3.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds valuable operational context beyond annotations: free paginated access, next_offset continuation, envelope trimming, partial coverage, snapshot refresh requirements, and dataset-specific validity/freshness caveats. This is rich behavioral disclosure, though it is disorganized.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a long, dense, jargon-heavy run-on with semicolon-separated dataset exclusions and no clear hierarchy. It is not front-loaded with the core purpose and forces the reader to parse unrelated constraints before understanding what the tool returns.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. The description attempts to cover each of the 16 kinds and their exclusions, which is helpful for a complex multi-kind tool, but it omits important call behavior such as how limit and offset interact and what an empty query returns for each kind. Adequate but incomplete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: kind and query are documented in the schema, while limit and offset are not. The description adds meaning for query ('literal FTS5, exact RT ID or title/ID plus §') and for pagination ('Follow next_offset'), but does not explain limit's ceiling of 25 or offset's interaction with next_offset beyond a hint. Baseline 3 is appropriate given partial schema coverage and partial compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence 'Free paginated catalogs with attribution, source clocks and partial coverage' is abstract and does not plainly state that this tool browses rows from multiple registry datasets by kind. The per-kind notes partially clarify the resources, but they read as constraint lists rather than a crisp purpose statement, and the tool is not distinguished from siblings like search_legal_vectors or find_companies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is some routing guidance ('Use describe_datasets for exclusions') and a clear prohibition ('Do not look up natural persons'), but no explicit when-to-use-this-vs-alternative guidance for the 16 kinds or for sibling tools such as search_legal_vectors. The agent must infer usage from scattered caveats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_counterpartyCheck a counterpartyA
Read-only
Inspect

Check one legal entity: status, tax debt, last filed report, overdue days, dated insolvency and enforcement notices, and distress components with evidence and methodology version. on_list false means not on the EMTA debt list ≥100 € as of snapshot_date. Unknown applies only when that list was not observed and is undated. Distress is an indicator, not a finding or credit decision. Use get_company for the wider financial profile, or risk_signals to scan companies for one signal. Do not look up natural persons.

NameRequiredDescriptionDefault
registry_codeYes8-digit commercial register code

Output Schema

NameRequiredDescription
nameNo
as_ofYes
flagsNo
foundNo
reportNo
statusNo
sourcesYes
distressNo
tax_debtNo
truncatedNo
disclaimerYes
legal_formNo
snapshot_idYes
registry_codeNo
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.
insolvency_announcementsNo

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld=false, and the description adds real domain semantics: the meaning of on_list false, the precise conditions for Unknown, the fact that distress is an indicator not a finding, and that results carry methodology versions. It does not cover rate limits or freshness behaviour beyond snapshot_date, so it adds value but stops short of full behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the output inventory, then semantics, then alternatives, then the exclusion. Dense but every clause carries information; only minor terseness like "dated insolvency and enforcement notices" costs a little readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema exists, so return shape need not be explained, and the description covers what an agent otherwise could not infer: the meaning of ambiguous values, the snapshot caveat, the non-decision disclaimer, and where to go instead.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter is already described as an 8-digit commercial register code. The description contributes only an indirect constraint (legal entities, not natural persons) rather than clarifying the parameter itself, so the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ("Check one legal entity") and enumerates exactly what is returned: status, tax debt, last filed report, overdue days, notices, distress components. An agent can distinguish it from get_company and risk_signals without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes: "Use get_company for the wider financial profile, or risk_signals to scan companies for one signal," and adds a hard exclusion ("Do not look up natural persons"). Both alternatives and the negative condition are named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

company_procurementCompany procurement awardsA
Read-only
Inspect

Paginated public-procurement awards for one legal-entity winner. Includes single-winner and shared lots; attributable totals are in get_company sections procurement_wins. Dated context includes repeat-pair procedure counts and exact-date tax-debt evidence: observations, not findings. Cursor pagination supports truncated pages. Sole proprietors are withheld. Use procurement_notices for open notices, or get_company for a win summary. Do not look up natural persons.

NameRequiredDescriptionDefault
limitNoAt most 25 awards
cursorNoOpaque cursor from a previous next_cursor for the next page
registry_codeYes8-digit commercial register code

Output Schema

NameRequiredDescription
rowsNo
as_ofYes
foundNo
sourcesYes
availableNo
row_countNo
truncatedNo
dedupe_keyNo
disclaimerYes
value_noteNo
next_cursorNo
snapshot_idYes
context_noteNoInterpretation and limitations of award context; unknown tax debt is not debt-free.
registry_codeNo
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.
framework_flag_noteNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only and non-destructive annotations, the description discloses that sole proprietors are withheld, that attributable totals live in get_company, that dated context includes repeat-pair counts and tax-debt evidence framed as observations, and that cursor pagination supports truncated pages. These are meaningful behavioral and scope details that an agent cannot infer from the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and most sentences earn their place by adding routing, scope, or caveat information. It is somewhat dense, particularly the sentence about repeat-pair procedure counts and tax-debt evidence, but it remains compact for the amount of useful context it conveys.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema available, the description need not explain return values in detail, and it still covers inclusions, exclusions, pagination behavior, evidentiary caveats, and sibling-tool routing. It is complete enough for an agent to decide whether and how to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already well documented by the schema, including the cursor and limit semantics. The description adds only a general note that cursor pagination supports truncated pages, without adding parameter-specific guidance beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool returns: paginated public-procurement awards for one legal-entity winner. It also names scope inclusions such as single-winner and shared lots, which helps distinguish it from sibling tools like procurement_notices and get_company.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit alternatives and conditions: use procurement_notices for open notices, or get_company for a win summary. It also states a clear exclusion, 'Do not look up natural persons,' so the agent knows when this tool is not appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_companiesCompare companiesA
Read-only
Inspect

Compare up to four legal entities for one year: accounts, tax debt, distress and revenue percentile. on_list false with snapshot_date means not on the EMTA debt list ≥100 € as of that date. Unknown applies only when the list was not observed; a missing tax_debt object is undated and is not absence. Use find_companies to discover codes, or sector_stats for industry medians. Do not look up natural persons.

NameRequiredDescriptionDefault
yearNoFinancial year. Defaults to the snapshot year.
registry_codesYesOne to four 8-digit registry codes

Output Schema

NameRequiredDescription
yearNo
as_ofYes
missingNo
partialNo
sourcesYes
companiesNo
truncatedNo
disclaimerYes
snapshot_idYes
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish this is a safe read-only operation, so the description wisely spends its budget on interpretation semantics instead: what on_list=false with a snapshot_date means, that 'Unknown' means the list was never observed, and that a missing tax_debt object is undated rather than proof of absence. These are non-obvious semantic rules an agent could not infer from the schema or annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core comparison scope, then interpretation rules, then alternatives and exclusions. Dense but every sentence carries information; the terminology (on_list, snapshot_date, tax_debt) arrives without definition, which slightly raises reading cost.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the description needn't enumerate return values, and it correctly focuses on the edge-case semantics of missing/unknown debt data that the output schema alone would not clarify. Combined with discovery-routing advice, an agent has enough to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters documented (registry_codes with minItems/maxItems, year defaulting to snapshot year). The description only restates 'up to four legal entities' and adds that codes come from find_companies, which is minor added value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Compare up to four legal entities for one year') plus the exact dimensions returned (accounts, tax debt, distress, revenue percentile). An agent can immediately tell this is a multi-entity comparison tool rather than a single-entity lookup like get_company.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent: use find_companies to discover codes and sector_stats for industry medians, and 'Do not look up natural persons' is a clear exclusion. It lacks direct guidance on when to prefer this over get_company or check_counterparty for overlapping single-entity needs, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

describe_datasetsDescribe datasetsA
Read-only
Inspect

List dataset IDs, English names, per-surface status and licences within 8000 bytes. Pass dataset_id for full rights, exclusions, attribution, clocks and coverage. Summary reports datasets_total and truncated if the registry outgrows the budget. Authenticated, not metered; shares a 60-call bucket with source_metadata, refilling at one call per second. Independent of daily call and company limits. No data rows. Snapshot readiness is independent of legal eligibility. Use source_metadata for acquisition evidence and get_company for company data. Do not look up natural persons.

NameRequiredDescriptionDefault
dataset_idNoStable dataset ID for full detail; omit for a bounded summary

Output Schema

NameRequiredDescription
datasetsYes
truncatedNo
reviewed_atYes
datasets_totalNo
schema_versionYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly/openWorld/destructive; the description adds material context they cannot: the byte budget, truncation behavior, authentication requirement, a shared 60-call bucket with source_metadata refilling at 1/sec, independence from daily/company limits, and that results contain no data rows. It also warns that snapshot readiness is independent of legal eligibility, which prevents a real misinterpretation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the output contract before operational constraints and routing, with zero filler sentences. The telegraphic clause stacking (rights, exclusions, attribution, clocks, coverage) is dense but readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even with an output schema present, it calls out the summary keys datasets_total and truncated so the agent knows truncation is observable. Given one optional parameter and a read-only, rate-limited tool, nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns extra by enumerating what the full-detail branch actually yields (rights, exclusions, attribution, clocks, coverage) rather than repeating the schema's 'full detail' wording. It stops short of describing the shape of those fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource plus exactly what is returned (IDs, English names, per-surface status, licences) and the 8000-byte bound. It explicitly separates itself from source_metadata and get_company, so an agent can pick it without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the selection rule for the single parameter ('Pass dataset_id for full rights...'), names two sibling alternatives with the condition that selects each, and adds a hard exclusion ('Do not look up natural persons'). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

economy_contextEconomic contextA
Read-only
Inspect

National context: real gross domestic product (GDP) annual growth, month-end registered unemployed counts and annualised volume-weighted contractual interest rates on new and amended euro loans to Estonian resident non-financial corporations. Growth uses chain-linked, unadjusted, revisable volume accounts, not flash estimates; unemployment is a count, not a rate; interest is not outstanding-loan interest. The official corporate aggregate includes sole proprietors with 10+ employees. Each series includes observation periods, units, basis, cadence and source licences, with up to eight observations. Old snapshots return empty rows; truncated results retain totals. Use region_stats for counties or sector_stats for company benchmarks. Do not look up natural persons or household credit data.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
rowsYes
as_ofYes
sourcesYes
truncatedNo
disclaimerYes
rows_totalYes
snapshot_idYes
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnly, non-destructive, closed-world), yet the description adds substantial operational context: chain-linked revisable accounts rather than flash estimates, count-not-rate unemployment, the sole-proprietor inclusion rule, up to eight observations, empty rows for old snapshots, and truncated results retaining totals. These are exactly the caveats an agent needs to interpret results without mis-signalling data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Nearly every clause carries semantic weight (series definitions, caveats, metadata, edge cases, routing), and the routing/exclusion guidance is appropriately placed at the end. The second sentence is a dense run-on that could be split for scannability, which keeps it just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return structure need not be described; the description instead supplies the semantics, data-quality caveats, metadata fields per series, and sibling routing. For a parameterless context tool this is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline of 4 applies; there is no parameter surface for the description to clarify or for the schema to document. No deduction is warranted here beyond the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names the exact resource and enumerates the three series (GDP annual growth, registered unemployed counts, volume-weighted contractual interest rates on new/amended euro loans to Estonian non-financial corporations). It explicitly positions itself against siblings (region_stats for counties, sector_stats for company benchmarks), so an agent can distinguish it without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It routes the agent to the correct alternative for two concrete cases and states an exclusion ('Do not look up natural persons or household credit data'), which is the when-not guidance most definitions omit. Nothing about selection is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

event_seriesObserved corporate eventsB
Read-only
Inspect

Monthly observed legal-entity notice publications and registry relationships, separately. Notice counts are not unique insolvencies: notices are deduplicated across entities, but proceeding stages remain separate. Relationships count unordered company pairs by kind. Coverage and unmatched counts are national; older coverage is incomplete. County and sector filters use current classifications and overlap. Official Announcements attribution accompanies results. Old snapshots return empty rows; truncated results retain rows_total. Do not look up natural persons.

NameRequiredDescriptionDefault
yearNoCalendar year; defaults to snapshot year, which is partial.
emtakNoCurrent snapshot Estonian Classification of Economic Activities (EMTAK) prefix, 1–5 digits.
countyNoCurrent snapshot county. Valid: Ida-Viru maakond, Lääne-Viru maakond, Harju maakond, Hiiu maakond, Jõgeva maakond, Järva maakond, Lääne maakond, Põlva maakond, Pärnu maakond, Rapla maakond, Saare maakond, Tartu maakond, Valga maakond, Viljandi maakond, Võru maakond, Maakond puudu.

Output Schema

NameRequiredDescription
noteNo
rowsYes
yearNo
as_ofYes
emtakNoEmtak. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.
countyNoCounty. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.
reasonNo
sourcesYes
truncatedNo
data_as_ofNoEvent-series observation cutoff, separate from the snapshot publication clock.
disclaimerYes
rows_totalYes
first_monthNoFirst month. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.
snapshot_idYes
partial_yearNo
invalid_datesNoCounts by event kind for invalid dates.
coverage_basisNoCoverage basis. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.
coverage_scopeNoCoverage scope. event_series.event_series_payload: observed events and coverage, not unique insolvencies.
future_noticesNoFuture notices. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.
future_recordsNoCounts by event kind for future records.
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
kind_first_monthNo
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.
national_coverageNoNational coverage. event_series.event_series_payload: observed events and coverage, not unique insolvencies.
notices_availableNoNotices available. event_series.event_series_payload: observed events and coverage, not unique insolvencies.
notice_first_monthNoNotice first month. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.
invalid_date_noticesNoInvalid date notices. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.
relationship_first_monthNoRelationship first month. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.
excluded_relationships_without_two_company_joinsNoCount of excluded company relationship pairs with a missing registry code or with one or both companies absent from the company join.

TDQS

B3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld annotations, the description discloses genuinely non-obvious behavior: notice counts are deduplicated across entities but proceeding stages stay separate, relationships count unordered pairs, coverage/unmatched counts are national and historically incomplete, old snapshots return empty rows, and truncated results retain rows_total. That is substantial operational context the annotations do not carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence carries real information, but the text is telegraphic and run-on, with no front-loaded statement of what the tool does. A reader has to assemble the purpose from a chain of caveats, and 'separately' is left unexplained.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return shape needn't be spelled out, and the caveats around deduplication, coverage, and truncation are covered well. What remains missing is the basic framing — whether the result is a monthly series split by notice/relationship kind, and how the three filters interact to shape it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents year, emtak, and county thoroughly, including the enum-like county list. The description adds only one semantic detail beyond the schema — that filters use current classifications and can overlap — which is useful but minor; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resources (monthly notice publications and registry relationships) but never states an action verb or what the tool actually returns — a monthly time series of two separate metrics. It does not differentiate itself from plausible siblings such as region_stats, sector_stats, or legal_calendar, so an agent must infer the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only routing guidance is a negative exclusion ('Do not look up natural persons'). There is no statement of when to use this instead of region_stats or sector_stats, no prerequisite, and no mention of when a snapshot year versus an explicit year should be chosen.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_companiesFind companiesA
Read-only
Inspect

Find up to 50 legal entities by county, Estonian Classification of Economic Activities (EMTAK), revenue, employees or observed Register of Economic Activities (MTR) activity. Can exclude companies with current tax debt (no_tax_debt). Licence presence is not proof of compliance. Sort by metric and direction; default revenue descending, missing values last. At most 40 candidate pages or 80 tax-debt checks, subject to distinct-code allowance; no continuation cursor. Check result completeness. Missing source data can yield an empty list. English activity labels include attribution and disclose broader-label fallbacks. Use search_companies for a name, or get_company for a listed code. Do not look up natural persons or personal contact details.

NameRequiredDescriptionDefault
dirNodesc
sortNorevenue
yearNoFinancial year, or latest: each active company’s latest non-null revenue filing since the latest complete year
emtakNoEstonian Classification of Economic Activities (EMTAK) code or prefix
limitNoAt most 50 companies
countyNoCounty name or alias. Valid: Ida-Viru maakond, Lääne-Viru maakond, Harju maakond, Hiiu maakond, Jõgeva maakond, Järva maakond, Lääne maakond, Põlva maakond, Pärnu maakond, Rapla maakond, Saare maakond, Tartu maakond, Valga maakond, Viljandi maakond, Võru maakond, Maakond puudu.
max_revenueNoMaximum annual revenue, EUR
min_revenueNoMinimum annual revenue, EUR
no_tax_debtNoKeep only companies with no current tax debt
max_employeesNoMaximum average employees
min_employeesNoMinimum average employees
licence_activityNoExact Register of Economic Activities (MTR) activity string from sector_stats. Observed source presence, not verified licence validity; submitted and suspended records included.

Output Schema

NameRequiredDescription
noteNoIncomplete-result warning when a result, scan or lookup limit is reached.
yearNo
as_ofYes
sourcesYes
companiesNo
row_countNo
truncatedNo
disclaimerYes
snapshot_idYes
label_en_noteNoInterpretation of English label coverage and fallback.
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.
excluded_unit_uncertainNoCompanies left out of this revenue ranking because revenue is null and monetary_null_reason is unit_uncertain. count is the filtered total; companies lists at most 20 with registry_code and name, and has no rank. count 0 means none were excluded. Null is accepted and means the exclusion was not computed. find_companies reads the first company page only and keeps that page's object.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, yet the description adds real operational context: hard caps (40 candidate pages, 80 tax-debt checks), no continuation cursor, default revenue-descending ordering with missing values last, and the possibility of an empty list when source data is absent. The deduction is for phrases the agent cannot act on, such as 'subject to distinct-code allowance' and the vague 'Check result completeness', which are stated but not explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense and front-loaded — capability, then limits, then ordering, then sibling alternatives and exclusions — with almost no filler. However, the telegraphic register produces opaque fragments ('subject to distinct-code allowance', 'English activity labels include attribution and disclose broader-label fallbacks') that cost more in decoding than they return.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter discovery tool with an output schema and safety annotations, the description covers the important gaps: result caps, absence of pagination, sort defaults, empty-result failure mode, and scope boundaries against natural persons. What remains thin is the meaning of the 'distinct-code allowance' cap and how a caller should verify completeness beyond the bare instruction to do so.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 83%, so the baseline is 3, but the description earns above that by clarifying sort semantics that the schema leaves bare: default is revenue descending and missing values sort last, which matters for interpreting truncated results. It also restates no_tax_debt's exclusion behavior and the licence_activity caveat in plainer terms than the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb and resource ('Find up to 50 legal entities') and enumerates the filterable dimensions: county, EMTAK, revenue, employees, MTR activity. It also explicitly separates itself from search_companies (name lookup) and get_company (listed code), so an agent can choose among the three siblings without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing rules ('Use search_companies for a name, or get_company for a listed code') plus a stated exclusion ('Do not look up natural persons or personal contact details'). It also warns that licence presence is not proof of compliance, which tells the agent when the licence_activity filter is and is not meaningful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

funding_overviewFunding overviewA
Read-only
Inspect

European Union funding allocations from active source project-key records by period, fund and period, programme, implementing body and project region, plus the top 20 verified legal-entity beneficiaries. Private, redacted and unmatched recipients appear only in aggregates. Missing regions remain null; project geography is not legal seat. Intermediary status is unknown. Awarded support, project budget, co-financing and paid project costs have separate coverage counts; paid cost is not support paid; no absorption ratio is available. State Shared Service Centre (RTK) attribution accompanies results. Truncated lists retain totals; older snapshots return available=false. Use open_calls for opportunities or get_company for company grants. Do not look up natural persons.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
as_ofYes
fundsNo
totalsYes
periodsNo
regionsNo
sourcesYes
coverageNo
universeNo
availableYes
truncatedNo
absorptionNo
disclaimerYes
programmesNo
funds_totalNo
snapshot_idYes
beneficiariesNo
periods_totalNo
regions_totalNo
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.
programmes_totalNo
absorption_reasonNo
beneficiaries_totalNo
implementing_bodiesNo
implementing_bodies_totalNo

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already covering the read-only, non-destructive safety profile, the description adds unusually rich behavioral context: private/redacted recipients appear only in aggregates, missing regions stay null, project geography is not legal seat, paid cost is not support paid, intermediary status is unknown, truncated lists retain totals, and older snapshots return available=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and almost every sentence carries a distinct caveat rather than filler, so the length is largely earned. However, the first sentence is an overloaded run-on and the caveats are delivered as an undifferentiated wall, which slightly hurts parseability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value documentation is unnecessary, and the description still covers scope, aggregation keys, data-quality caveats, truncation behavior, stale-snapshot behavior, and sibling alternatives. Nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4 and the description has no parameter semantics to add. Schema coverage is trivially 100%, and nothing in the description contradicts the empty argument object.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (European Union funding allocations) and the exact dimensions it aggregates by (period, fund, programme, implementing body, project region, top 20 beneficiaries). It is clearly distinguishable from data siblings, though the phrase 'by period, fund and period' is a redundant slip that slightly muddies the aggregation keys.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly routes two cases: 'Use open_calls for opportunities or get_company for company grants' and adds a hard exclusion, 'Do not look up natural persons.' That is strong positive and negative guidance, but it does not say when this tool beats close statistical siblings like region_stats or sector_stats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_companyCompany profileA
Read-only
Inspect

Company profile with default accounts (all years via sections), eight EMTA quarters, tax debt, pledges, aid, licences, notices and legal-entity owners. State taxes are net of refunds; labour taxes are separate, not wages. on_list false means not on the EMTA debt list ≥100 € as of snapshot_date. Unknown applies only when that list was not observed. Optional sections add the extras named on sections. Observed ownership and permits do not prove current ownership or validity. Contracts show at most 25 rows; fees have unverified periods and must not be summed. Shared-board results have at most 20 companies. Procurement ceilings are not spend; buyer seat is not delivery location. Distress is an indicator, not a finding; respect methodology changes. Missing older data may be empty or null. Use company_procurement for award pages, check_counterparty for status/debt/filing checks, search_companies for a name, or watch_companies for changes across codes. board lists current officers of one commercial company (name, role, start date; not indexed). not_published means withheld or unavailable, not an empty board. Do not look up natural persons, personal codes or personal contact details.

NameRequiredDescriptionDefault
sectionsNoOptional extras: ships (open ship register entries, observed/historical owner entry in the register, may not be current owner; CC BY-SA 4.0; old snapshots empty), permits (source permit_type/permit_type_label, ET/EN/RU type labels, normalized comma-separated domains; missing facts null with not_in_source reasons; ET/EN/RU kind/status labels, date_basis distinguishes source validity dates from waste activity dates, source-status buckets; source presence is not permit validity; unavailable links are null), activities, grants (EU projects), history (company events), state_contracts (source contract type/subtype, ET/EN/RU glossary, status and dates; fee_amount with null currency/not_in_source, explicit year/month/interval/unknown denominator, excluding_vat and nullable VAT applicability; rkvr-contracts-1; never sum or annualise fees), financials (all years), tax_debt_history, distress_trend, de_minimis, successions (undirected legal links), peers (percentiles), procurement_wins (totals and dated award context), as_buyer (procedures, lots, ceilings by year, top suppliers, known-denominator single-tender share), former_ownership (observed organisation links), shared_board (company counts only), appointments (anonymous counts/dates). Default omits these and returns the page’s default annual report only. Named default cards are also valid: tax, state_aid, pledges, similar, licences, announcements, owners, holdings, report_status, distress. Naming one keeps that card.
registry_codeYes8-digit commercial register code

Output Schema

NameRequiredDescription
taxNo
as_ofYes
boardNoCurrent officers of one company. status published means the company is in scope: members lists current officers and may be empty. status not_published means an excluded legal form, an Article 21 objection, or a snapshot without board_current; members is then empty and does not mean the board is empty. Not an opt-in section. The response budget does not trim members.
foundNo
peersNo
shipsNo
grantsNo
ownersNo
historyNo
permitsNo
pledgesNo
profileNo
similarNo
sourcesYes
as_buyerNoPublic legal-entity buying across all retained history; registered seat, not delivery location. Old snapshots return null.
distressNo
holdingsNo
licencesNo
tax_debtNo
state_aidNo
truncatedNo
activitiesNo
de_minimisNo
disclaimerYes
financialsNo
ships_noteNo
ships_totalNo
snapshot_idYes
successionsNo
appointmentsNoOptional anonymous non-founding management appointment counts and dates; null when unavailable. No person data.
grants_totalNo
sanctions_s1NoOptional default-off S1 evidence. Complete fresh EU/UK/OFAC evaluation, not a clean/unsanctioned finding. Literal source copies and ET/EN context stay together; the entire block is omitted when the envelope cannot hold it.
shared_boardNo
ships_statusNo
announcementsNo
history_totalNo
permits_totalNo
registry_codeNo
report_statusNo
distress_trendNo
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
owners_coverageNonot_in_source_securities_register when an Aktsiaselts or European company (SE) has no owner edges: shareholders are in the Nasdaq CSD securities register, not Business Register open data. Omitted otherwise.
state_contractsNo
activities_totalNo
de_minimis_totalNo
financials_totalNo
former_ownershipNoOptional former legal-entity ownership observations in both directions. Dates are observations, not legal transfer dates.
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.
procurement_winsNo
tax_debt_historyNo
successions_totalNo
distress_trend_totalNo
owners_coverage_noteNoSentence explaining owners_coverage. Omitted when owners_coverage is omitted.
majority_foreign_ownedNo
tax_debt_history_totalNo
unnamed_foreign_owner_countNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare a safe read (readOnlyHint true, openWorldHint false), so the description carries the interpretive load and does so well: state taxes net of refunds, labour taxes separate, on_list/unknown semantics tied to snapshot_date, observed ownership and permits not proving current validity, 25-row contract cap, 20-company shared-board cap, unverified fee periods that must not be summed, and ceilings not being spend. These are non-obvious data caveats an agent would otherwise get wrong, not restatements of the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Almost every clause carries real information, but the text is a dense semicolon-chained block with no grouping, so caveats, defaults and sibling routing all blur together and the routing guidance is buried near the end. It also mentions a `board` card that is not in the schema's enumerated section list, which reads as a loose end rather than a deliberate inclusion.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with an output schema, the description covers the hard parts: default behavior, section semantics, interpretation traps, and where to go instead. It stops short of addressing failure modes such as an invalid or unknown registry_code, and the stray `board`/`not_published` discussion lacks a clear anchor in the parameter list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the sections parameter is already exhaustively documented in the schema, so the baseline is 3. The description adds genuine semantics beyond that: the default omits sections and returns only the page's default annual report, optional sections add the named extras, and naming a default card such as tax or owners keeps that card. That default-versus-opt-in behavior is not derivable from the schema's `default: null`.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening names a specific resource (company profile) and enumerates the concrete payload it returns: default accounts across all years, eight EMTA quarters, tax debt, pledges, aid, licences, notices, legal-entity owners. Combined with the explicit sibling routing later in the text, an agent can distinguish it from check_counterparty, company_procurement and search_companies without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use-elsewhere routing: company_procurement for award pages, check_counterparty for status/debt/filing checks, search_companies for a name, watch_companies for changes across codes. It also states a hard exclusion — do not look up natural persons, personal codes or contact details — which is exactly the negative guidance most definitions omit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_callsOpen funding callsA
Read-only
Inspect

Open (default), upcoming, or all retained funding calls from the Estonian Business and Innovation Agency (EIS), Agricultural Registers and Information Board (PRIA), and Environmental Investment Centre (KIK). Pass a company profile or registry_code for matching calls, with reasons, rules, co-financing share, budget and size bands. Explicit profile fields override the company profile. This tool does not draft or submit applications. Use procurement_notices for public tenders. Do not look up natural persons.

NameRequiredDescriptionDefault
emtakNoEstonian Classification of Economic Activities (EMTAK) code. Matched on the division when the call has rules.
countyNoCounty name or alias. Valid: Ida-Viru maakond, Lääne-Viru maakond, Harju maakond, Hiiu maakond, Jõgeva maakond, Järva maakond, Lääne maakond, Põlva maakond, Pärnu maakond, Rapla maakond, Saare maakond, Tartu maakond, Valga maakond, Viljandi maakond, Võru maakond, Maakond puudu.
statusNoCall status: open (default), upcoming, or all retained calls.open
providerNoFunder, for example the Estonian Business and Innovation Agency (EIS)
size_bandNoCompany size band: e:0-9, e:10-49, e:50-249, e:250+, e:unknown.
registry_codeNo8-digit registry code; resolves Estonian Classification of Economic Activities (EMTAK), county and size band from the snapshot. Explicit emtak/county/size_band override it per dimension.
deadline_within_daysNoKeep calls whose deadline is within this many days

Output Schema

NameRequiredDescription
as_ofYes
callsNo
profileNo
sourcesYes
row_countNo
truncatedNo
disclaimerYes
calls_totalNo
snapshot_idYes
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.
unknown_scope_countNoCalls dropped by an EMTAK filter because the source named no sector. Zero when the caller did not filter by EMTAK.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly, non-destructive, closed-world behavior, and the description adds matching semantics (reasons, rules, co-financing share, budget and size bands) plus an override precedence rule that a caller would not otherwise know. It stops short of describing result ordering, limits, or incomplete-snapshot caveats for a listing tool, so it is strong but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Scope and funders are front-loaded, followed by matching behavior, then exclusions in descending priority. Dense but each sentence carries a distinct constraint; the status enumeration is mildly redundant with the schema and the provider parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema, full parameter documentation, and safety annotations already present, the description covers what is missing: coverage of the three agencies, matching behavior, precedence, and negative scope. The undefined 'company profile' phrase and absence of any note on result volume are the only loose ends.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description's override rule duplicates what registry_code's schema text already says per dimension. The only added signal is matching-oriented output content, and it introduces a 'company profile' input that has no corresponding parameter in the schema, which risks confusing a caller.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The definition pairs a specific verb (retrieve open/upcoming/all retained) with a specific resource (funding calls) and names the three funding agencies it covers. It also explicitly distinguishes itself from procurement_notices and from application tools, so an agent can identify it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the default status, how to get matching calls (profile or registry_code), and gives explicit exclusions: it does not draft or submit applications, tenders belong to procurement_notices, and natural persons should not be looked up. Both when-to-use and when-not-to-use are covered with named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

procurement_noticesProcurement noticesA
Read-only
Inspect

Public procurement notices filtered by buyer, Common Procurement Vocabulary (CPV), value, deadline or open status. Notice types distinguish calls for tender from awards. Estimates may be incomplete or repeated; estimates and award ceilings are not spend or payments. Text uses contains matching. Global sorting supports issued date, deadline or value, with missing values last. Keep sort and direction unchanged across cursor pages. Total counts all matches; row_count counts the returned page. Legal entities and authorities only. Use company_procurement for a company's awards, or open_calls for grants. Do not look up natural persons.

NameRequiredDescriptionDefault
cpvNoCommon Procurement Vocabulary (CPV) code prefix
dirNoSort direction; reuse with the cursordesc
daysNoPublished within this many days
sortNoGlobal sort key; missing values lastissued
buyerNoBuyer name or registry code
limitNoAt most 25 notices
queryNoTitle or buyer text (contains match on folded title/authority)
cursorNoOpaque cursor from a previous next_cursor for the next page
open_onlyNoKeep open contract notices (cn-*) with deadline on/after today; exclude award notices
max_value_eurNoMaximum estimated value in EUR (finite, 0..1e15)
min_value_eurNoMinimum estimated value in EUR (finite, 0..1e15)
include_null_valueNoWhen min/max value filters are set, also keep notices with no estimated value
deadline_within_daysNoKeep notices whose submission deadline is within this many days (0..3650)

Output Schema

NameRequiredDescription
as_ofYes
totalNoTotal. queries.procurement_estimate_coverage and tools: procurement observation context.
noticesNo
sourcesYes
row_countNo
truncatedNo
disclaimerYes
next_cursorNo
snapshot_idYes
estimate_noteNoEstimate note. queries.procurement_estimate_coverage and tools: procurement observation context.
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.
estimate_coverageNoEstimate coverage. queries.procurement_estimate_coverage and tools: procurement observation context.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the safety profile (readOnly, non-destructive, closed-world); the description adds substantial semantics the annotations cannot: estimates may be incomplete or repeated, estimates/award ceilings are not spend, missing sort values go last, sort and direction must stay stable across cursor pages, and total vs row_count count different things. These are exactly the traps an agent would otherwise fall into.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and filter axes, then caveats, then routing to alternatives — good ordering with almost no filler. The telegraphic, fragment-heavy style ("Text uses contains matching.") is efficient but slightly harder to parse than full clauses.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter filter tool with an output schema, it covers scope limits, data-quality caveats, sorting/pagination invariants, and pagination counting semantics. Nothing an agent needs in order to call it correctly is missing, and return shapes are correctly left to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds genuine cross-parameter guidance the schema does not: contains matching for text, missing-values-last ordering, and the requirement to hold sort/dir fixed while paging the cursor. It stops short of explaining include_null_value or deadline_within_days interactions, which keeps it below a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific resource (public procurement notices) and enumerates the filter axes (buyer, CPV, value, deadline, open status), plus clarifies that notice types span calls for tender and awards. It actively distinguishes itself from siblings by naming company_procurement and open_calls, so an agent can route without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes: company_procurement for a company's awards, open_calls for grants, and a hard exclusion ("Do not look up natural persons") plus a scope boundary ("Legal entities and authorities only"). This is when-to-use, when-not-to-use, and named alternatives in a compact form.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

procurement_statsProcurement market statisticsA
Read-only
Inspect

Compare legal-entity buyer and Common Procurement Vocabulary (CPV) markets across retained history. Notices, procedure folders and observed notice-lots are separate; revisions remain separate lots. Includes tender-count coverage, single-tender share with known denominator, observed winner coverage and year/buyer/category tables. Rates below five observations are withheld. Indicators are not findings, corruption scores or expenditure. Estonian Public Procurement Register attribution accompanies results. Tables have up to 50 rows; truncated results retain totals. Old snapshots return available=false and empty tables. Use procurement_notices for individual notices and open tenders. Do not look up natural persons.

NameRequiredDescriptionDefault
cpvNoCommon Procurement Vocabulary (CPV) prefix
buyerNoBuyer name or registry-code contains match

Output Schema

NameRequiredDescription
cpvNo
noteNo
as_ofYes
buyersNo
by_yearNo
sourcesYes
summaryNo
availableNo
cpv_totalNo
truncatedNo
disclaimerYes
snapshot_idYes
buyers_totalNo
by_year_totalNo
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description adds substantive behavior beyond them: small-sample suppression ('Rates below five observations are withheld'), row truncation and totals retention, legacy snapshot behavior ('available=false and empty tables'), and an explicit disclaimer that indicators are not findings or corruption scores.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core comparison purpose before scope caveats and routing. It is dense with eight clauses and some statements (attribution, notice-lot separation) are more peripheral, but nearly every sentence carries operational information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema existing, the description still supplies the edge cases an agent needs: suppression thresholds, truncation limits, empty/false results for old snapshots, and interpretation limits. Nothing essential to correct invocation or interpretation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both params (cpv prefix, buyer name/registry-code contains match), so the schema carries parameter meaning. The description only obliquely references buyer/category/year tables and adds no syntax or matching semantics beyond the schema; a baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Compare) and resource (legal-entity buyer and CPV markets) with explicit scope (across retained history), and draws the line against the sibling procurement_notices. An agent can distinguish this aggregation tool from the notice-listing tool without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative tool explicitly ('Use procurement_notices for individual notices and open tenders') and gives a negative boundary ('Do not look up natural persons'). It stops short of stating the full when-to-use condition (e.g. when a market-comparison question is being asked versus a single-entity lookup), so it is clear but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

region_statsRegional statisticsA
Read-only
Inspect

County medians, employment and aid; omit county for all counties. Land is national. Optional sections add quarterly figures, filing coverage, labour market, public buying, energy labels, land, property, construction, municipal acts, municipality rankings and tourism. Small cells are suppressed. Labour taxes are not wages; registered unemployment is a count, not a rate. Filing absence is not proven non-filing. Buying uses registered seat and all retained history, independent of year; ceilings are not spend. Energy labels cover certified buildings, not all buildings or verified current validity. Property stock counts registered apartment-property units, not dwellings. Transactions are dated aggregates: respect frozen periods and never pool medians. national_construction: national series inside a county dossier only; null without county. Municipal topics are incomplete relevance indicators. Guest-night cost is not revenue; national tourism does not establish county seasonality. Preserve dates, units and nulls. county_brief keeps those figures; code region_report. Truncated lists keep totals. Use sector_stats for an industry. Do not look up natural persons, owners or parcel records.

NameRequiredDescriptionDefault
yearNoYear
countyNoCounty name or alias. Omit for every county. Valid: Ida-Viru maakond, Lääne-Viru maakond, Harju maakond, Hiiu maakond, Jõgeva maakond, Järva maakond, Lääne maakond, Põlva maakond, Pärnu maakond, Rapla maakond, Saare maakond, Tartu maakond, Valga maakond, Viljandi maakond, Võru maakond, Maakond puudu.
sectionsNoOpt-in context sections; omitted or [] returns pre-integration core only. Available: energy_labels, labour_market, land, municipal_acts, municipalities_ranked, national_construction, property_market, property_stock, public_buying, quarterly, report_coverage, tourism
quarterly_formNoQuarterly legal-form group: OÜ, AS, other retained legal forms. Independent of annual-account year.ou

Output Schema

NameRequiredDescription
aidNo
landNoOpt-in: returned only when sections includes land. Aggregate cadastral context, independently dated. National scope when county is omitted.
slugNo
yearNo
as_ofYes
foundNo
countyNo
largestNo
partialNo
sectorsNo
sourcesYes
tourismNoOpt-in: returned only when sections includes tourism. TU110 annual county totals and normalized TU121 national monthly arrivals; independent periods, null means not reported. Cost is not revenue/profit/yield.
countiesNo
delta_pctNo
quarterlyNoOpt-in: returned only when sections includes quarterly. Eight latest quarters from a fixed 12-quarter complete-reporting legal-entity cohort. Current geography/classifier. Small cells excluded before all rollups. Empty for old snapshots.
share_pctNo
truncatedNo
demographyNo
disclaimerYes
gross_wageNo
year_labelNo
snapshot_idYes
bankruptciesNo
county_briefNoCompact county figures from the report note: tax-debt company count and share, bounded aid sum and decision count, procurement win count and value, 30-day bankruptcy notice count, and median wage versus the national figure. Numbers only.
transactionsNo
unemploymentNo
company_countNo
energy_labelsNoOpt-in: returned only when sections includes energy_labels.
label_en_noteNoInterpretation of English sector label coverage and fallback.
labour_marketNoOpt-in: returned only when sections includes labour_market. Official aggregate context; source gaps remain null, periods and classification are independent of company report year. Lists may be truncated.
largest_totalNoLargest total. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.
median_seriesNo
public_buyingNoOpt-in: returned only when sections includes public_buying.
sectors_totalNoSectors total. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.
counties_totalNoNumber of counties before envelope trimming.
employees_unitNo
median_revenueNo
municipal_actsNoOpt-in: returned only when sections includes municipal_acts. Current municipal regulations: derived title-keyword relevance, not a complete compliance checklist. Null for older snapshots.
municipalitiesNo
property_stockNoOpt-in: returned only when sections includes property_stock. Registered apartment-property units (korteriomand), not physical dwellings. Source Last-Modified date; RIK kinnistusraamat (Kris.xml), CC BY-SA 4.0, https://creativecommons.org/licenses/by-sa/4.0/. Missing input or old snapshots: null.
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
employees_totalNo
open_call_countNo
property_marketNoOpt-in: returned only when sections includes property_market.
report_coverageNoOpt-in: returned only when sections includes report_coverage.
counties_compareNo
delta_pct_reasonNo
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.
report_note_codeNoCounty report code. region_report marks a county response; the figures are in county_brief.
share_pct_reasonNo
median_revenue_unitNo
wage_municipalitiesNo
company_count_reasonNo
median_revenue_reasonNo
municipalities_rankedNoOpt-in. Same active-company municipality rows as municipalities, ordered by company_count descending then name. median_revenue is null when median_revenue_n < 5.
national_constructionNoOpt-in: returned only when sections includes national_construction and county is supplied; national series inside the county dossier, null without county.
employees_total_reasonNo
excluded_unit_uncertainNoCompanies left out of this revenue ranking because revenue is null and monetary_null_reason is unit_uncertain. count is the filtered total; companies lists at most 20 with registry_code and name, and has no rank. count 0 means none were excluded.

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/safe, but the description adds substantial semantic guardrails beyond them: small-cell suppression, 'labour taxes are not wages', unemployment is a count not a rate, filing absence is not non-filing, ceilings are not spend, property stock counts units not dwellings, transactions are dated aggregates to never pool, truncated lists keep totals. This is exactly the kind of caveat an agent needs to interpret results correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded, and most caveats carry real informational weight, but the body is an undifferentiated semicolon stream that mixes purpose, caveats, sibling routing and report codes. It could be reorganized into scannable groups without losing content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values needn't be explained, and the description covers the key interpretive edge cases and parameter semantics thoroughly. It is complete for correct invocation; only structure, not coverage, is the weakness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so the baseline is 3, but the description adds interpretation: county omission semantics, the enumerated sections and their purpose ('quarterly figures, filing coverage, labour market...'), and the national_construction null-without-county behavior. It does little for quarterly_form beyond the schema's own text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening ('County medians, employment and aid; omit county for all counties') names the resource and scope clearly enough that an agent knows it returns county-level statistics, and 'Use sector_stats for an industry' distinguishes it from a sibling. It never states a clean verb+resource sentence, but the coverage of what data comes back is specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete when-to guidance: omit county to get all counties, use sector_stats for industry queries, and 'Do not look up natural persons, owners or parcel records' states exclusions. The guidance is scattered across the paragraph rather than structured, but it does name alternatives and boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

risk_signalsRisk signalsA
Read-only
Inspect

Legal entities matching tax debt, bankruptcy, liquidation, enforcement, restructuring or distress signals. Use cursor pagination for company lists. kind=tax_debt_trend returns observed monthly debt stock, joined/left observations and latest active-cohort sector/county incidence: top 10 by incidence rate. Estonian Classification of Economic Activities (EMTAK) and county filters affect incidence rows only; both return separate aggregates. Sector codes map to two-digit divisions; shorter prefixes match divisions. Trends have no cursor; newest months are retained with totals and truncation flags. Baselines and gaps are excluded. Absence is not debt-free; scheduled and disputed amounts remain separate. Amounts withheld below 100 EUR or source-suppressed differ from zero or no published list. Estonian Tax and Customs Board (EMTA) attribution accompanies results; old snapshots return empty lists. Use check_counterparty for one code. Do not look up natural persons.

NameRequiredDescriptionDefault
kindNoOmit for all feed kinds. registered: registrations; procurement_award: dated awards; report_overdue: overdue report deadlines at snapshot date; tax_debt_trend: national months and filtered incidence; tax_debt: current debt; tax_debt_new: newly observed debt; tax_debt_growing: growing debt; tax_debt_cleared: observed clearance; bankruptcy: bankruptcy notices; liquidation: liquidation notices; enforcement: enforcement notices; restructuring: restructuring notices; distress_high: high distress; high: alias for distress_high; distress_moderate: moderate distress; moderate: alias for distress_moderate; distress: high or moderate distress; distress_up: rising distress.
emtakNoEstonian Classification of Economic Activities (EMTAK) code or prefix
limitNoAt most 25 signals
countyNoCounty name or alias. Valid: Ida-Viru maakond, Lääne-Viru maakond, Harju maakond, Hiiu maakond, Jõgeva maakond, Järva maakond, Lääne maakond, Põlva maakond, Pärnu maakond, Rapla maakond, Saare maakond, Tartu maakond, Valga maakond, Viljandi maakond, Võru maakond, Maakond puudu.
cursorNoOpaque cursor from a previous next_cursor for the next page

Output Schema

NameRequiredDescription
endNo
hintNoTrend incidence ranking and county/emtak filter guidance for fetching omitted rows.
noteNo
as_ofYes
scopeNo
startNo
cohortNo
monthsNo
signalsNo
sourcesYes
incidenceNoTop incidence rates across counties and sectors, or rows selected by county/emtak. Both filters select separate aggregate rows, not a county-sector intersection. Months remain national.
row_countNo
truncatedNo
disclaimerYes
next_cursorNo
snapshot_idYes
cohort_as_ofNo
missing_daysNo
months_totalNoNumber of months in the full national history before size budgeting.
observed_daysNo
threshold_eurNo
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
incidence_top_nNoActual number of incidence rows returned, ranked by share_pct descending, unknown rates last; at most 10 and possibly fewer under the 8,000-byte envelope.
incidence_totalNoNumber of incidence rows matching county/emtak filters, or all rows when unfiltered, before top-N selection.
months_returnedNoNumber of returned months; newest months are retained in chronological order.
incidence_cohortNo
months_truncatedNoTrue when oldest months were omitted to fit the 8,000-byte envelope.
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnly/closed-world; the description adds substantive behavior an agent could not infer: trends have no cursor, newest months retained with truncation flags, baselines and gaps excluded, amounts withheld below 100 EUR or source-suppressed differ from zero, old snapshots return empty lists, and EMTA attribution accompanies results. These are exactly the caveats that prevent misreading an empty or low figure as a clean record.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and the check_counterparty pointer, and dense with real content, but it drifts into a run-on chain of caveats where sentences like 'Baselines and gaps are excluded' and 'scheduled and disputed amounts remain separate' arrive without referents. Comparable information could be grouped by mode (list vs. trend) rather than interleaved.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter read tool with a full output schema, the description covers the operational hazards (empty results vs. withheld amounts, cursor applicability per mode, filter scope). Remaining gap is chiefly structural: the mode-specific behavior for the many feed kinds other than tax_debt_trend is only enumerated in the schema, not explained here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics on top: EMTAK prefix matching to two-digit divisions, county/EMTAK filters affecting incidence rows only while totals come back separately, and cursor pagination vs. the cursor-less trend mode. Only the limit cap (25) is left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific resource statement: legal entities matching enumerated risk conditions (tax debt, bankruptcy, liquidation, enforcement, restructuring, distress). An agent can tell what comes back, though the tool name 'risk_signals' is broadened rather than sharply differentiated — the sibling routing only appears later via check_counterparty.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit alternative for the single-entity case ('Use check_counterparty for one code') and an explicit exclusion ('Do not look up natural persons'), plus a pagination instruction for company lists. It does not say when to prefer this over sibling feeds like event_series or company_procurement, so the routing is partial but genuinely useful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_companiesSearch companiesA
Read-only
Inspect

Search active legal entities by current or former name or registry code. Set include_inactive for other statuses. County aliases and cursor pagination are supported; unknown counties error. Use get_company for a full company profile, or find_companies to filter by county, Estonian Classification of Economic Activities (EMTAK), revenue or employees. Do not look up natural persons.

NameRequiredDescriptionDefault
emtakNoEstonian Classification of Economic Activities (EMTAK) code or prefix
limitNoAt most 25 companies
queryYesCompany name or 8-digit registry code
countyNoCounty name or alias (Harju, Harjumaa, Harju maakond). Valid: Ida-Viru maakond, Lääne-Viru maakond, Harju maakond, Hiiu maakond, Jõgeva maakond, Järva maakond, Lääne maakond, Põlva maakond, Pärnu maakond, Rapla maakond, Saare maakond, Tartu maakond, Valga maakond, Viljandi maakond, Võru maakond, Maakond puudu.
cursorNoOpaque cursor from a previous next_cursor for the next page
include_inactiveNoInclude liquidated, bankrupt, and deleted companies. Default false.

Output Schema

NameRequiredDescription
as_ofYes
sourcesYes
companiesNo
row_countNo
truncatedNo
disclaimerYes
next_cursorNo
snapshot_idYes
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and a closed-world scope, so the safety profile is covered. The description adds real behavioral detail beyond that: county aliases are accepted, unknown counties raise an error, and results are cursor-paginated. It does not mention ordering or what an empty result implies, keeping it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the primary matching behavior and ending with scope exclusion. Dense with signal but the alternatives clause packs three tool names and a filter list into one sentence, which takes a second pass to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and all six parameters are documented in the schema. The description covers scope, status filtering, error behavior, and sibling routing. The only residual gap is the unresolved overlap with find_companies on county and emtak filtering.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns extra by clarifying that include_inactive widens results to other statuses and that county accepts aliases but errors on unknown values — behavior the schema does not state. It does not explain how query matches former names or how severity of the emtak prefix match works.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search active legal entities') plus the exact matching keys (current or former name, registry code) and the status scope (active by default). Combined with the explicit routing sentence, an agent can separate it from get_company and find_companies without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names two alternatives and the condition selecting each ('get_companies for a full profile', 'find_companies to filter by county, EMTAK, revenue or employees'), plus an exclusion ('Do not look up natural persons'). The routing is undercut slightly because this tool itself exposes county and emtak parameters, so the boundary with find_companies remains partly ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sector_statsSector statisticsA
Read-only
Inspect

Medians, percentiles and company counts for a sector under the Estonian Classification of Economic Activities (EMTAK 2025), optionally by county and year. Older codes use the snapshot crosswalk. Licence counts suppress n < 5 and use current sector/county denominators, independent of year. Presence is not compliance. Legal acts are incomplete, capped at 10 per group. Optional sections add quarterly figures, national gross wages, filing coverage, benchmarks, vacancies, technology adoption, insolvency, tourism, macro context and upcoming laws. Labour taxes are not wages. Filing absence means not in the dated data, not proven non-filing. Official benchmarks describe broader national populations, not company percentiles. Preserve source periods, units, coverage and classification caveats; missing data stays null or empty. Bills are not law and detected deadlines are not compliance verdicts. Truncated lists retain totals and sources. Use legal_calendar for upcoming changes, region_stats for a place, or compare_companies for named firms. Do not look up natural persons.

NameRequiredDescriptionDefault
yearNoYear
emtakYesEstonian Classification of Economic Activities (EMTAK) 2025 code or division. Estonian Classification of Economic Activities (EMTAK) 2008 codes are resolved via the snapshot crosswalk.
countyNoCounty name or alias, optional. Valid: Ida-Viru maakond, Lääne-Viru maakond, Harju maakond, Hiiu maakond, Jõgeva maakond, Järva maakond, Lääne maakond, Põlva maakond, Pärnu maakond, Rapla maakond, Saare maakond, Tartu maakond, Valga maakond, Viljandi maakond, Võru maakond, Maakond puudu.
sectionsNoOpt-in context sections; omitted or [] returns pre-integration core only. Available: ai_adoption, bankruptcies, economy, job_vacancies, official_benchmarks, quarterly, report_coverage, tourism, upcoming_changes, wages
quarterly_formNoQuarterly legal-form group: OÜ, AS, other retained legal forms. Independent of annual-account year.ou

Output Schema

NameRequiredDescription
actsNo
yearNo
as_ofYes
emtakNo
foundNo
labelNo
levelNo
trendNo
wagesNoOpt-in: returned only when sections includes wages. Official aggregate context; source gaps remain null, periods and classification are independent of company report year. Lists may be truncated.
economyNoOpt-in: returned only when sections includes economy.
partialNo
sourcesYes
tourismNoOpt-in: returned only when sections includes tourism. TU110 annual county totals and normalized TU121 national monthly arrivals; independent periods, null means not reported. Cost is not revenue/profit/yield. Accommodation (EMTAK 55) only; null for other sectors.
label_enNoEnglish sector label, or null when unavailable.
histogramNo
quarterlyNoOpt-in: returned only when sections includes quarterly. Eight latest quarters from a fixed 12-quarter complete-reporting legal-entity cohort. Current geography/classifier. Small cells excluded before all rollups. Empty for old snapshots.
truncatedNo
acts_totalNoTotal sector-specific acts before envelope trimming.
disclaimerYes
emtak_noteNo
acts_noticeNoCoverage caveat for derived company-subject act extractions; missing counts do not mean zero duties.
ai_adoptionNoOpt-in: returned only when sections includes ai_adoption.
percentilesNo
revenue_sumNo
snapshot_idYes
bankruptciesNoOpt-in: returned only when sections includes bankruptcies.
company_countNo
job_vacanciesNoOpt-in: returned only when sections includes job_vacancies.
label_en_noteNoInterpretation of English label coverage and fallback.
licence_countNo
acts_universalNo
median_revenueNo
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
employees_totalNo
emtak_requestedNo
label_en_methodNoEnglish label derivation method, including broader NACE fallback; null when unavailable.
report_coverageNoOpt-in: returned only when sections includes report_coverage.
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.
upcoming_changesNoOpt-in: returned only when sections includes upcoming_changes.
licence_prevalenceNo
official_benchmarksNoOpt-in: returned only when sections includes official_benchmarks. EM001 enterprise statistics by persons-employed size class, not company percentiles; empty rows on old snapshots.
acts_universal_totalNoTotal universal acts before envelope trimming.
median_revenue_reasonNo
company_count_nationalNo
licence_prevalence_noteNo
official_benchmarks_urlNoFull-data URL; returned only when sections includes official_benchmarks.
licence_prevalence_totalNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld=false/destructive=false, so the bar is lower, yet the description adds substantial behavior: n<5 suppression on licence counts, current sector/county denominators independent of year, legal acts capped at 10 per group, truncation retaining totals and sources, and null/empty for missing data. It falls short of 5 because several caveats are cryptic in isolation ('Presence is not compliance', 'Labour taxes are not wages') without saying which field or section they attach to.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and routing are front-loaded and the section list is efficient, but the middle is a dense run of terse caveats ('Presence is not compliance', 'Bills are not law') that read as boilerplate chained by semicolons rather than ranked by relevance to tool selection. No single sentence is wasted outright, but the block is not organized for scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter tool with full schema coverage, an output schema, and read-only annotations, the description covers scope, defaults, suppression rules, and data-coverage caveats well. The remaining gap is that the caveats about legal acts, bills, and filing are detached from their sections, so an agent cannot always tell which result block a caveat governs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so 3 is the baseline; the description earns one above it by expanding the opaque `sections` enum values into prose (quarterly figures, national gross wages, filing coverage, benchmarks, vacancies, technology adoption, insolvency, tourism, macro context, upcoming laws) and by noting quarterly_form is independent of the annual-account year. County and year meaning is only echoed, not extended, so it does not reach 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names the exact resource and measures (medians, percentiles, company counts) scoped to an EMTAK 2025 sector, optionally by county and year. It also states that older codes are resolved through the snapshot crosswalk, and the closing sentences name the sibling tools this is not (legal_calendar, region_stats, compare_companies). An agent can distinguish it from every sibling without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit routing is given: use legal_calendar for upcoming changes, region_stats for a place, compare_companies for named firms, and do not use this for natural persons. Optional sections are framed as opt-in with 'omitted or [] returns pre-integration core only', which tells the agent the default behavior. Nothing about when to choose this tool is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

source_metadataSource metadataA
Read-only
Inspect

Licence, attribution and distribution evidence for one source. Authenticated, not metered; shares a 60-call bucket with describe_datasets, refilling at one call per second. Independent of daily call and company limits. Current policy checks differ from acquisition rights: unresolved means no retained grant evidence; retained_copy requires an older licensed copy. Includes exact recorded distribution URLs, acquisition/source clocks and transformation codes. Old snapshots return empty acquisitions. Truncated results include acquisitions_total. Use get_company for legal-entity figures. Do not look up natural persons.

NameRequiredDescriptionDefault
source_keyNoSource key, e.g. stat, emta or ariregisterstat

Output Schema

NameRequiredDescription
as_ofYes
sourcesYes
truncatedNo
disclaimerYes
snapshot_idYes
acquisitionsNo
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.
acquisitions_totalNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/non-destructive annotations: discloses authentication requirement, an unmetered but rate-limited profile (shared 60-call bucket, 1 call/sec refill), independence from daily/company limits, policy semantics (unresolved vs. retained_copy), old-snapshot empty-acquisition behavior, and truncation signaling. This is exactly the operational context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose, then proceeds through rate limits, semantics, caveats, and boundaries in a logical order. Dense, with almost every sentence carrying operational value; slightly burdensome reading but no clear waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't explain return values, yet it still flags the truncated-results indicator. It covers auth, rate limits, semantic ambiguity, boundary with get_company, and persona exclusion—nothing material is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single source_key parameter has 100% schema description coverage including examples (stat, emta, ariregister). The description adds no additional parameter meaning, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb-and-resource framing: 'Licence, attribution and distribution evidence for one source.' This is clearly distinguishable from siblings like get_company and describe_datasets, which are named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete routing rules: 'Use get_company for legal-entity figures' and 'Do not look up natural persons.' These establish boundaries and exclusions, though there is no explicit when-not-to-use list for this specific tool beyond those two carve-outs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_feedbackSubmit data feedbackAInspect

Use only when the user explicitly asks to report missing or wrong data. Stores one masked feedback record for human review; sends nothing externally. Include only the reported data problem, never conversation history, personal data or credentials. Omit request_context and agent unless essential to reproduce that problem; their documented size limits and masking apply. At most 20 reports per credential per Tallinn calendar day and five per rolling minute. Returns feedback_id and status=received. Use get_company to retrieve company data. Do not look up natural persons.

NameRequiredDescriptionDefault
kindYes
toolNoTool this feedback refers to
agentNoOptional client identifier needed to reproduce the reported problem; omit by default. At most 100 characters, masked; no personal data or credentials.
messageYesFeedback text; no personal data
registry_codesNoUp to 10 known legal-entity registry codes; omit codes absent from the snapshot
request_contextNoOptional minimal reproduction details only; omit by default. No conversation history, personal data or credentials. Text: at most 2000 characters. JSON: at most 50 nodes, depth 4, 49 keys per object, and 500 characters per key/string. Masked storage: at most 2000 characters.

Output Schema

NameRequiredDescription
statusYes
feedback_idYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: discloses masking, human-review destination, that nothing is sent externally, and concrete rate limits (20/credential/Tallinn day, 5/rolling minute), plus the return shape (feedback_id, status=received). These are exactly the operational traits an agent needs and annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the gating condition and core behavior, and nearly every sentence carries a constraint (privacy, omission policy, rate limits). It is dense but justified; the 'Use get_company' routing sentence is slightly tangential for a feedback tool, keeping it just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation-adjacent tool with rich privacy/rate constraints and an output schema already covering return values, the description supplies everything needed: trigger, scope, prohibited content, omission defaults, limits, and confirmation output. No material gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 83%, so the schema already carries most parameter meaning (baseline 3). The description adds real value by specifying omission policy for the optional request_context and agent fields ('omit unless essential to reproduce') and by referencing their masking/size constraints, exceeding the structured fields alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Stores one masked feedback record for human review') and clarifies the effect ('sends nothing externally'). This is unmistakably distinct from the read-only lookup siblings like get_company and find_companies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit gating condition ('Use only when the user explicitly asks to report missing or wrong data'), a boundary ('Do not look up natural persons'), and routes to an alternative ('Use get_company to retrieve company data'). Nothing about when to invoke is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

watch_companiesWatch companiesA
Read-only
Inspect

Typed changes for a bounded list of legal-entity registry codes: name, status, capital, succession, tax debt and distress. Returns companies needing attention, with filing status and current tax debt. on_list false with snapshot_date means not on the EMTA debt list ≥100 € as of that date. Unknown applies only when the list was not observed and is not assurance of absence. Use check_counterparty for one code, or get_company sections tax_debt_history or distress_trend for deeper history. Do not look up natural persons.

NameRequiredDescriptionDefault
sinceNoOpaque change cursor (event id) or previous snapshot_id. Omit for the full typed change list in this snapshot.
cursorNoOpaque cursor from a previous next_cursor for the next page
registry_codesYesOne to fifty 8-digit legal-entity registry codes

Output Schema

NameRequiredDescription
rowsNo
as_ofYes
sinceNo
sourcesYes
requestedNo
row_countNo
truncatedNo
disclaimerYes
next_cursorNo
snapshot_idYes
source_detailsYesFull attribution and acquisition evidence: source_metadata(key).
omitted_sectionsNoSections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, non-destructive, closed-world behavior, so the description does not need to restate safety. It adds meaningful semantic context about the EMTA debt-list interpretation and the difference between on_list false and Unknown, which prevents common misinterpretations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and return behavior, then moves to semantic caveats and alternatives. It is dense but well organized, with only a small amount of extra interpretive text that earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With full schema coverage, annotations, and an output schema, the definition is nearly self-sufficient. The description adds important domain caveats about Unknown and on_list false, though it could say slightly more about pagination or change-cursor semantics if those are not fully covered elsewhere.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the parameter descriptions already define since, cursor, and registry_codes. The tool description reinforces the bounded-list nature but adds little parameter-specific syntax or format guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb-and-resource pattern: typed changes for a bounded list of legal-entity registry codes, covering name, status, capital, succession, tax debt, and distress. It also distinguishes this watchlist-style query from alternatives like check_counterparty and get_company, so an agent can identify the tool without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly routes single-code lookups to check_counterparty and deeper history lookups to get_company sections, and it warns against natural-person lookups. The when-to-use and when-not-to-use boundaries are clearly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedcheck_counterparty1 field changed
      • addedOutput schema / properties / distress / properties / score_reason
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedfind_companies1 field changed
      • changedOutput schema / properties / excluded_unit_uncertain / description
        Previous value: -"Companies left out of this revenue ranking because revenue is null and monetary_null_reason is unit_uncertain. count is the filtered total; companies lists at most 20 with registry_code and name, and has no rank. count 0 means none were excluded."New value: +"Companies left out of this revenue ranking because revenue is null and monetary_null_reason is unit_uncertain. count is the filtered total; companies lists at most 20 with registry_code and name, and has no rank. count 0 means none were excluded. Null is accepted and means the exclusion was not computed. find_companies reads the first company page only and keeps that page's object."
    • Changedget_company1 field changed
      • addedOutput schema / properties / distress / properties / score_reason
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
  2. 14 tool updates
    • Changedbrowse_catalog7 fields changed
      • addedOutput schema / properties / as_of
        Added value: +{
        +  "description": "As of. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / coverage / properties
        Added value: +{
        +  "reason": {
        +    "description": "Reason. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +    "type": "string"
        +  },
        +  "status": {
        +    "description": "Status. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / disclaimer
        Added value: +{
        +  "description": "Disclaimer. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / limit
        Added value: +{
        +  "description": "Limit. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Notice. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Source details. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / sources / items / properties
        Added value: +{
        +  "attribution": {
        +    "description": "Attribution. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +    "type": "string"
        +  },
        +  "key": {
        +    "description": "Key. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +    "type": "string"
        +  },
        +  "licence": {
        +    "description": "Licence. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +    "type": "string"
        +  },
        +  "licence_url": {
        +    "description": "Licence url. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +    "type": "string"
        +  },
        +  "name": {
        +    "description": "Name. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.",
        +    "type": "string"
        +  }
        +}
    • Changedcheck_counterparty4 fields changed
      • addedOutput schema / properties / distress / properties / note
        Added value: +{
        +  "description": "Note. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / distress / properties / reasons
        Added value: +{
        +  "description": "Reasons. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "items": {
        +    "additionalProperties": true,
        +    "properties": {
        +      "component": {
        +        "description": "Component. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +        "type": "string"
        +      },
        +      "contribution": {
        +        "description": "Contribution. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +        "type": "integer"
        +      },
        +      "event": {
        +        "additionalProperties": true,
        +        "description": "Event. queries_extra._distress_rising_events and distress_reasons: persisted score observations. Null when the source value or applicable observation is unavailable.",
        +        "properties": {
        +          "detected_at": {
        +            "description": "Detected at. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +            "type": "string"
        +          },
        +          "previous_score": {
        +            "description": "Previous score. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +            "type": "integer"
        +          }
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / distress / properties / reasons_total
        Added value: +{
        +  "description": "Reasons total. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / sources / items / properties / as_of_basis
        Added value: +{
        +  "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.",
        +  "type": "string"
        +}
    • Changedcompany_procurement2 fields changed
      • addedOutput schema / properties / context_note
        Added value: +{
        +  "description": "Interpretation and limitations of award context; unknown tax debt is not debt-free.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / sources / items / properties / as_of_basis
        Added value: +{
        +  "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.",
        +  "type": "string"
        +}
    • Changedcompare_companies8 fields changed
      • addedOutput schema / properties / companies / items / properties / distress / properties / methodology_version
        Added value: +{
        +  "description": "Methodology version. queries_extra._distress_rising_events and distress_reasons: persisted score observations. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / companies / items / properties / distress / properties / reasons
        Added value: +{
        +  "description": "Reasons. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "items": {
        +    "additionalProperties": true,
        +    "properties": {
        +      "component": {
        +        "description": "Component. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +        "type": "string"
        +      },
        +      "contribution": {
        +        "description": "Contribution. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +        "type": "integer"
        +      },
        +      "event": {
        +        "additionalProperties": true,
        +        "description": "Event. queries_extra._distress_rising_events and distress_reasons: persisted score observations. Null when the source value or applicable observation is unavailable.",
        +        "properties": {
        +          "detected_at": {
        +            "description": "Detected at. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +            "type": "string"
        +          },
        +          "previous_score": {
        +            "description": "Previous score. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +            "type": "integer"
        +          }
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / companies / items / properties / monetary_null_reason
        Added value: +{
        +  "description": "Monetary null reason. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when no missing-value, suppression or unavailability reason applies.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / companies / items / properties / report_basis
        Added value: +{
        +  "description": "Report basis. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / companies / items / properties / series / properties / employees_q / items / properties
        Added value: +{
        +  "period": {
        +    "description": "Period. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.",
        +    "type": "string"
        +  },
        +  "unit": {
        +    "description": "Unit. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.",
        +    "type": "string"
        +  },
        +  "value": {
        +    "description": "Value. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "integer",
        +      "null"
        +    ]
        +  }
        +}
      • addedOutput schema / properties / companies / items / properties / tax_debt / properties / left_censored
        Added value: +{
        +  "description": "True when first_seen is the retention boundary (tax_debt_history_start), so the first listing may be earlier. Not a claim of continuous listing: check episodes and events in tax_debt_history for clears and re-entries. The full comparison tax_debt view includes the key when false.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / companies / items / properties / tax_debt / properties / series / items / properties
        Added value: +{
        +  "date": {
        +    "description": "Date. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.",
        +    "type": "string"
        +  },
        +  "debt_amount": {
        +    "description": "Debt amount. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "number",
        +      "null"
        +    ]
        +  },
        +  "unit": {
        +    "description": "Unit. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / sources / items / properties / as_of_basis
        Added value: +{
        +  "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.",
        +  "type": "string"
        +}
    • Changedevent_series19 fields changed
      • addedOutput schema / properties / county
        Added value: +{
        +  "description": "County. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / coverage_basis
        Added value: +{
        +  "description": "Coverage basis. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / coverage_scope
        Added value: +{
        +  "description": "Coverage scope. event_series.event_series_payload: observed events and coverage, not unique insolvencies.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / data_as_of
        Added value: +{
        +  "description": "Event-series observation cutoff, separate from the snapshot publication clock.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / emtak
        Added value: +{
        +  "description": "Emtak. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / excluded_relationships_without_two_company_joins
        Added value: +{
        +  "description": "Count of excluded company relationship pairs with a missing registry code or with one or both companies absent from the company join.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / first_month
        Added value: +{
        +  "description": "First month. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / future_notices
        Added value: +{
        +  "description": "Future notices. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "integer",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / future_records
        Added value: +{
        +  "additionalProperties": {
        +    "type": "integer"
        +  },
        +  "description": "Counts by event kind for future records.",
        +  "type": "object"
        +}
      • addedOutput schema / properties / invalid_date_notices
        Added value: +{
        +  "description": "Invalid date notices. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "integer",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / invalid_dates
        Added value: +{
        +  "additionalProperties": {
        +    "type": "integer"
        +  },
        +  "description": "Counts by event kind for invalid dates.",
        +  "type": "object"
        +}
      • addedOutput schema / properties / national_coverage
        Added value: +{
        +  "description": "National coverage. event_series.event_series_payload: observed events and coverage, not unique insolvencies.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / notice_first_month
        Added value: +{
        +  "description": "Notice first month. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / notices_available
        Added value: +{
        +  "description": "Notices available. event_series.event_series_payload: observed events and coverage, not unique insolvencies.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / relationship_first_month
        Added value: +{
        +  "description": "Relationship first month. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / rows / items / properties / matched_notices
        Added value: +{
        +  "description": "Matched notices. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "null",
        +    "integer"
        +  ]
        +}
      • addedOutput schema / properties / rows / items / properties / partial
        Added value: +{
        +  "description": "Partial. event_series.event_series_payload: observed events and coverage, not unique insolvencies.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / rows / items / properties / unmatched_notices
        Added value: +{
        +  "description": "Unmatched notices. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "null",
        +    "integer"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of_basis
        Added value: +{
        +  "description": "As of basis. event_series.event_series_payload: observed events and coverage, not unique insolvencies.",
        +  "type": "string"
        +}
    • Changedfind_companies8 fields changed
      • addedOutput schema / properties / companies / items / properties / growth_pct
        Added value: +{
        +  "description": "Growth pct. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "null",
        +    "number"
        +  ]
        +}
      • addedOutput schema / properties / companies / items / properties / label_en
        Added value: +{
        +  "description": "Label en. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / companies / items / properties / label_en_method
        Added value: +{
        +  "description": "Label en method. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / companies / items / properties / monetary_null_reason
        Added value: +{
        +  "description": "Monetary null reason. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when no missing-value, suppression or unavailability reason applies.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / companies / items / properties / report_basis
        Added value: +{
        +  "description": "Report basis. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / label_en_note
        Added value: +{
        +  "description": "Interpretation of English label coverage and fallback.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "Incomplete-result warning when a result, scan or lookup limit is reached.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / sources / items / properties / as_of_basis
        Added value: +{
        +  "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.",
        +  "type": "string"
        +}
    • Changedget_company23 fields changed
      • addedOutput schema / properties / appointments
        Added value: +{
        +  "additionalProperties": true,
        +  "description": "Optional anonymous non-founding management appointment counts and dates; null when unavailable. No person data.",
        +  "properties": {
        +    "appointment_count": {
        +      "description": "Appointment count. queries_extra.management_appointments_payload: observed management appointment summary.",
        +      "type": "integer"
        +    },
        +    "as_of": {
        +      "description": "As of. queries_extra.management_appointments_payload: observed management appointment summary.",
        +      "type": "string"
        +    },
        +    "latest_start_date": {
        +      "description": "Latest start date. queries_extra.management_appointments_payload: observed management appointment summary.",
        +      "type": "string"
        +    },
        +    "note": {
        +      "description": "Note. queries_extra.management_appointments_payload: observed management appointment summary.",
        +      "type": "string"
        +    },
        +    "period_start": {
        +      "description": "Period start. queries_extra.management_appointments_payload: observed management appointment summary.",
        +      "type": "string"
        +    }
        +  },
        +  "type": [
        +    "object",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / distress / properties / note
        Added value: +{
        +  "description": "Note. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / distress / properties / reasons
        Added value: +{
        +  "description": "Reasons. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "items": {
        +    "additionalProperties": true,
        +    "properties": {
        +      "component": {
        +        "description": "Component. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +        "type": "string"
        +      },
        +      "contribution": {
        +        "description": "Contribution. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +        "type": "integer"
        +      },
        +      "event": {
        +        "additionalProperties": true,
        +        "description": "Event. queries_extra._distress_rising_events and distress_reasons: persisted score observations. Null when the source value or applicable observation is unavailable.",
        +        "properties": {
        +          "detected_at": {
        +            "description": "Detected at. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +            "type": "string"
        +          },
        +          "previous_score": {
        +            "description": "Previous score. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +            "type": "integer"
        +          }
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / distress / properties / reasons_total
        Added value: +{
        +  "description": "Reasons total. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / distress / properties / truncated
        Added value: +{
        +  "description": "Truncated. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / distress_trend / properties / events / items / properties / delta
        Added value: +{
        +  "description": "Delta. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / distress_trend / properties / events / items / properties / risk_level
        Added value: +{
        +  "description": "Risk level. queries_extra._distress_rising_events and distress_reasons: persisted score observations. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / distress_trend / properties / events / items / properties / unit
        Added value: +{
        +  "description": "Unit. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / distress_trend / properties / events_total
        Added value: +{
        +  "description": "Events total. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / distress_trend / properties / history / items / properties / unit
        Added value: +{
        +  "description": "Unit. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / distress_trend / properties / history_total
        Added value: +{
        +  "description": "History total. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / distress_trend / properties / truncated
        Added value: +{
        +  "description": "Truncated. queries_extra._distress_rising_events and distress_reasons: persisted score observations.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / financials / items
        Added value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "employees_avg": {
        +      "description": "Employees avg. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +      "type": [
        +        "integer",
        +        "null"
        +      ]
        +    },
        +    "employees_avg_reason": {
        +      "description": "Employees avg reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "equity": {
        +      "description": "Equity. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "equity_reason": {
        +      "description": "Equity reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "filed_at": {
        +      "description": "Always null: this producer does not publish filing dates, even when an upstream record contains one.",
        +      "type": "null"
        +    },
        +    "filed_at_reason": {
        +      "description": "Filed at reason. queries_extra._financial_row: annual company accounts and source availability.",
        +      "type": "string"
        +    },
        +    "liabilities": {
        +      "description": "Liabilities. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "liabilities_reason": {
        +      "description": "Liabilities reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "net_profit": {
        +      "description": "Net profit. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "net_profit_reason": {
        +      "description": "Net profit reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "report_basis": {
        +      "description": "Report basis. queries_extra._financial_row: annual company accounts and source availability.",
        +      "type": "string"
        +    },
        +    "revenue": {
        +      "description": "Revenue. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "revenue_reason": {
        +      "description": "Revenue reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "total_assets": {
        +      "description": "Total assets. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "total_assets_reason": {
        +      "description": "Total assets reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "year": {
        +      "description": "Year. queries_extra._financial_row: annual company accounts and source availability.",
        +      "type": "integer"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / financials / properties
        Added value: +{
        +  "employees_avg": {
        +    "description": "Employees avg. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "integer",
        +      "null"
        +    ]
        +  },
        +  "employees_avg_reason": {
        +    "description": "Employees avg reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "equity": {
        +    "description": "Equity. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "number",
        +      "null"
        +    ]
        +  },
        +  "equity_reason": {
        +    "description": "Equity reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "filed_at": {
        +    "description": "Always null: this producer does not publish filing dates, even when an upstream record contains one.",
        +    "type": "null"
        +  },
        +  "filed_at_reason": {
        +    "description": "Filed at reason. queries_extra._financial_row: annual company accounts and source availability.",
        +    "type": "string"
        +  },
        +  "liabilities": {
        +    "description": "Liabilities. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "number",
        +      "null"
        +    ]
        +  },
        +  "liabilities_reason": {
        +    "description": "Liabilities reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "net_profit": {
        +    "description": "Net profit. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "number",
        +      "null"
        +    ]
        +  },
        +  "net_profit_reason": {
        +    "description": "Net profit reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "report_basis": {
        +    "description": "Report basis. queries_extra._financial_row: annual company accounts and source availability.",
        +    "type": "string"
        +  },
        +  "revenue": {
        +    "description": "Revenue. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "number",
        +      "null"
        +    ]
        +  },
        +  "revenue_reason": {
        +    "description": "Revenue reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "total_assets": {
        +    "description": "Total assets. queries_extra._financial_row: annual company accounts and source availability. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "number",
        +      "null"
        +    ]
        +  },
        +  "total_assets_reason": {
        +    "description": "Total assets reason. queries_extra._financial_row: annual company accounts and source availability. Null when no missing-value, suppression or unavailability reason applies.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "year": {
        +    "description": "Year. queries_extra._financial_row: annual company accounts and source availability.",
        +    "type": "integer"
        +  }
        +}
      • addedOutput schema / properties / former_ownership
        Added value: +{
        +  "additionalProperties": true,
        +  "description": "Optional former legal-entity ownership observations in both directions. Dates are observations, not legal transfer dates.",
        +  "properties": {
        +    "former_holdings": {
        +      "description": "Former holdings. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "country": {
        +            "description": "Always null: this projection joins domestic registered organisations and emits no country value.",
        +            "type": "null"
        +          },
        +          "foreign": {
        +            "description": "Foreign. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +            "type": "integer"
        +          },
        +          "inactive_at": {
        +            "description": "Inactive at. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +            "type": "string"
        +          },
        +          "last_seen_at": {
        +            "description": "Last seen at. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +            "type": "string"
        +          },
        +          "name": {
        +            "description": "Name. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +            "type": "string"
        +          },
        +          "participation_pct": {
        +            "description": "Participation pct. former_ownership.former_ownership_payload: observed domestic organisation links. Null when the source value or applicable observation is unavailable.",
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "registry_code": {
        +            "description": "Registry code. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "former_holdings_truncated": {
        +      "description": "Former holdings truncated. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +      "type": "boolean"
        +    },
        +    "former_owners": {
        +      "description": "Former owners. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "country": {
        +            "description": "Always null: this projection joins domestic registered organisations and emits no country value.",
        +            "type": "null"
        +          },
        +          "foreign": {
        +            "description": "Foreign. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +            "type": "integer"
        +          },
        +          "inactive_at": {
        +            "description": "Inactive at. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +            "type": "string"
        +          },
        +          "last_seen_at": {
        +            "description": "Last seen at. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +            "type": "string"
        +          },
        +          "name": {
        +            "description": "Name. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +            "type": "string"
        +          },
        +          "participation_pct": {
        +            "description": "Participation pct. former_ownership.former_ownership_payload: observed domestic organisation links. Null when the source value or applicable observation is unavailable.",
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "registry_code": {
        +            "description": "Registry code. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "former_owners_truncated": {
        +      "description": "Former owners truncated. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +      "type": "boolean"
        +    },
        +    "note": {
        +      "description": "Note. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "Truncated. former_ownership.former_ownership_payload: observed domestic organisation links.",
        +      "type": "boolean"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / licences / items / properties / domain
        Added value: +{
        +  "description": "Domain. queries_extra._licences: source licence observations, not proof of validity. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / licences / items / properties / source_present
        Added value: +{
        +  "description": "Source present. queries_extra._licences: source licence observations, not proof of validity. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "boolean",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / licences / items / properties / source_status
        Added value: +{
        +  "description": "Source status. queries_extra._licences: source licence observations, not proof of validity. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / ships / items / properties
        Added value: +{
        +  "build_year": {
        +    "description": "Build year. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "integer",
        +      "null"
        +    ]
        +  },
        +  "current_ownership": {
        +    "description": "Current ownership. ships.ships_payload: historical register entries, not verified current ownership.",
        +    "type": "string"
        +  },
        +  "effective_start": {
        +    "description": "Effective start. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "entry_number": {
        +    "description": "Entry number. ships.ships_payload: historical register entries, not verified current ownership.",
        +    "type": "string"
        +  },
        +  "gross_tonnage": {
        +    "description": "Gross tonnage. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "home_port": {
        +    "description": "Home port. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "net_tonnage": {
        +    "description": "Net tonnage. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "owner_entry_status": {
        +    "description": "Owner entry status. ships.ships_payload: historical register entries, not verified current ownership.",
        +    "type": "string"
        +  },
        +  "owner_inactive_at": {
        +    "description": "Owner inactive at. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "owner_observed_at": {
        +    "description": "Owner observed at. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "register_number": {
        +    "description": "Register number. ships.ships_payload: historical register entries, not verified current ownership.",
        +    "type": "string"
        +  },
        +  "registry_observed_at": {
        +    "description": "Registry observed at. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "registry_status": {
        +    "description": "Registry status. ships.ships_payload: historical register entries, not verified current ownership.",
        +    "type": "string"
        +  },
        +  "source_current": {
        +    "description": "Source current. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "integer",
        +      "null"
        +    ]
        +  },
        +  "source_version": {
        +    "description": "Source version. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "url": {
        +    "description": "Url. ships.ships_payload: historical register entries, not verified current ownership.",
        +    "type": "string"
        +  },
        +  "url_basis": {
        +    "description": "Url basis. ships.ships_payload: historical register entries, not verified current ownership.",
        +    "type": "string"
        +  },
        +  "use_type": {
        +    "description": "Use type. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "vessel_type": {
        +    "description": "Vessel type. ships.ships_payload: historical register entries, not verified current ownership. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  }
        +}
      • addedOutput schema / properties / sources / items / properties / as_of_basis
        Added value: +{
        +  "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / state_aid / properties / latest / items / properties / context
        Added value: +{
        +  "description": "Context. award_context.context: bounded dated award indicators.",
        +  "items": {
        +    "additionalProperties": true,
        +    "properties": {
        +      "evidence": {
        +        "description": "Evidence. award_context.context: bounded dated award indicators.",
        +        "items": {
        +          "additionalProperties": true,
        +          "properties": {
        +            "date": {
        +              "description": "Date. award_context.context: bounded dated award indicators.",
        +              "type": "string"
        +            },
        +            "record": {
        +              "description": "Record. award_context.context: bounded dated award indicators.",
        +              "type": "string"
        +            },
        +            "url": {
        +              "description": "Url. award_context.context: bounded dated award indicators.",
        +              "type": "string"
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "kind": {
        +        "description": "Kind. award_context.context: bounded dated award indicators.",
        +        "type": "string"
        +      },
        +      "status": {
        +        "description": "Status. award_context.context: bounded dated award indicators.",
        +        "type": "string"
        +      },
        +      "tax_debt": {
        +        "additionalProperties": true,
        +        "description": "Exact retained EMTA daily observation on the award date; absent when no matched observation exists. Amounts and dates are null under source suppression or when unavailable.",
        +        "properties": {
        +          "amount_suppressed": {
        +            "description": "Amount suppressed. From build_extra._copy_award_tax_observations, preserved by award_context.tax_context.",
        +            "type": "integer"
        +          },
        +          "date": {
        +            "description": "Date. From build_extra._copy_award_tax_observations, preserved by award_context.tax_context.",
        +            "type": "string"
        +          },
        +          "debt_amount": {
        +            "description": "Debt amount. From build_extra._copy_award_tax_observations, preserved by award_context.tax_context.",
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "disputed_amount": {
        +            "description": "Disputed amount. From build_extra._copy_award_tax_observations, preserved by award_context.tax_context.",
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "oldest_debt_date": {
        +            "description": "Oldest debt date. From build_extra._copy_award_tax_observations, preserved by award_context.tax_context.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "registry_code": {
        +            "description": "Registry code. From build_extra._copy_award_tax_observations, preserved by award_context.tax_context.",
        +            "type": "string"
        +          },
        +          "schedule_end_date": {
        +            "description": "Schedule end date. From build_extra._copy_award_tax_observations, preserved by award_context.tax_context.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "scheduled_amount": {
        +            "description": "Scheduled amount. From build_extra._copy_award_tax_observations, preserved by award_context.tax_context.",
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "unit": {
        +            "description": "Unit. From build_extra._copy_award_tax_observations, preserved by award_context.tax_context.",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / tax_debt_history / properties / series_total
        Added value: +{
        +  "description": "Series total. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / tax_debt_history / properties / truncated
        Added value: +{
        +  "description": "Truncated. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.",
        +  "type": "boolean"
        +}
    • Changedlegal_calendar24 fields changed
      • addedOutput schema / properties / bills / properties / available
        Added value: +{
        +  "description": "Available. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / bills / properties / general / items / properties
        Added value: +{
        +  "committee": {
        +    "description": "Committee. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "law_link_status": {
        +    "description": "Law link status. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "stage": {
        +    "description": "Stage. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / bills / properties / general_truncated
        Added value: +{
        +  "description": "General truncated. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / bills / properties / no_upcoming_date_total
        Added value: +{
        +  "description": "No upcoming date total. legal_calendar.query: dated legal metadata.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / bills / properties / sector / items / properties
        Added value: +{
        +  "committee": {
        +    "description": "Committee. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "law_link_status": {
        +    "description": "Law link status. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "stage": {
        +    "description": "Stage. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / bills / properties / sector_truncated
        Added value: +{
        +  "description": "Sector truncated. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / bills / properties / universal / items / properties
        Added value: +{
        +  "committee": {
        +    "description": "Committee. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "law_link_status": {
        +    "description": "Law link status. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "stage": {
        +    "description": "Stage. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / bills / properties / universal_truncated
        Added value: +{
        +  "description": "Universal truncated. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / calendar_as_of
        Added value: +{
        +  "description": "Calendar evaluation date, separate from the snapshot publication clock.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / eu_deadlines / properties / available
        Added value: +{
        +  "description": "Available. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / eu_deadlines / properties / general / items / properties
        Added value: +{
        +  "date": {
        +    "description": "Date. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "lifecycle": {
        +    "description": "Lifecycle. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "measures_detected": {
        +    "description": "Measures detected. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "integer",
        +      "null"
        +    ]
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title_en": {
        +    "description": "Title en. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / eu_deadlines / properties / general_truncated
        Added value: +{
        +  "description": "General truncated. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / eu_deadlines / properties / sector / items / properties
        Added value: +{
        +  "date": {
        +    "description": "Date. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "lifecycle": {
        +    "description": "Lifecycle. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "measures_detected": {
        +    "description": "Measures detected. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "integer",
        +      "null"
        +    ]
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title_en": {
        +    "description": "Title en. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / eu_deadlines / properties / sector_truncated
        Added value: +{
        +  "description": "Sector truncated. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / eu_deadlines / properties / universal / items / properties
        Added value: +{
        +  "date": {
        +    "description": "Date. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "lifecycle": {
        +    "description": "Lifecycle. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "measures_detected": {
        +    "description": "Measures detected. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "integer",
        +      "null"
        +    ]
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title_en": {
        +    "description": "Title en. legal_calendar.query: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / eu_deadlines / properties / universal_truncated
        Added value: +{
        +  "description": "Universal truncated. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / future_laws / properties / available
        Added value: +{
        +  "description": "Available. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / future_laws / properties / general / items / properties
        Added value: +{
        +  "change_type": {
        +    "description": "Change type. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "version_id": {
        +    "description": "Version id. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / future_laws / properties / general_truncated
        Added value: +{
        +  "description": "General truncated. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / future_laws / properties / sector / items / properties
        Added value: +{
        +  "change_type": {
        +    "description": "Change type. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "version_id": {
        +    "description": "Version id. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / future_laws / properties / sector_truncated
        Added value: +{
        +  "description": "Sector truncated. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / future_laws / properties / universal / items / properties
        Added value: +{
        +  "change_type": {
        +    "description": "Change type. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "version_id": {
        +    "description": "Version id. legal_calendar.query: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / future_laws / properties / universal_truncated
        Added value: +{
        +  "description": "Universal truncated. legal_calendar.query: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / sources / items / properties / as_of_basis
        Added value: +{
        +  "description": "As of basis. legal_calendar.query: dated legal metadata.",
        +  "type": "string"
        +}
    • Changedprocurement_notices3 fields changed
      • addedOutput schema / properties / estimate_coverage
        Added value: +{
        +  "additionalProperties": true,
        +  "description": "Estimate coverage. queries.procurement_estimate_coverage and tools: procurement observation context.",
        +  "properties": {
        +    "notice_count": {
        +      "description": "Notice count. queries.procurement_estimate_coverage and tools: procurement observation context.",
        +      "type": "integer"
        +    },
        +    "scope": {
        +      "description": "Scope. queries.procurement_estimate_coverage and tools: procurement observation context.",
        +      "type": "string"
        +    },
        +    "with_estimate": {
        +      "description": "With estimate. queries.procurement_estimate_coverage and tools: procurement observation context.",
        +      "type": "integer"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / estimate_note
        Added value: +{
        +  "description": "Estimate note. queries.procurement_estimate_coverage and tools: procurement observation context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / total
        Added value: +{
        +  "description": "Total. queries.procurement_estimate_coverage and tools: procurement observation context.",
        +  "type": "integer"
        +}
    • Changedregion_stats69 fields changed
      • addedOutput schema / properties / bankruptcies / properties / attribution
        Added value: +{
        +  "description": "Attribution. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / bankruptcies / properties / emtak
        Added value: +{
        +  "description": "Emtak. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / bankruptcies / properties / indicator
        Added value: +{
        +  "description": "Indicator. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / bankruptcies / properties / label
        Added value: +{
        +  "description": "Label. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / bankruptcies / properties / level
        Added value: +{
        +  "description": "Level. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / bankruptcies / properties / source
        Added value: +{
        +  "description": "Source. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / bankruptcies / properties / table_code
        Added value: +{
        +  "description": "Table code. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / bankruptcies / properties / unit
        Added value: +{
        +  "description": "Unit. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / counties_total
        Added value: +{
        +  "description": "Number of counties before envelope trimming.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / county_brief / properties
        Added value: +{
        +  "aid": {
        +    "additionalProperties": true,
        +    "description": "Aid. tools._county_brief: non-null county report figures.",
        +    "properties": {
        +      "decisions": {
        +        "description": "Decisions. tools._county_brief: non-null county report figures.",
        +        "type": "integer"
        +      },
        +      "period": {
        +        "description": "Period. tools._county_brief: non-null county report figures.",
        +        "type": "string"
        +      },
        +      "sum": {
        +        "description": "Sum. tools._county_brief: non-null county report figures.",
        +        "type": "number"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "bankruptcy_notices": {
        +    "additionalProperties": true,
        +    "description": "Bankruptcy notices. tools._county_brief: non-null county report figures.",
        +    "properties": {
        +      "notices": {
        +        "description": "Notices. tools._county_brief: non-null county report figures.",
        +        "type": "integer"
        +      },
        +      "period": {
        +        "description": "Period. tools._county_brief: non-null county report figures.",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "median_wage": {
        +    "additionalProperties": true,
        +    "description": "Median wage. tools._county_brief: non-null county report figures.",
        +    "properties": {
        +      "difference_eur": {
        +        "description": "Difference eur. tools._county_brief: non-null county report figures.",
        +        "type": "number"
        +      },
        +      "difference_pct": {
        +        "description": "Difference pct. tools._county_brief: non-null county report figures.",
        +        "type": "number"
        +      },
        +      "national_value": {
        +        "description": "National value. tools._county_brief: non-null county report figures.",
        +        "type": "number"
        +      },
        +      "period": {
        +        "description": "Period. tools._county_brief: non-null county report figures.",
        +        "type": "string"
        +      },
        +      "value": {
        +        "description": "Value. tools._county_brief: non-null county report figures.",
        +        "type": "number"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "tax_debt": {
        +    "additionalProperties": true,
        +    "description": "Tax debt. tools._county_brief: non-null county report figures.",
        +    "properties": {
        +      "companies": {
        +        "description": "Companies. tools._county_brief: non-null county report figures.",
        +        "type": "integer"
        +      },
        +      "denominator": {
        +        "description": "Denominator. tools._county_brief: non-null county report figures.",
        +        "type": "integer"
        +      },
        +      "period": {
        +        "description": "Period. tools._county_brief: non-null county report figures.",
        +        "type": "string"
        +      },
        +      "share_pct": {
        +        "description": "Share pct. tools._county_brief: non-null county report figures.",
        +        "type": "number"
        +      },
        +      "threshold_eur": {
        +        "description": "Threshold eur. tools._county_brief: non-null county report figures.",
        +        "type": "integer"
        +      }
        +    },
        +    "type": "object"
        +  }
        +}
      • addedOutput schema / properties / gross_wage / properties / attribution
        Added value: +{
        +  "description": "Attribution. stat_tables.region_gross_wage: official county wage context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / gross_wage / properties / county
        Added value: +{
        +  "description": "County. stat_tables.region_gross_wage: official county wage context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / gross_wage / properties / indicator
        Added value: +{
        +  "description": "Indicator. stat_tables.region_gross_wage: official county wage context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / gross_wage / properties / label
        Added value: +{
        +  "description": "Label. stat_tables.region_gross_wage: official county wage context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / gross_wage / properties / level
        Added value: +{
        +  "description": "Level. stat_tables.region_gross_wage: official county wage context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / gross_wage / properties / source
        Added value: +{
        +  "description": "Source. stat_tables.region_gross_wage: official county wage context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / gross_wage / properties / table_code
        Added value: +{
        +  "description": "Table code. stat_tables.region_gross_wage: official county wage context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / gross_wage / properties / unit
        Added value: +{
        +  "description": "Unit. stat_tables.region_gross_wage: official county wage context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / label_en_note
        Added value: +{
        +  "description": "Interpretation of English sector label coverage and fallback.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / labour_market / properties / latest
        Added value: +{
        +  "additionalProperties": {
        +    "properties": {
        +      "code": {
        +        "description": "Code. labour_market._latest_values and tools._bound_labour_context: latest official labour measures.",
        +        "type": "string"
        +      },
        +      "unit": {
        +        "description": "Unit. labour_market._latest_values and tools._bound_labour_context: latest official labour measures.",
        +        "type": "string"
        +      },
        +      "values": {
        +        "additionalProperties": {
        +          "properties": {
        +            "national_reason": {
        +              "description": "National reason. labour_market._latest_values and tools._bound_labour_context: latest official labour measures.",
        +              "type": "string"
        +            },
        +            "national_value": {
        +              "description": "National value. labour_market._latest_values and tools._bound_labour_context: latest official labour measures. Null when the source value or applicable observation is unavailable.",
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "period": {
        +              "description": "Period. labour_market._latest_values and tools._bound_labour_context: latest official labour measures.",
        +              "type": "string"
        +            },
        +            "reason": {
        +              "description": "Reason. labour_market._latest_values and tools._bound_labour_context: latest official labour measures.",
        +              "type": "string"
        +            },
        +            "value": {
        +              "description": "Value. labour_market._latest_values and tools._bound_labour_context: latest official labour measures. Null when the source value or applicable observation is unavailable.",
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "period",
        +            "value",
        +            "national_value"
        +          ],
        +          "type": "object"
        +        },
        +        "description": "Values. labour_market._latest_values and tools._bound_labour_context: latest official labour measures.",
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "code",
        +      "unit",
        +      "values"
        +    ],
        +    "type": "object"
        +  },
        +  "description": "Latest observed values by Statistics Estonia table and metric. Preserved when historical rows are trimmed. Each table has code, unit and values; each metric retains its own period, value, national_value and missingness reasons.",
        +  "type": "object"
        +}
      • addedOutput schema / properties / labour_market / properties / rows_returned
        Added value: +{
        +  "description": "Rows returned. labour_market._latest_values and tools._bound_labour_context: latest official labour measures.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / labour_market / properties / rows_truncated
        Added value: +{
        +  "description": "Rows truncated. labour_market._latest_values and tools._bound_labour_context: latest official labour measures.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / land / properties / land_cover_total
        Added value: +{
        +  "description": "Land cover total. land: aggregate cadastre measures.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / land / properties / land_use_total
        Added value: +{
        +  "description": "Land use total. land: aggregate cadastre measures.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / land / properties / note
        Added value: +{
        +  "description": "Note. land: aggregate cadastre measures.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / land / properties / ownership / items / properties / area_missing_units
        Added value: +{
        +  "description": "Area missing units. land: aggregate cadastre measures.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / land / properties / ownership_total
        Added value: +{
        +  "description": "Ownership total. land: aggregate cadastre measures.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / land / properties / source
        Added value: +{
        +  "additionalProperties": true,
        +  "description": "Source. land: aggregate cadastre measures.",
        +  "properties": {
        +    "as_of": {
        +      "description": "As of. land: aggregate cadastre measures. Null when the source value or applicable observation is unavailable.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "as_of_basis": {
        +      "description": "As of basis. land: aggregate cadastre measures.",
        +      "type": "string"
        +    },
        +    "attribution": {
        +      "description": "Attribution. land: aggregate cadastre measures.",
        +      "type": "string"
        +    },
        +    "key": {
        +      "description": "Key. land: aggregate cadastre measures.",
        +      "type": "string"
        +    },
        +    "licence": {
        +      "description": "Licence. land: aggregate cadastre measures.",
        +      "type": "string"
        +    },
        +    "licence_url": {
        +      "description": "Licence url. land: aggregate cadastre measures.",
        +      "type": "string"
        +    },
        +    "name": {
        +      "description": "Name. land: aggregate cadastre measures.",
        +      "type": "string"
        +    },
        +    "status": {
        +      "description": "Status. land: aggregate cadastre measures.",
        +      "type": "string"
        +    },
        +    "url": {
        +      "description": "Url. land: aggregate cadastre measures.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / land / properties / truncated
        Added value: +{
        +  "description": "Truncated. land: aggregate cadastre measures.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / largest_total
        Added value: +{
        +  "description": "Largest total. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / municipal_acts / properties / excluded_invalid_title
        Added value: +{
        +  "description": "Excluded invalid title. municipal_acts: current municipal regulation metadata.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / municipal_acts / properties / municipalities / items / properties
        Added value: +{
        +  "code": {
        +    "description": "Code. municipal_acts: current municipal regulation metadata.",
        +    "type": "string"
        +  },
        +  "current_count": {
        +    "description": "Current count. municipal_acts: current municipal regulation metadata.",
        +    "type": "integer"
        +  },
        +  "name": {
        +    "description": "Name. municipal_acts: current municipal regulation metadata.",
        +    "type": "string"
        +  },
        +  "published_12m": {
        +    "description": "Published 12m. municipal_acts: current municipal regulation metadata.",
        +    "type": "integer"
        +  }
        +}
      • addedOutput schema / properties / municipal_acts / properties / new_12m_basis
        Added value: +{
        +  "description": "New 12m basis. municipal_acts: current municipal regulation metadata.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / municipal_acts / properties / period_start_exclusive
        Added value: +{
        +  "description": "Period start exclusive. municipal_acts: current municipal regulation metadata.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / municipal_acts / properties / relevance
        Added value: +{
        +  "description": "Relevance. municipal_acts: current municipal regulation metadata.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / municipal_acts / properties / topics / items / properties
        Added value: +{
        +  "acts": {
        +    "description": "Acts. municipal_acts: current municipal regulation metadata.",
        +    "items": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "effective_date": {
        +          "description": "Effective date. municipal_acts: current municipal regulation metadata.",
        +          "type": "string"
        +        },
        +        "global_id": {
        +          "description": "Global id. municipal_acts: current municipal regulation metadata.",
        +          "type": "string"
        +        },
        +        "municipality": {
        +          "description": "Municipality. municipal_acts: current municipal regulation metadata.",
        +          "type": "string"
        +        },
        +        "publication_date": {
        +          "description": "Publication date. municipal_acts: current municipal regulation metadata. Null when the source value or applicable observation is unavailable.",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "title": {
        +          "description": "Title. municipal_acts: current municipal regulation metadata.",
        +          "type": "string"
        +        },
        +        "url": {
        +          "description": "Url. municipal_acts: current municipal regulation metadata.",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "acts_total": {
        +    "description": "Acts total. municipal_acts: current municipal regulation metadata.",
        +    "type": "integer"
        +  },
        +  "key": {
        +    "description": "Key. municipal_acts: current municipal regulation metadata.",
        +    "type": "string"
        +  },
        +  "truncated": {
        +    "description": "Truncated. municipal_acts: current municipal regulation metadata.",
        +    "type": "boolean"
        +  }
        +}
      • addedOutput schema / properties / property_stock / properties / geography_note
        Added value: +{
        +  "description": "Geography note. property_stock: aggregate registered apartment-property units.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / property_stock / properties / note
        Added value: +{
        +  "description": "Note. property_stock: aggregate registered apartment-property units.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / property_stock / properties / source / properties
        Added value: +{
        +  "as_of": {
        +    "description": "As of. property_stock: aggregate registered apartment-property units. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "as_of_basis": {
        +    "description": "As of basis. property_stock: aggregate registered apartment-property units.",
        +    "type": "string"
        +  },
        +  "attribution": {
        +    "description": "Attribution. property_stock: aggregate registered apartment-property units.",
        +    "type": "string"
        +  },
        +  "key": {
        +    "description": "Key. property_stock: aggregate registered apartment-property units.",
        +    "type": "string"
        +  },
        +  "licence": {
        +    "description": "Licence. property_stock: aggregate registered apartment-property units.",
        +    "type": "string"
        +  },
        +  "licence_url": {
        +    "description": "Licence url. property_stock: aggregate registered apartment-property units.",
        +    "type": "string"
        +  },
        +  "name": {
        +    "description": "Name. property_stock: aggregate registered apartment-property units.",
        +    "type": "string"
        +  },
        +  "status": {
        +    "description": "Status. property_stock: aggregate registered apartment-property units.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. property_stock: aggregate registered apartment-property units.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / public_buying / properties / coverage / properties
        Added value: +{
        +  "joined_buyer_count": {
        +    "description": "Joined buyer count. public_buying: retained procurement observations and coverage.",
        +    "type": "integer"
        +  },
        +  "joined_notice_count": {
        +    "description": "Joined notice count. public_buying: retained procurement observations and coverage.",
        +    "type": "integer"
        +  },
        +  "source_buyer_count": {
        +    "description": "Source buyer count. public_buying: retained procurement observations and coverage.",
        +    "type": "integer"
        +  },
        +  "source_end": {
        +    "description": "Source end. public_buying: retained procurement observations and coverage. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "source_notice_count": {
        +    "description": "Source notice count. public_buying: retained procurement observations and coverage.",
        +    "type": "integer"
        +  },
        +  "source_start": {
        +    "description": "Source start. public_buying: retained procurement observations and coverage. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  }
        +}
      • addedOutput schema / properties / public_buying / properties / rows / items / properties / unknown_procedure_notice_n
        Added value: +{
        +  "description": "Unknown procedure notice n. public_buying: retained procurement observations and coverage.",
        +  "type": "integer"
        +}
      • changedOutput schema / properties / report_coverage / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": true,
        -    "description": "Fixed FY2024/2025 R-status OÜ cohort registered before 2023 with 12-31 year end. Dated absence is not evidence of non-filing. Ingestion-unavailable and suppressed values are null. With county omitted, contains shared metadata and columns for each county report_coverage.values.",
        -    "properties": {
        -      "as_of": {
        -        "type": "string"
        -      },
        -      "chosen_year_rule": {
        -        "type": "string"
        -      },
        -      "columns": {
        -        "items": {
        -          "type": "string"
        -        },
        -        "type": "array"
        -      },
        -      "ingestion_status": {
        -        "type": "string"
        -      },
        -      "rows": {
        -        "items": {
        -          "additionalProperties": true,
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "rows_total": {
        -        "type": "integer"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": true,
        +    "description": "Fixed FY2024/2025 R-status OÜ cohort registered before 2023 with 12-31 year end. Dated absence is not evidence of non-filing. Ingestion-unavailable and suppressed values are null. With county omitted, contains shared metadata and columns for each county report_coverage.values.",
        +    "properties": {
        +      "as_of": {
        +        "type": "string"
        +      },
        +      "chosen_year_rule": {
        +        "type": "string"
        +      },
        +      "columns": {
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "fiscal_year_end": {
        +        "description": "Fiscal year end. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "fiscal_years": {
        +        "description": "Fiscal years. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "items": {
        +          "type": "integer"
        +        },
        +        "type": "array"
        +      },
        +      "imported_at": {
        +        "description": "Imported at. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations. Null when the source value or applicable observation is unavailable.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ingestion_status": {
        +        "type": "string"
        +      },
        +      "label": {
        +        "description": "Label. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "legal_form": {
        +        "description": "Legal form. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "loaded_years": {
        +        "description": "Loaded years. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "items": {
        +          "type": "integer"
        +        },
        +        "type": "array"
        +      },
        +      "membership_basis": {
        +        "description": "Membership basis. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "national_completeness": {
        +        "description": "National completeness. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "note": {
        +        "description": "Note. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "registered_before": {
        +        "description": "Registered before. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "rows": {
        +        "items": {
        +          "additionalProperties": true,
        +          "properties": {
        +            "absent_count": {
        +              "description": "Observed company count for the period; null when ingestion is unavailable or the cohort is suppressed.",
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "absent_share_pct": {
        +              "description": "Percentage of the cohort; null for empty cohorts, unavailable ingestion or suppression.",
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "at_least_one_count": {
        +              "description": "Observed company count for the period; null when ingestion is unavailable or the cohort is suppressed.",
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "both_years_count": {
        +              "description": "Observed company count for the period; null when ingestion is unavailable or the cohort is suppressed.",
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "cohort_count": {
        +              "description": "Cohort size; null under privacy suppression, including unavailable ingestion.",
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "completeness_pct": {
        +              "description": "Percentage of the cohort; null for empty cohorts, unavailable ingestion or suppression.",
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "found_count": {
        +              "description": "Observed company count for the period; null when ingestion is unavailable or the cohort is suppressed.",
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "period": {
        +              "description": "Period. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +              "type": "string"
        +            },
        +            "reason": {
        +              "description": "ingestion_unavailable or suppressed; null for a loaded, unsuppressed observation.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "rows_total": {
        +        "type": "integer"
        +      },
        +      "source_cutoff": {
        +        "description": "Source cutoff. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations. Null when the source value or applicable observation is unavailable.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "description": "Status. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / sectors / items / properties / label_en
        Added value: +{
        +  "description": "Label en. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sectors / items / properties / label_en_method
        Added value: +{
        +  "description": "Label en method. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sectors_total
        Added value: +{
        +  "description": "Sectors total. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / sources / items / properties / as_of_basis
        Added value: +{
        +  "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / sources / items / properties / table
        Added value: +{
        +  "description": "Table. privacy._sources: compact source attribution; absent clocks are omitted.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / CAP_BEDP
        Added value: +{
        +  "description": "Source tourism measure CAP_BEDP; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / CAP_BEDR
        Added value: +{
        +  "description": "Source tourism measure CAP_BEDR; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / CAP_ESTA
        Added value: +{
        +  "description": "Source tourism measure CAP_ESTA; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_ARR
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_ARR_BSNS
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR_BSNS; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_ARR_HOL
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR_HOL; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_NI
        Added value: +{
        +  "description": "Source tourism measure OCC_NI; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_NI_COST
        Added value: +{
        +  "description": "Source tourism measure OCC_NI_COST; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_OR_BEDP
        Added value: +{
        +  "description": "Source tourism measure OCC_OR_BEDP; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_OR_BEDR
        Added value: +{
        +  "description": "Source tourism measure OCC_OR_BEDR; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual_geography
        Added value: +{
        +  "description": "Annual geography. tourism.tourism: separate annual and monthly official tourism measures.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / tourism / properties / annual_year
        Added value: +{
        +  "description": "Annual year. tourism.tourism: separate annual and monthly official tourism measures. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / availability_reason
        Added value: +{
        +  "description": "Availability reason. tourism.tourism: separate annual and monthly official tourism measures. Null when no missing-value, suppression or unavailability reason applies.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / available
        Added value: +{
        +  "description": "Available. tourism.tourism: separate annual and monthly official tourism measures.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / tourism / properties / measures
        Added value: +{
        +  "additionalProperties": {
        +    "additionalProperties": true,
        +    "properties": {
        +      "label": {
        +        "description": "Label. tourism.tourism: separate annual and monthly official tourism measures.",
        +        "type": "string"
        +      },
        +      "unit": {
        +        "description": "Unit. tourism.tourism: separate annual and monthly official tourism measures.",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "description": "Source measure codes mapped to labels and units.",
        +  "type": "object"
        +}
      • addedOutput schema / properties / tourism / properties / monthly / items / properties / OCC_ARR
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / monthly / items / properties / OCC_ARR_NONRES
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR_NONRES; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / monthly / items / properties / OCC_ARR_RES
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR_RES; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / monthly_geography
        Added value: +{
        +  "description": "Monthly geography. tourism.tourism: separate annual and monthly official tourism measures.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / tourism / properties / note
        Added value: +{
        +  "description": "Note. tourism.tourism: separate annual and monthly official tourism measures.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / tourism / properties / null_reason
        Added value: +{
        +  "description": "Null reason. tourism.tourism: separate annual and monthly official tourism measures.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / wage_municipalities / items / properties / period
        Added value: +{
        +  "description": "Period. stat_tables.region_municipality_wages: latest municipal wage observations.",
        +  "type": "string"
        +}
    • Changedrisk_signals1 field changed
      • addedOutput schema / properties / sources / items / properties / as_of_basis
        Added value: +{
        +  "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.",
        +  "type": "string"
        +}
    • Changedsearch_companies3 fields changed
      • addedOutput schema / properties / companies / items / properties / growth_pct
        Added value: +{
        +  "description": "Growth pct. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / companies / items / properties / monetary_null_reason
        Added value: +{
        +  "description": "Monetary null reason. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when no missing-value, suppression or unavailability reason applies.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / companies / items / properties / report_basis
        Added value: +{
        +  "description": "Report basis. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedsector_stats77 fields changed
      • addedOutput schema / properties / acts / items / properties / obligation_count_basis
        Added value: +{
        +  "description": "Obligation count basis. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / acts_notice
        Added value: +{
        +  "description": "Coverage caveat for derived company-subject act extractions; missing counts do not mean zero duties.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / acts_total
        Added value: +{
        +  "description": "Total sector-specific acts before envelope trimming.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / acts_universal_total
        Added value: +{
        +  "description": "Total universal acts before envelope trimming.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / ai_adoption / properties
        Added value: +{
        +  "attribution": {
        +    "description": "Attribution. stat_tables.sector_ai_adoption: official national NACE section context.",
        +    "type": "string"
        +  },
        +  "emtak": {
        +    "description": "Emtak. stat_tables.sector_ai_adoption: official national NACE section context.",
        +    "type": "string"
        +  },
        +  "indicator": {
        +    "description": "Indicator. stat_tables.sector_ai_adoption: official national NACE section context.",
        +    "type": "string"
        +  },
        +  "label": {
        +    "description": "Label. stat_tables.sector_ai_adoption: official national NACE section context.",
        +    "type": "string"
        +  },
        +  "level": {
        +    "description": "Level. stat_tables.sector_ai_adoption: official national NACE section context.",
        +    "type": "string"
        +  },
        +  "series": {
        +    "description": "Series. stat_tables.sector_ai_adoption: official national NACE section context.",
        +    "items": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "period": {
        +          "description": "Period. stat_tables.sector_ai_adoption: official national NACE section context.",
        +          "type": "string"
        +        },
        +        "reason": {
        +          "description": "Reason. stat_tables.sector_ai_adoption: official national NACE section context. Null when no missing-value, suppression or unavailability reason applies.",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "unit": {
        +          "description": "Unit. stat_tables.sector_ai_adoption: official national NACE section context. Null when the source value or applicable observation is unavailable.",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "value": {
        +          "description": "Value. stat_tables.sector_ai_adoption: official national NACE section context. Null when the source value or applicable observation is unavailable.",
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "source": {
        +    "description": "Source. stat_tables.sector_ai_adoption: official national NACE section context.",
        +    "type": "string"
        +  },
        +  "table_code": {
        +    "description": "Table code. stat_tables.sector_ai_adoption: official national NACE section context.",
        +    "type": "string"
        +  },
        +  "unit": {
        +    "description": "Unit. stat_tables.sector_ai_adoption: official national NACE section context.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / bankruptcies / properties
        Added value: +{
        +  "attribution": {
        +    "description": "Attribution. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +    "type": "string"
        +  },
        +  "emtak": {
        +    "description": "Emtak. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +    "type": "string"
        +  },
        +  "indicator": {
        +    "description": "Indicator. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +    "type": "string"
        +  },
        +  "label": {
        +    "description": "Label. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +    "type": "string"
        +  },
        +  "level": {
        +    "description": "Level. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +    "type": "string"
        +  },
        +  "series": {
        +    "description": "Series. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +    "items": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "period": {
        +          "description": "Period. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +          "type": "string"
        +        },
        +        "reason": {
        +          "description": "Reason. stat_tables sector/region_bankruptcies: official NACE or national context. Null when no missing-value, suppression or unavailability reason applies.",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "unit": {
        +          "description": "Unit. stat_tables sector/region_bankruptcies: official NACE or national context. Null when the source value or applicable observation is unavailable.",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "value": {
        +          "description": "Value. stat_tables sector/region_bankruptcies: official NACE or national context. Null when the source value or applicable observation is unavailable.",
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "source": {
        +    "description": "Source. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +    "type": "string"
        +  },
        +  "table_code": {
        +    "description": "Table code. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +    "type": "string"
        +  },
        +  "unit": {
        +    "description": "Unit. stat_tables sector/region_bankruptcies: official NACE or national context.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / economy / items / properties
        Added value: +{
        +  "emtak": {
        +    "description": "Emtak. queries_extra._economy_row: source observations with suppression retained.",
        +    "type": "string"
        +  },
        +  "indicator": {
        +    "description": "Indicator. queries_extra._economy_row: source observations with suppression retained.",
        +    "type": "string"
        +  },
        +  "label": {
        +    "description": "Label. queries_extra._economy_row: source observations with suppression retained. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "level": {
        +    "description": "Level. queries_extra._economy_row: source observations with suppression retained.",
        +    "type": "string"
        +  },
        +  "period": {
        +    "description": "Period. queries_extra._economy_row: source observations with suppression retained.",
        +    "type": "string"
        +  },
        +  "reason": {
        +    "description": "Reason. queries_extra._economy_row: source observations with suppression retained. Null when no missing-value, suppression or unavailability reason applies.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "source": {
        +    "description": "Source. queries_extra._economy_row: source observations with suppression retained.",
        +    "type": "string"
        +  },
        +  "unit": {
        +    "description": "Unit. queries_extra._economy_row: source observations with suppression retained. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "value": {
        +    "description": "Value. queries_extra._economy_row: source observations with suppression retained. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "number",
        +      "null"
        +    ]
        +  }
        +}
      • addedOutput schema / properties / job_vacancies / properties
        Added value: +{
        +  "attribution": {
        +    "description": "Attribution. stat_tables.sector_job_vacancies: official national vacancy context.",
        +    "type": "string"
        +  },
        +  "emtak": {
        +    "description": "Emtak. stat_tables.sector_job_vacancies: official national vacancy context.",
        +    "type": "string"
        +  },
        +  "indicator": {
        +    "description": "Indicator. stat_tables.sector_job_vacancies: official national vacancy context.",
        +    "type": "string"
        +  },
        +  "label": {
        +    "description": "Label. stat_tables.sector_job_vacancies: official national vacancy context.",
        +    "type": "string"
        +  },
        +  "level": {
        +    "description": "Level. stat_tables.sector_job_vacancies: official national vacancy context.",
        +    "type": "string"
        +  },
        +  "series": {
        +    "description": "Series. stat_tables.sector_job_vacancies: official national vacancy context.",
        +    "items": {
        +      "additionalProperties": true,
        +      "properties": {
        +        "period": {
        +          "description": "Period. stat_tables.sector_job_vacancies: official national vacancy context.",
        +          "type": "string"
        +        },
        +        "reason": {
        +          "description": "Reason. stat_tables.sector_job_vacancies: official national vacancy context. Null when no missing-value, suppression or unavailability reason applies.",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "unit": {
        +          "description": "Unit. stat_tables.sector_job_vacancies: official national vacancy context. Null when the source value or applicable observation is unavailable.",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "value": {
        +          "description": "Value. stat_tables.sector_job_vacancies: official national vacancy context. Null when the source value or applicable observation is unavailable.",
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "type": "array"
        +  },
        +  "source": {
        +    "description": "Source. stat_tables.sector_job_vacancies: official national vacancy context.",
        +    "type": "string"
        +  },
        +  "table_code": {
        +    "description": "Table code. stat_tables.sector_job_vacancies: official national vacancy context.",
        +    "type": "string"
        +  },
        +  "unit": {
        +    "description": "Unit. stat_tables.sector_job_vacancies: official national vacancy context.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / label_en
        Added value: +{
        +  "description": "English sector label, or null when unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / label_en_method
        Added value: +{
        +  "description": "English label derivation method, including broader NACE fallback; null when unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / label_en_note
        Added value: +{
        +  "description": "Interpretation of English label coverage and fallback.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / official_benchmarks / properties / classification
        Added value: +{
        +  "description": "Classification. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / official_benchmarks / properties / coverage
        Added value: +{
        +  "description": "Coverage. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / official_benchmarks / properties / geography
        Added value: +{
        +  "description": "Geography. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / official_benchmarks / properties / match
        Added value: +{
        +  "description": "Match. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / official_benchmarks / properties / rows / items / properties
        Added value: +{
        +  "indicator": {
        +    "description": "Indicator. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.",
        +    "type": "string"
        +  },
        +  "reason": {
        +    "description": "Reason. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics. Null when no missing-value, suppression or unavailability reason applies.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "size_class": {
        +    "description": "Size class. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.",
        +    "type": "string"
        +  },
        +  "unit": {
        +    "description": "Unit. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.",
        +    "type": "string"
        +  },
        +  "value": {
        +    "description": "Value. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "number",
        +      "null"
        +    ]
        +  }
        +}
      • addedOutput schema / properties / official_benchmarks / properties / rows_truncated
        Added value: +{
        +  "description": "Rows truncated. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / official_benchmarks / properties / source_url
        Added value: +{
        +  "description": "Source url. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / official_benchmarks / properties / table_code
        Added value: +{
        +  "description": "Table code. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / official_benchmarks / properties / unavailable_reason
        Added value: +{
        +  "description": "Unavailable reason. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics. Null when no missing-value, suppression or unavailability reason applies.",
        +  "type": [
        +    "null",
        +    "string"
        +  ]
        +}
      • changedOutput schema / properties / report_coverage / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": true,
        -    "description": "Fixed FY2024/2025 R-status OÜ cohort registered before 2023 with 12-31 year end. Dated absence is not evidence of non-filing. Ingestion-unavailable and suppressed values are null.",
        -    "properties": {
        -      "as_of": {
        -        "type": "string"
        -      },
        -      "chosen_year_rule": {
        -        "type": "string"
        -      },
        -      "ingestion_status": {
        -        "type": "string"
        -      },
        -      "rows": {
        -        "items": {
        -          "additionalProperties": true,
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "rows_total": {
        -        "type": "integer"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": true,
        +    "description": "Fixed FY2024/2025 R-status OÜ cohort registered before 2023 with 12-31 year end. Dated absence is not evidence of non-filing. Ingestion-unavailable and suppressed values are null.",
        +    "properties": {
        +      "as_of": {
        +        "type": "string"
        +      },
        +      "chosen_year_rule": {
        +        "type": "string"
        +      },
        +      "fiscal_year_end": {
        +        "description": "Fiscal year end. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "fiscal_years": {
        +        "description": "Fiscal years. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "items": {
        +          "type": "integer"
        +        },
        +        "type": "array"
        +      },
        +      "imported_at": {
        +        "description": "Imported at. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations. Null when the source value or applicable observation is unavailable.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "ingestion_status": {
        +        "type": "string"
        +      },
        +      "label": {
        +        "description": "Label. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "legal_form": {
        +        "description": "Legal form. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "loaded_years": {
        +        "description": "Loaded years. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "items": {
        +          "type": "integer"
        +        },
        +        "type": "array"
        +      },
        +      "membership_basis": {
        +        "description": "Membership basis. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "national_completeness": {
        +        "description": "National completeness. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "note": {
        +        "description": "Note. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "registered_before": {
        +        "description": "Registered before. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      },
        +      "rows": {
        +        "items": {
        +          "additionalProperties": true,
        +          "properties": {
        +            "absent_count": {
        +              "description": "Observed company count for the period; null when ingestion is unavailable or the cohort is suppressed.",
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "absent_share_pct": {
        +              "description": "Percentage of the cohort; null for empty cohorts, unavailable ingestion or suppression.",
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "at_least_one_count": {
        +              "description": "Observed company count for the period; null when ingestion is unavailable or the cohort is suppressed.",
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "both_years_count": {
        +              "description": "Observed company count for the period; null when ingestion is unavailable or the cohort is suppressed.",
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "cohort_count": {
        +              "description": "Cohort size; null under privacy suppression, including unavailable ingestion.",
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "completeness_pct": {
        +              "description": "Percentage of the cohort; null for empty cohorts, unavailable ingestion or suppression.",
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "found_count": {
        +              "description": "Observed company count for the period; null when ingestion is unavailable or the cohort is suppressed.",
        +              "type": [
        +                "integer",
        +                "null"
        +              ]
        +            },
        +            "period": {
        +              "description": "Period. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +              "type": "string"
        +            },
        +            "reason": {
        +              "description": "ingestion_unavailable or suppressed; null for a loaded, unsuppressed observation.",
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "rows_total": {
        +        "type": "integer"
        +      },
        +      "source_cutoff": {
        +        "description": "Source cutoff. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations. Null when the source value or applicable observation is unavailable.",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "status": {
        +        "description": "Status. report_coverage._coverage_payload: fixed FY2024–2025 ingestion observations.",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / sources / items / properties / as_of_basis
        Added value: +{
        +  "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / sources / items / properties / table
        Added value: +{
        +  "description": "Table. privacy._sources: compact source attribution; absent clocks are omitted.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / CAP_BEDP
        Added value: +{
        +  "description": "Source tourism measure CAP_BEDP; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / CAP_BEDR
        Added value: +{
        +  "description": "Source tourism measure CAP_BEDR; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / CAP_ESTA
        Added value: +{
        +  "description": "Source tourism measure CAP_ESTA; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_ARR
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_ARR_BSNS
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR_BSNS; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_ARR_HOL
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR_HOL; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_NI
        Added value: +{
        +  "description": "Source tourism measure OCC_NI; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_NI_COST
        Added value: +{
        +  "description": "Source tourism measure OCC_NI_COST; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_OR_BEDP
        Added value: +{
        +  "description": "Source tourism measure OCC_OR_BEDP; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual / items / properties / OCC_OR_BEDR
        Added value: +{
        +  "description": "Source tourism measure OCC_OR_BEDR; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / annual_geography
        Added value: +{
        +  "description": "Annual geography. tourism.tourism: separate annual and monthly official tourism measures.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / tourism / properties / annual_year
        Added value: +{
        +  "description": "Annual year. tourism.tourism: separate annual and monthly official tourism measures. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / availability_reason
        Added value: +{
        +  "description": "Availability reason. tourism.tourism: separate annual and monthly official tourism measures. Null when no missing-value, suppression or unavailability reason applies.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / available
        Added value: +{
        +  "description": "Available. tourism.tourism: separate annual and monthly official tourism measures.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / tourism / properties / measures
        Added value: +{
        +  "additionalProperties": {
        +    "additionalProperties": true,
        +    "properties": {
        +      "label": {
        +        "description": "Label. tourism.tourism: separate annual and monthly official tourism measures.",
        +        "type": "string"
        +      },
        +      "unit": {
        +        "description": "Unit. tourism.tourism: separate annual and monthly official tourism measures.",
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "description": "Source measure codes mapped to labels and units.",
        +  "type": "object"
        +}
      • addedOutput schema / properties / tourism / properties / monthly / items / properties / OCC_ARR
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / monthly / items / properties / OCC_ARR_NONRES
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR_NONRES; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / monthly / items / properties / OCC_ARR_RES
        Added value: +{
        +  "description": "Source tourism measure OCC_ARR_RES; null when not reported. See measures for label and unit.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tourism / properties / monthly_geography
        Added value: +{
        +  "description": "Monthly geography. tourism.tourism: separate annual and monthly official tourism measures.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / tourism / properties / note
        Added value: +{
        +  "description": "Note. tourism.tourism: separate annual and monthly official tourism measures.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / tourism / properties / null_reason
        Added value: +{
        +  "description": "Null reason. tourism.tourism: separate annual and monthly official tourism measures.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / as_of
        Added value: +{
        +  "description": "As of. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / upcoming_changes / properties / bills / properties / available
        Added value: +{
        +  "description": "Available. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / bills / properties / general / items / properties
        Added value: +{
        +  "committee": {
        +    "description": "Committee. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "law_link_status": {
        +    "description": "Law link status. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "stage": {
        +    "description": "Stage. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / upcoming_changes / properties / bills / properties / general_truncated
        Added value: +{
        +  "description": "General truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / bills / properties / no_upcoming_date_total
        Added value: +{
        +  "description": "No upcoming date total. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / bills / properties / sector / items / properties
        Added value: +{
        +  "committee": {
        +    "description": "Committee. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "law_link_status": {
        +    "description": "Law link status. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "stage": {
        +    "description": "Stage. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / upcoming_changes / properties / bills / properties / sector_truncated
        Added value: +{
        +  "description": "Sector truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / bills / properties / universal / items / properties
        Added value: +{
        +  "committee": {
        +    "description": "Committee. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "law_link_status": {
        +    "description": "Law link status. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "stage": {
        +    "description": "Stage. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / upcoming_changes / properties / bills / properties / universal_truncated
        Added value: +{
        +  "description": "Universal truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / eu_deadlines / properties / available
        Added value: +{
        +  "description": "Available. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / eu_deadlines / properties / general / items / properties
        Added value: +{
        +  "date": {
        +    "description": "Date. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "lifecycle": {
        +    "description": "Lifecycle. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "measures_detected": {
        +    "description": "Measures detected. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "integer",
        +      "null"
        +    ]
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title_en": {
        +    "description": "Title en. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / upcoming_changes / properties / eu_deadlines / properties / general_truncated
        Added value: +{
        +  "description": "General truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / eu_deadlines / properties / sector / items / properties
        Added value: +{
        +  "date": {
        +    "description": "Date. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "lifecycle": {
        +    "description": "Lifecycle. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "measures_detected": {
        +    "description": "Measures detected. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "integer",
        +      "null"
        +    ]
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title_en": {
        +    "description": "Title en. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / upcoming_changes / properties / eu_deadlines / properties / sector_truncated
        Added value: +{
        +  "description": "Sector truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / eu_deadlines / properties / universal / items / properties
        Added value: +{
        +  "date": {
        +    "description": "Date. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "lifecycle": {
        +    "description": "Lifecycle. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "measures_detected": {
        +    "description": "Measures detected. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "integer",
        +      "null"
        +    ]
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title_en": {
        +    "description": "Title en. legal_calendar.query and tools._calendar_preview: dated legal metadata. Null when the source value or applicable observation is unavailable.",
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / upcoming_changes / properties / eu_deadlines / properties / universal_truncated
        Added value: +{
        +  "description": "Universal truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / future_laws / properties / available
        Added value: +{
        +  "description": "Available. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / future_laws / properties / general / items / properties
        Added value: +{
        +  "change_type": {
        +    "description": "Change type. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "version_id": {
        +    "description": "Version id. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / upcoming_changes / properties / future_laws / properties / general_truncated
        Added value: +{
        +  "description": "General truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / future_laws / properties / sector / items / properties
        Added value: +{
        +  "change_type": {
        +    "description": "Change type. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "version_id": {
        +    "description": "Version id. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / upcoming_changes / properties / future_laws / properties / sector_truncated
        Added value: +{
        +  "description": "Sector truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / future_laws / properties / universal / items / properties
        Added value: +{
        +  "change_type": {
        +    "description": "Change type. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date": {
        +    "description": "Date. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "date_basis": {
        +    "description": "Date basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "identity": {
        +    "description": "Identity. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "match_basis": {
        +    "description": "Match basis. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "scope": {
        +    "description": "Scope. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "title": {
        +    "description": "Title. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "url": {
        +    "description": "Url. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  },
        +  "version_id": {
        +    "description": "Version id. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / upcoming_changes / properties / future_laws / properties / universal_truncated
        Added value: +{
        +  "description": "Universal truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / upcoming_changes / properties / more
        Added value: +{
        +  "additionalProperties": true,
        +  "description": "More. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +  "properties": {
        +    "arguments": {
        +      "additionalProperties": true,
        +      "description": "Arguments. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +      "properties": {
        +        "emtak": {
        +          "description": "Emtak. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "tool": {
        +      "description": "Tool. legal_calendar.query and tools._calendar_preview: dated legal metadata.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / wages / properties / division
        Added value: +{
        +  "description": "Division. labour_market.sector_wages and tools._bound_labour_context: official wage context. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / wages / properties / division_reason
        Added value: +{
        +  "description": "Division reason. labour_market.sector_wages and tools._bound_labour_context: official wage context. Null when no missing-value, suppression or unavailability reason applies.",
        +  "type": [
        +    "null",
        +    "string"
        +  ]
        +}
      • addedOutput schema / properties / wages / properties / mapping
        Added value: +{
        +  "description": "Mapping. labour_market.sector_wages and tools._bound_labour_context: official wage context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / wages / properties / predecessor_divisions
        Added value: +{
        +  "description": "Predecessor divisions. labour_market.sector_wages and tools._bound_labour_context: official wage context.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / wages / properties / rows_returned
        Added value: +{
        +  "description": "Rows returned. labour_market.sector_wages and tools._bound_labour_context: official wage context.",
        +  "type": "integer"
        +}
      • addedOutput schema / properties / wages / properties / rows_truncated
        Added value: +{
        +  "description": "Rows truncated. labour_market.sector_wages and tools._bound_labour_context: official wage context.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / wages / properties / scope
        Added value: +{
        +  "description": "Scope. labour_market.sector_wages and tools._bound_labour_context: official wage context.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / wages / properties / section
        Added value: +{
        +  "description": "Section. labour_market.sector_wages and tools._bound_labour_context: official wage context. Null when the source value or applicable observation is unavailable.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / wages / properties / section_reason
        Added value: +{
        +  "description": "Section reason. labour_market.sector_wages and tools._bound_labour_context: official wage context. Null when no missing-value, suppression or unavailability reason applies.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedwatch_companies1 field changed
      • addedOutput schema / properties / sources / items / properties / as_of_basis
        Added value: +{
        +  "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.",
        +  "type": "string"
        +}
  3. 1 tool update
    • Changedrisk_signals2 fields changed
      • changedInput schema / properties / kind / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "tax_debt_trend",
        -      "distress_high",
        -      "high",
        -      "distress_moderate",
        -      "moderate",
        -      "distress",
        -      "distress_up",
        -      "tax_debt",
        -      "tax_debt_new",
        -      "tax_debt_growing",
        -      "tax_debt_cleared",
        -      "bankruptcy",
        -      "liquidation",
        -      "enforcement",
        -      "restructuring"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "tax_debt_trend",
        +      "registered",
        +      "procurement_award",
        +      "report_overdue",
        +      "distress_high",
        +      "high",
        +      "distress_moderate",
        +      "moderate",
        +      "distress",
        +      "distress_up",
        +      "tax_debt",
        +      "tax_debt_new",
        +      "tax_debt_growing",
        +      "tax_debt_cleared",
        +      "bankruptcy",
        +      "liquidation",
        +      "enforcement",
        +      "restructuring"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedInput schema / properties / kind / description
        Previous value: -"Omit for all feed kinds. tax_debt_trend: national months and filtered incidence; tax_debt: current debt; tax_debt_new: newly observed debt; tax_debt_growing: growing debt; tax_debt_cleared: observed clearance; bankruptcy: bankruptcy notices; liquidation: liquidation notices; enforcement: enforcement notices; restructuring: restructuring notices; distress_high: high distress; high: alias for distress_high; distress_moderate: moderate distress; moderate: alias for distress_moderate; distress: high or moderate distress; distress_up: rising distress."New value: +"Omit for all feed kinds. registered: registrations; procurement_award: dated awards; report_overdue: overdue report deadlines at snapshot date; tax_debt_trend: national months and filtered incidence; tax_debt: current debt; tax_debt_new: newly observed debt; tax_debt_growing: growing debt; tax_debt_cleared: observed clearance; bankruptcy: bankruptcy notices; liquidation: liquidation notices; enforcement: enforcement notices; restructuring: restructuring notices; distress_high: high distress; high: alias for distress_high; distress_moderate: moderate distress; moderate: alias for distress_moderate; distress: high or moderate distress; distress_up: rising distress."
  4. 1 tool update
    • Changedget_company9 fields changed
      • changedInput schema / properties / sections / description
        Previous value: -"Optional extras: ships (open ship register entries, observed/historical owner entry in the register, may not be current owner; CC BY-SA 4.0; old snapshots empty), permits (ET/EN/RU kind/status labels, date_basis distinguishes source validity dates from waste activity dates, source-status buckets; source presence is not permit validity; unavailable links are null), activities, grants (EU projects), history (company events), state_contracts (source contract type/subtype, ET/EN/RU glossary, status and dates; fee_amount with null currency/not_in_source, explicit year/month/interval/unknown denominator, excluding_vat and nullable VAT applicability; rkvr-contracts-1; never sum or annualise fees), financials (all years), tax_debt_history, distress_trend, de_minimis, successions (undirected legal links), peers (percentiles), procurement_wins (totals and dated award context), as_buyer (procedures, lots, ceilings by year, top suppliers, known-denominator single-tender share), former_ownership (observed organisation links), shared_board (company counts only), appointments (anonymous counts/dates). Default omits these and returns the page’s default annual report only. Named default cards are also valid: tax, state_aid, pledges, similar, licences, announcements, owners, holdings, report_status, distress. Naming one keeps that card."New value: +"Optional extras: ships (open ship register entries, observed/historical owner entry in the register, may not be current owner; CC BY-SA 4.0; old snapshots empty), permits (source permit_type/permit_type_label, ET/EN/RU type labels, normalized comma-separated domains; missing facts null with not_in_source reasons; ET/EN/RU kind/status labels, date_basis distinguishes source validity dates from waste activity dates, source-status buckets; source presence is not permit validity; unavailable links are null), activities, grants (EU projects), history (company events), state_contracts (source contract type/subtype, ET/EN/RU glossary, status and dates; fee_amount with null currency/not_in_source, explicit year/month/interval/unknown denominator, excluding_vat and nullable VAT applicability; rkvr-contracts-1; never sum or annualise fees), financials (all years), tax_debt_history, distress_trend, de_minimis, successions (undirected legal links), peers (percentiles), procurement_wins (totals and dated award context), as_buyer (procedures, lots, ceilings by year, top suppliers, known-denominator single-tender share), former_ownership (observed organisation links), shared_board (company counts only), appointments (anonymous counts/dates). Default omits these and returns the page’s default annual report only. Named default cards are also valid: tax, state_aid, pledges, similar, licences, announcements, owners, holdings, report_status, distress. Naming one keeps that card."
      • addedOutput schema / properties / permits / items / properties / domains
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / permits / items / properties / domains_reason
        Added value: +{
        +  "enum": [
        +    null,
        +    "not_in_source"
        +  ]
        +}
      • addedOutput schema / properties / permits / items / properties / permit_type
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / permits / items / properties / permit_type_label
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / permits / items / properties / permit_type_label_reason
        Added value: +{
        +  "enum": [
        +    null,
        +    "not_in_source"
        +  ]
        +}
      • addedOutput schema / properties / permits / items / properties / permit_type_labels
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "en": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "et": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "ru": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "et",
        +    "en",
        +    "ru"
        +  ],
        +  "type": [
        +    "object",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / permits / items / properties / permit_type_reason
        Added value: +{
        +  "enum": [
        +    null,
        +    "not_in_source"
        +  ]
        +}
      • addedOutput schema / properties / permits / items / required
        Added value: +[
        +  "domains",
        +  "domains_reason",
        +  "permit_type",
        +  "permit_type_label",
        +  "permit_type_label_reason",
        +  "permit_type_labels",
        +  "permit_type_reason"
        +]
  5. 3 tool updates
    • Changedopen_calls3 fields changed
      • addedInput schema / properties / status
        Added value: +{
        +  "default": "open",
        +  "description": "Call status: open (default), upcoming, or all retained calls.",
        +  "enum": [
        +    "open",
        +    "upcoming",
        +    "all"
        +  ],
        +  "title": "Status",
        +  "type": "string"
        +}
      • addedOutput schema / properties / calls / items / properties / opens_at
        Added value: +{
        +  "description": "Opening date when known, including for upcoming calls.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / calls / items / properties / status / description
        Added value: +"Effective call status for the selected open, upcoming, or all retained calls."
    • Changedregion_stats1 field changed
      • changedOutput schema / properties / national_construction / description
        Previous value: -"Opt-in: returned only when sections includes national_construction. "New value: +"Opt-in: returned only when sections includes national_construction and county is supplied; national series inside the county dossier, null without county."
    • Changedrisk_signals2 fields changed
      • changedInput schema / properties / kind / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "tax_debt_trend",
        +      "distress_high",
        +      "high",
        +      "distress_moderate",
        +      "moderate",
        +      "distress",
        +      "distress_up",
        +      "tax_debt",
        +      "tax_debt_new",
        +      "tax_debt_growing",
        +      "tax_debt_cleared",
        +      "bankruptcy",
        +      "liquidation",
        +      "enforcement",
        +      "restructuring"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedInput schema / properties / kind / description
        Previous value: -"tax_debt_trend (national months; county/emtak filter incidence), tax_debt, bankruptcy, liquidation, enforcement, restructuring, distress_high, or distress_moderate"New value: +"Omit for all feed kinds. tax_debt_trend: national months and filtered incidence; tax_debt: current debt; tax_debt_new: newly observed debt; tax_debt_growing: growing debt; tax_debt_cleared: observed clearance; bankruptcy: bankruptcy notices; liquidation: liquidation notices; enforcement: enforcement notices; restructuring: restructuring notices; distress_high: high distress; high: alias for distress_high; distress_moderate: moderate distress; moderate: alias for distress_moderate; distress: high or moderate distress; distress_up: rising distress."
  6. 1 tool update
    • Changedget_company21 fields changed
      • changedInput schema / properties / sections / description
        Previous value: -"Optional extras: ships (open ship register entries, observed/historical owner entry in the register, may not be current owner; CC BY-SA 4.0; old snapshots empty), permits (ET/EN/RU kind/status labels, date_basis distinguishes source validity dates from waste activity dates, source-status buckets; source presence is not permit validity; unavailable links are null), activities, grants (EU projects), history (company events), state_contracts (ET/EN/RU roles and source status, validated dates; source fee, payment period unverified; no fee sums), financials (all years), tax_debt_history, distress_trend, de_minimis, successions (undirected legal links), peers (percentiles), procurement_wins (totals and dated award context), as_buyer (procedures, lots, ceilings by year, top suppliers, known-denominator single-tender share), former_ownership (observed organisation links), shared_board (company counts only), appointments (anonymous counts/dates). Default omits these and returns the page’s default annual report only. Named default cards are also valid: tax, state_aid, pledges, similar, licences, announcements, owners, holdings, report_status, distress. Naming one keeps that card."New value: +"Optional extras: ships (open ship register entries, observed/historical owner entry in the register, may not be current owner; CC BY-SA 4.0; old snapshots empty), permits (ET/EN/RU kind/status labels, date_basis distinguishes source validity dates from waste activity dates, source-status buckets; source presence is not permit validity; unavailable links are null), activities, grants (EU projects), history (company events), state_contracts (source contract type/subtype, ET/EN/RU glossary, status and dates; fee_amount with null currency/not_in_source, explicit year/month/interval/unknown denominator, excluding_vat and nullable VAT applicability; rkvr-contracts-1; never sum or annualise fees), financials (all years), tax_debt_history, distress_trend, de_minimis, successions (undirected legal links), peers (percentiles), procurement_wins (totals and dated award context), as_buyer (procedures, lots, ceilings by year, top suppliers, known-denominator single-tender share), former_ownership (observed organisation links), shared_board (company counts only), appointments (anonymous counts/dates). Default omits these and returns the page’s default annual report only. Named default cards are also valid: tax, state_aid, pledges, similar, licences, announcements, owners, holdings, report_status, distress. Naming one keeps that card."
      • removedOutput schema / properties / state_contracts / properties / rows / items / properties / amount_eur
        Removed value: -{
        -  "type": [
        -    "number",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / state_contracts / properties / rows / items / properties / amount_eur_reason
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • removedOutput schema / properties / state_contracts / properties / rows / items / properties / amount_unit
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / concluded_on
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / concluded_on_reason
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / contract_subtype
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / contract_type
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / contract_type_label
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / contract_type_labels
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "en": {
        +      "type": "string"
        +    },
        +    "et": {
        +      "type": "string"
        +    },
        +    "ru": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / ended_on
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / ended_on_reason
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / fee_amount
        Added value: +{
        +  "description": "Current source fee excluding VAT; not a whole-contract total. Never sum or annualise.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
      • removedOutput schema / properties / state_contracts / properties / rows / items / properties / fee_basis
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / fee_currency
        Added value: +{
        +  "type": "null"
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / fee_currency_reason
        Added value: +{
        +  "const": "not_in_source"
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / fee_period
        Added value: +{
        +  "description": "Fee denominator; interval boundaries are unknown. Missing/new source codes are unknown.",
        +  "enum": [
        +    "year",
        +    "month",
        +    "interval",
        +    "unknown"
        +  ]
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / fee_vat_basis
        Added value: +{
        +  "const": "excluding_vat"
        +}
      • removedOutput schema / properties / state_contracts / properties / rows / items / properties / payment_period
        Removed value: -{
        -  "type": [
        -    "string",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / semantics_version
        Added value: +{
        +  "const": "rkvr-contracts-1"
        +}
      • addedOutput schema / properties / state_contracts / properties / rows / items / properties / vat_applicable
        Added value: +{
        +  "description": "Source VAT applicability assertion; false is not a legal tax-exemption finding.",
        +  "type": [
        +    "boolean",
        +    "null"
        +  ]
        +}
  7. 1 tool update
    • Changedget_company4 fields changed
      • addedOutput schema / $defs / RelatedSignal
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "amount": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "as_of": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "days": {
        +      "type": "integer"
        +    },
        +    "kind": {
        +      "enum": [
        +        "status",
        +        "tax_debt",
        +        "bankruptcy",
        +        "liquidation",
        +        "report_overdue",
        +        "distress_high"
        +      ],
        +      "type": "string"
        +    },
        +    "source": {
        +      "enum": [
        +        "RIK",
        +        "EMTA",
        +        "Ametlikud Teadaanded",
        +        "Koond"
        +      ],
        +      "type": "string"
        +    },
        +    "status": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "as_of",
        +    "source"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / holdings / items / properties / signals
        Added value: +{
        +  "description": "Adverse dated company facts; empty means no observed signals, null means unavailable. Not a credit decision.",
        +  "items": {
        +    "$ref": "#/$defs/RelatedSignal"
        +  },
        +  "type": [
        +    "array",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / owners / items / properties / signals
        Added value: +{
        +  "description": "Adverse dated company facts; empty means no observed signals, null means unavailable. Not a credit decision.",
        +  "items": {
        +    "$ref": "#/$defs/RelatedSignal"
        +  },
        +  "type": [
        +    "array",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / shared_board
        Added value: +{
        +  "properties": {
        +    "note": {
        +      "type": "string"
        +    },
        +    "rows": {
        +      "items": {
        +        "properties": {
        +          "name": {
        +            "type": "string"
        +          },
        +          "registry_code": {
        +            "type": "string"
        +          },
        +          "shared_member_count": {
        +            "type": "integer"
        +          },
        +          "signals": {
        +            "description": "Adverse dated company facts; empty means no observed signals, null means unavailable. Not a credit decision.",
        +            "items": {
        +              "$ref": "#/$defs/RelatedSignal"
        +            },
        +            "type": [
        +              "array",
        +              "null"
        +            ]
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "total": {
        +      "type": "integer"
        +    },
        +    "truncated": {
        +      "type": "boolean"
        +    }
        +  },
        +  "type": "object"
        +}
  8. 1 tool update
    • Addedsearch_legal_vectors
  9. 1 tool update
    • Changedget_company2 fields changed
      • addedOutput schema / $defs
        Added value: +{
        +  "S1Display": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "en": {
        +        "title": "En",
        +        "type": "string"
        +      },
        +      "et": {
        +        "title": "Et",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "et",
        +      "en"
        +    ],
        +    "title": "S1Display",
        +    "type": "object"
        +  },
        +  "S1PublicEntry": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "artifact_id": {
        +        "pattern": "^[0-9a-f]{64}$",
        +        "title": "Artifact Id",
        +        "type": "string"
        +      },
        +      "artifact_sha256": {
        +        "pattern": "^[0-9a-f]{64}$",
        +        "title": "Artifact Sha256",
        +        "type": "string"
        +      },
        +      "attribution": {
        +        "maxLength": 1000,
        +        "title": "Attribution",
        +        "type": "string"
        +      },
        +      "copy_url": {
        +        "pattern": "^https://arikratt\\.ee/api/v1/explorer/sanctions-source/[0-9a-f]{64}$",
        +        "title": "Copy Url",
        +        "type": "string"
        +      },
        +      "display": {
        +        "$ref": "#/$defs/S1Display"
        +      },
        +      "licence": {
        +        "maxLength": 200,
        +        "title": "Licence",
        +        "type": "string"
        +      },
        +      "licence_url": {
        +        "maxLength": 2048,
        +        "title": "Licence Url",
        +        "type": "string"
        +      },
        +      "registry_code": {
        +        "pattern": "^[0-9]{8}$",
        +        "title": "Registry Code",
        +        "type": "string"
        +      },
        +      "retrieved_at": {
        +        "title": "Retrieved At",
        +        "type": "string"
        +      },
        +      "source": {
        +        "enum": [
        +          "eu",
        +          "uk",
        +          "ofac"
        +        ],
        +        "title": "Source",
        +        "type": "string"
        +      },
        +      "source_digest": {
        +        "pattern": "^[0-9a-f]{64}$",
        +        "title": "Source Digest",
        +        "type": "string"
        +      },
        +      "source_entry_id": {
        +        "maxLength": 100,
        +        "title": "Source Entry Id",
        +        "type": "string"
        +      },
        +      "source_excerpt": {
        +        "maxLength": 4096,
        +        "title": "Source Excerpt",
        +        "type": "string"
        +      },
        +      "source_locator": {
        +        "maxLength": 100,
        +        "title": "Source Locator",
        +        "type": "string"
        +      },
        +      "source_name": {
        +        "maxLength": 200,
        +        "title": "Source Name",
        +        "type": "string"
        +      },
        +      "source_name_original": {
        +        "maxLength": 240,
        +        "title": "Source Name Original",
        +        "type": "string"
        +      },
        +      "source_publication_at": {
        +        "maxLength": 200,
        +        "title": "Source Publication At",
        +        "type": "string"
        +      },
        +      "source_url": {
        +        "maxLength": 2048,
        +        "title": "Source Url",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "source",
        +      "source_name",
        +      "source_entry_id",
        +      "source_url",
        +      "source_publication_at",
        +      "retrieved_at",
        +      "source_digest",
        +      "source_name_original",
        +      "registry_code",
        +      "source_excerpt",
        +      "source_locator",
        +      "artifact_id",
        +      "artifact_sha256",
        +      "licence",
        +      "licence_url",
        +      "attribution",
        +      "copy_url",
        +      "display"
        +    ],
        +    "title": "S1PublicEntry",
        +    "type": "object"
        +  },
        +  "S1SourceObservation": {
        +    "additionalProperties": false,
        +    "properties": {
        +      "checked_at": {
        +        "title": "Checked At",
        +        "type": "string"
        +      },
        +      "source": {
        +        "enum": [
        +          "eu",
        +          "uk",
        +          "ofac"
        +        ],
        +        "title": "Source",
        +        "type": "string"
        +      },
        +      "source_digest": {
        +        "pattern": "^[0-9a-f]{64}$",
        +        "title": "Source Digest",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "source",
        +      "source_digest",
        +      "checked_at"
        +    ],
        +    "title": "S1SourceObservation",
        +    "type": "object"
        +  }
        +}
      • addedOutput schema / properties / sanctions_s1
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "checked_at": {
        +          "title": "Checked At",
        +          "type": "string"
        +        },
        +        "entries": {
        +          "items": {
        +            "$ref": "#/$defs/S1PublicEntry"
        +          },
        +          "maxItems": 20,
        +          "title": "Entries",
        +          "type": "array"
        +        },
        +        "registry_code": {
        +          "pattern": "^[0-9]{8}$",
        +          "title": "Registry Code",
        +          "type": "string"
        +        },
        +        "sources": {
        +          "items": {
        +            "$ref": "#/$defs/S1SourceObservation"
        +          },
        +          "maxItems": 3,
        +          "minItems": 3,
        +          "title": "Sources",
        +          "type": "array"
        +        },
        +        "status": {
        +          "const": "available",
        +          "title": "Status",
        +          "type": "string"
        +        },
        +        "valid_until": {
        +          "title": "Valid Until",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "registry_code",
        +        "status",
        +        "checked_at",
        +        "valid_until",
        +        "sources",
        +        "entries"
        +      ],
        +      "title": "S1PublicEvidence",
        +      "type": "object"
        +    },
        +    {
        +      "additionalProperties": false,
        +      "properties": {
        +        "status": {
        +          "const": "unavailable",
        +          "title": "Status",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "status"
        +      ],
        +      "title": "S1Unavailable",
        +      "type": "object"
        +    }
        +  ],
        +  "description": "Optional default-off S1 evidence. Complete fresh EU/UK/OFAC evaluation, not a clean/unsanctioned finding. Literal source copies and ET/EN context stay together; the entire block is omitted when the envelope cannot hold it."
        +}
  10. 1 tool update
    • Changedget_company1 field changed
      • changedInput schema / properties / sections / description
        Previous value: -"Optional extras: ships (open ship register entries, observed/historical owner entry in the register, may not be current owner; CC BY-SA 4.0; old snapshots empty), permits (ET/EN/RU kind/status labels, date_basis distinguishes source validity dates from waste activity dates, source-status buckets; source presence is not permit validity; unavailable links are null), activities, grants (EU projects), history (company events), state_contracts (ET/EN/RU roles and source status, validated dates; source fee, payment period unverified; no fee sums), financials (all years), tax_debt_history, distress_trend, de_minimis, successions (undirected legal links), peers (percentiles), procurement_wins (totals and dated award context), as_buyer (procedures, lots, ceilings by year, top suppliers, known-denominator single-tender share), former_ownership (observed organisation links), shared_board (company counts only), appointments (anonymous counts/dates). Default omits these and returns latest financials only. Named default cards are also valid: tax, state_aid, pledges, similar, licences, announcements, owners, holdings, report_status, distress. Naming one keeps that card."New value: +"Optional extras: ships (open ship register entries, observed/historical owner entry in the register, may not be current owner; CC BY-SA 4.0; old snapshots empty), permits (ET/EN/RU kind/status labels, date_basis distinguishes source validity dates from waste activity dates, source-status buckets; source presence is not permit validity; unavailable links are null), activities, grants (EU projects), history (company events), state_contracts (ET/EN/RU roles and source status, validated dates; source fee, payment period unverified; no fee sums), financials (all years), tax_debt_history, distress_trend, de_minimis, successions (undirected legal links), peers (percentiles), procurement_wins (totals and dated award context), as_buyer (procedures, lots, ceilings by year, top suppliers, known-denominator single-tender share), former_ownership (observed organisation links), shared_board (company counts only), appointments (anonymous counts/dates). Default omits these and returns the page’s default annual report only. Named default cards are also valid: tax, state_aid, pledges, similar, licences, announcements, owners, holdings, report_status, distress. Naming one keeps that card."
  11. 1 tool update
    • Changedbrowse_catalog3 fields changed
      • changedInput schema / properties / kind / description
        Previous value: -"Current package, safe IP filing, name-free court metadata or qualified property catalog"New value: +"Current legal passages, packages, safe IP filings, name-free courts or qualified property"
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "medicines",
        -  "trademarks",
        -  "designs",
        -  "court_decisions",
        -  "buildings",
        -  "ehr_energy_labels",
        -  "ehr_building_cadastral",
        -  "cadastral",
        -  "land_register_kris",
        -  "land_register_parcels",
        -  "state_real_estate_rkvr",
        -  "katri_state_property_ownership",
        -  "ship_register_safe_projection",
        -  "ship_technical_entries",
        -  "ship_legal_owners"
        -]New value: +[
        +  "legal_search",
        +  "medicines",
        +  "trademarks",
        +  "designs",
        +  "court_decisions",
        +  "buildings",
        +  "ehr_energy_labels",
        +  "ehr_building_cadastral",
        +  "cadastral",
        +  "land_register_kris",
        +  "land_register_parcels",
        +  "state_real_estate_rkvr",
        +  "katri_state_property_ownership",
        +  "ship_register_safe_projection",
        +  "ship_technical_entries",
        +  "ship_legal_owners"
        +]
      • changedOutput schema / properties / kind / enum
        Previous value: -[
        -  "medicines",
        -  "trademarks",
        -  "designs",
        -  "court_decisions",
        -  "buildings",
        -  "ehr_energy_labels",
        -  "ehr_building_cadastral",
        -  "cadastral",
        -  "land_register_kris",
        -  "land_register_parcels",
        -  "state_real_estate_rkvr",
        -  "katri_state_property_ownership",
        -  "ship_register_safe_projection",
        -  "ship_technical_entries",
        -  "ship_legal_owners"
        -]New value: +[
        +  "legal_search",
        +  "medicines",
        +  "trademarks",
        +  "designs",
        +  "court_decisions",
        +  "buildings",
        +  "ehr_energy_labels",
        +  "ehr_building_cadastral",
        +  "cadastral",
        +  "land_register_kris",
        +  "land_register_parcels",
        +  "state_real_estate_rkvr",
        +  "katri_state_property_ownership",
        +  "ship_register_safe_projection",
        +  "ship_technical_entries",
        +  "ship_legal_owners"
        +]
  12. 1 tool update
    • Changedbrowse_catalog2 fields changed
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "medicines",
        -  "trademarks",
        -  "designs",
        -  "court_decisions",
        -  "buildings",
        -  "ehr_energy_labels",
        -  "ehr_building_cadastral",
        -  "cadastral"
        -]New value: +[
        +  "medicines",
        +  "trademarks",
        +  "designs",
        +  "court_decisions",
        +  "buildings",
        +  "ehr_energy_labels",
        +  "ehr_building_cadastral",
        +  "cadastral",
        +  "land_register_kris",
        +  "land_register_parcels",
        +  "state_real_estate_rkvr",
        +  "katri_state_property_ownership",
        +  "ship_register_safe_projection",
        +  "ship_technical_entries",
        +  "ship_legal_owners"
        +]
      • changedOutput schema / properties / kind / enum
        Previous value: -[
        -  "medicines",
        -  "trademarks",
        -  "designs",
        -  "court_decisions",
        -  "buildings",
        -  "ehr_energy_labels",
        -  "ehr_building_cadastral",
        -  "cadastral"
        -]New value: +[
        +  "medicines",
        +  "trademarks",
        +  "designs",
        +  "court_decisions",
        +  "buildings",
        +  "ehr_energy_labels",
        +  "ehr_building_cadastral",
        +  "cadastral",
        +  "land_register_kris",
        +  "land_register_parcels",
        +  "state_real_estate_rkvr",
        +  "katri_state_property_ownership",
        +  "ship_register_safe_projection",
        +  "ship_technical_entries",
        +  "ship_legal_owners"
        +]
  13. 1 tool update
    • Changedbrowse_catalog3 fields changed
      • changedInput schema / properties / kind / description
        Previous value: -"Current package, safe IP filing or name-free court metadata catalog"New value: +"Current package, safe IP filing, name-free court metadata or qualified property catalog"
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "medicines",
        -  "trademarks",
        -  "designs",
        -  "court_decisions"
        -]New value: +[
        +  "medicines",
        +  "trademarks",
        +  "designs",
        +  "court_decisions",
        +  "buildings",
        +  "ehr_energy_labels",
        +  "ehr_building_cadastral",
        +  "cadastral"
        +]
      • changedOutput schema / properties / kind / enum
        Previous value: -[
        -  "medicines",
        -  "trademarks",
        -  "designs",
        -  "court_decisions"
        -]New value: +[
        +  "medicines",
        +  "trademarks",
        +  "designs",
        +  "court_decisions",
        +  "buildings",
        +  "ehr_energy_labels",
        +  "ehr_building_cadastral",
        +  "cadastral"
        +]
  14. 1 tool update
    • Changedbrowse_catalog4 fields changed
      • changedInput schema / properties / kind / description
        Previous value: -"Current package or safe IP filing catalog"New value: +"Current package, safe IP filing or name-free court metadata catalog"
      • changedInput schema / properties / kind / enum
        Previous value: -[
        -  "medicines",
        -  "trademarks",
        -  "designs"
        -]New value: +[
        +  "medicines",
        +  "trademarks",
        +  "designs",
        +  "court_decisions"
        +]
      • changedInput schema / properties / query / description
        Previous value: -"Package/filing text or identifier; empty browses all rows"New value: +"Approved metadata or identifier; empty browses all rows"
      • changedOutput schema / properties / kind / enum
        Previous value: -[
        -  "medicines",
        -  "trademarks",
        -  "designs"
        -]New value: +[
        +  "medicines",
        +  "trademarks",
        +  "designs",
        +  "court_decisions"
        +]
  15. 1 tool update
    • Addedbrowse_catalog
  16. 1 tool update
    • Addeddescribe_datasets
  17. 18 tool updates
    • Changedcheck_counterparty5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedcompany_procurement5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedcompare_companies5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedeconomy_context5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer",
        -  "rows",
        -  "rows_total"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer",
        +  "rows",
        +  "rows_total"
        +]
    • Changedevent_series5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer",
        -  "rows",
        -  "rows_total"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer",
        +  "rows",
        +  "rows_total"
        +]
    • Changedfind_companies5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedfunding_overview5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer",
        -  "available",
        -  "totals"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer",
        +  "available",
        +  "totals"
        +]
    • Changedget_company7 fields changed
      • changedInput schema / properties / sections / description
        Previous value: -"Optional extras: ships (open ship register entries, observed/historical owner entry in the register, may not be current owner; CC BY-SA 4.0; old snapshots empty), permits (ET/EN/RU kind/status labels, date_basis distinguishes source validity dates from waste activity dates, source-status buckets; source presence is not permit validity; unavailable links are null), activities, grants (EU projects), history (company events), state_contracts (ET/EN/RU roles and source status, validated dates; source fee, payment period unverified; no fee sums), financials (all years), tax_debt_history, distress_trend, de_minimis, successions (undirected legal links), peers (percentiles), procurement_wins (totals and dated award context), as_buyer (procedures, lots, ceilings by year, top suppliers, known-denominator single-tender share), former_ownership (observed organisation links), shared_board (company counts only), appointments (anonymous counts/dates). Default omits these and returns latest financials only."New value: +"Optional extras: ships (open ship register entries, observed/historical owner entry in the register, may not be current owner; CC BY-SA 4.0; old snapshots empty), permits (ET/EN/RU kind/status labels, date_basis distinguishes source validity dates from waste activity dates, source-status buckets; source presence is not permit validity; unavailable links are null), activities, grants (EU projects), history (company events), state_contracts (ET/EN/RU roles and source status, validated dates; source fee, payment period unverified; no fee sums), financials (all years), tax_debt_history, distress_trend, de_minimis, successions (undirected legal links), peers (percentiles), procurement_wins (totals and dated award context), as_buyer (procedures, lots, ceilings by year, top suppliers, known-denominator single-tender share), former_ownership (observed organisation links), shared_board (company counts only), appointments (anonymous counts/dates). Default omits these and returns latest financials only. Named default cards are also valid: tax, state_aid, pledges, similar, licences, announcements, owners, holdings, report_status, distress. Naming one keeps that card."
      • addedOutput schema / properties / board
        Added value: +{
        +  "additionalProperties": true,
        +  "description": "Current officers of one company. status published means the company is in scope: members lists current officers and may be empty. status not_published means an excluded legal form, an Article 21 objection, or a snapshot without board_current; members is then empty and does not mean the board is empty. Not an opt-in section. The response budget does not trim members.",
        +  "properties": {
        +    "members": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "person_name": {
        +            "type": "string"
        +          },
        +          "role": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "role_code": {
        +            "type": "string"
        +          },
        +          "start_date": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "person_name",
        +          "role",
        +          "role_code",
        +          "start_date"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "status": {
        +      "description": "published: in-scope company, and members is the current board, possibly empty. not_published: names are withheld or unavailable.",
        +      "enum": [
        +        "published",
        +        "not_published"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "members"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / omitted_sections / description
        Previous value: -"Last-resort omitted opt-ins when all section metadata cannot fit; request these sections individually. Present only with truncated=true."New value: +"Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated."
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedlegal_calendar5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedopen_calls5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedprocurement_notices5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedprocurement_stats5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedregion_stats7 fields changed
      • addedOutput schema / properties / county_brief
        Added value: +{
        +  "additionalProperties": true,
        +  "description": "Compact county figures from the report note: tax-debt company count and share, bounded aid sum and decision count, procurement win count and value, 30-day bankruptcy notice count, and median wage versus the national figure. Numbers only.",
        +  "type": [
        +    "object",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / report_note_code
        Added value: +{
        +  "description": "County report code. region_report marks a county response; the figures are in county_brief.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedrisk_signals5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedsearch_companies5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedsector_stats5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedsource_metadata4 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
    • Changedwatch_companies5 fields changed
      • addedOutput schema / properties / omitted_sections
        Added value: +{
        +  "description": "Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / source_details
        Added value: +{
        +  "description": "Full attribution and acquisition evidence: source_metadata(key).",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / as_of
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / sources / items / properties / key
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "snapshot_id",
        -  "as_of",
        -  "sources",
        -  "disclaimer"
        -]New value: +[
        +  "snapshot_id",
        +  "as_of",
        +  "sources",
        +  "source_details",
        +  "disclaimer"
        +]
  18. 4 tool updates
    • Changedcheck_counterparty3 fields changed
      • addedOutput schema / properties / tax_debt / properties / first_seen
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tax_debt / properties / left_censored
        Added value: +{
        +  "description": "True when first_seen is the retention boundary (tax_debt_history_start), so the first listing may be earlier. Not a claim of continuous listing: check episodes and events in tax_debt_history for clears and re-entries. The compact tax_debt view omits the key when false.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / tax_debt / properties / oldest_debt_date
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedcompany_procurement2 fields changed
      • addedOutput schema / properties / rows / items / properties / rhr_reference
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / rows / items / properties / url
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedget_company8 fields changed
      • addedOutput schema / properties / as_buyer / properties / procedures / items / properties / rhr_reference
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / owners_coverage
        Added value: +{
        +  "description": "not_in_source_securities_register when an Aktsiaselts or European company (SE) has no owner edges: shareholders are in the Nasdaq CSD securities register, not Business Register open data. Omitted otherwise.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / owners_coverage_note
        Added value: +{
        +  "description": "Sentence explaining owners_coverage. Omitted when owners_coverage is omitted.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / procurement_wins / properties / award_context
        Added value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "note": {
        +      "type": "string"
        +    },
        +    "rows": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "award_date": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "context": {
        +            "items": {
        +              "additionalProperties": true,
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "lot_id": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "notice_id": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "rhr_reference": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "url": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "rows_total": {
        +      "type": "integer"
        +    },
        +    "truncated": {
        +      "type": "boolean"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / tax_debt / properties / first_seen
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tax_debt / properties / left_censored
        Added value: +{
        +  "description": "True when first_seen is the retention boundary (tax_debt_history_start), so the first listing may be earlier. Not a claim of continuous listing: check episodes and events in tax_debt_history for clears and re-entries. The compact tax_debt view omits the key when false.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / tax_debt / properties / oldest_debt_date
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / tax_debt_history / properties / left_censored
        Added value: +{
        +  "description": "True when first_seen is the retention boundary (tax_debt_history_start), so the first listing may be earlier. Not a claim of continuous listing: check episodes and events in tax_debt_history for clears and re-entries. The compact tax_debt view omits the key when false.",
        +  "type": "boolean"
        +}
    • Changedprocurement_notices1 field changed
      • addedOutput schema / properties / notices / items / properties / rhr_reference
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
  19. 3 tool updates
    • Changedfind_companies1 field changed
      • addedOutput schema / properties / excluded_unit_uncertain
        Added value: +{
        +  "additionalProperties": true,
        +  "description": "Companies left out of this revenue ranking because revenue is null and monetary_null_reason is unit_uncertain. count is the filtered total; companies lists at most 20 with registry_code and name, and has no rank. count 0 means none were excluded.",
        +  "properties": {
        +    "companies": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "name": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "registry_code": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "type": [
        +        "array",
        +        "null"
        +      ]
        +    },
        +    "count": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    }
        +  },
        +  "type": [
        +    "object",
        +    "null"
        +  ]
        +}
    • Changedopen_calls8 fields changed
      • addedOutput schema / properties / calls / items / properties / call_match / additionalProperties
        Added value: +true
      • addedOutput schema / properties / calls / items / properties / call_match / description
        Added value: +"Distinct counties, excluded areas, EMTAK divisions and size bands. The stored call_match rows stay the full county × division × band product; this payload does not repeat it."
      • removedOutput schema / properties / calls / items / properties / call_match / items
        Removed value: -{
        -  "additionalProperties": true,
        -  "properties": {
        -    "county": {
        -      "type": [
        -        "string",
        -        "null"
        -      ]
        -    },
        -    "emtak2": {
        -      "type": [
        -        "string",
        -        "null"
        -      ]
        -    },
        -    "size_band": {
        -      "type": [
        -        "string",
        -        "null"
        -      ]
        -    }
        -  },
        -  "type": [
        -    "object",
        -    "null"
        -  ]
        -}
      • addedOutput schema / properties / calls / items / properties / call_match / properties
        Added value: +{
        +  "counties": {
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": [
        +      "array",
        +      "null"
        +    ]
        +  },
        +  "emtak_divisions": {
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": [
        +      "array",
        +      "null"
        +    ]
        +  },
        +  "excluded_areas": {
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": [
        +      "array",
        +      "null"
        +    ]
        +  },
        +  "size_bands": {
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": [
        +      "array",
        +      "null"
        +    ]
        +  }
        +}
      • changedOutput schema / properties / calls / items / properties / call_match / type
        Previous value: -[
        -  "array",
        -  "null"
        -]New value: +[
        +  "object",
        +  "null"
        +]
      • addedOutput schema / properties / calls / items / properties / match / properties / reasons / items / properties / sector_scope
        Added value: +{
        +  "description": "all, listed or unknown. Same scope as the call.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / calls / items / properties / sector_scope
        Added value: +{
        +  "description": "all when the source opened every sector, listed when it names divisions, unknown when it names none.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / unknown_scope_count
        Added value: +{
        +  "description": "Calls dropped by an EMTAK filter because the source named no sector. Zero when the caller did not filter by EMTAK.",
        +  "type": [
        +    "number",
        +    "null"
        +  ]
        +}
    • Changedregion_stats1 field changed
      • addedOutput schema / properties / excluded_unit_uncertain
        Added value: +{
        +  "additionalProperties": true,
        +  "description": "Companies left out of this revenue ranking because revenue is null and monetary_null_reason is unit_uncertain. count is the filtered total; companies lists at most 20 with registry_code and name, and has no rank. count 0 means none were excluded.",
        +  "properties": {
        +    "companies": {
        +      "items": {
        +        "additionalProperties": true,
        +        "properties": {
        +          "name": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "registry_code": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "type": [
        +          "object",
        +          "null"
        +        ]
        +      },
        +      "type": [
        +        "array",
        +        "null"
        +      ]
        +    },
        +    "count": {
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    }
        +  },
        +  "type": [
        +    "object",
        +    "null"
        +  ]
        +}

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides access to the Finnish company registry (PRH/YTJ) to search for businesses and retrieve detailed information using Business IDs. It enables users to perform industry-specific searches and track recent company registrations through official government open data.
    5 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    The most comprehensive signal intelligence on Swiss businesses — 800K+ companies with people, FINMA/SRO regulatory data, building permits, procurement tenders, and AI-enriched profiles from the official commercial register.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Look up Polish companies from any AI assistant: registry data (KRS, REGON, CEIDG), VAT white list checks before payments, and financial statements of 4.4M businesses. Read-only tools backed by official public registers.
    4
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources