Ärikratt
Server Details
Estonian companies, EMTAK, grants and tenders from public registers.
- Status
- Healthy
- Uptime
- 96.9% over 43 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 22 tools
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.
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.
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.
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 toolsbrowse_catalogBrowse catalogsBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Current legal passages, packages, safe IP filings, name-free courts or qualified property | |
| limit | No | ||
| query | No | Approved metadata or identifier; empty browses all rows | |
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | Yes | |
| rows | Yes | |
| as_of | No | As of. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata. |
| limit | No | Limit. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata. |
| total | Yes | |
| notice | No | Notice. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata. |
| offset | Yes | |
| status | Yes | |
| sources | Yes | |
| coverage | Yes | |
| truncated | Yes | |
| disclaimer | No | Disclaimer. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata. |
| next_offset | Yes | |
| snapshot_id | Yes | |
| source_clocks | Yes | |
| source_details | No | Source details. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata. |
TDQS
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.
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.
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.
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.
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.
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 counterpartyARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| registry_code | Yes | 8-digit commercial register code |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| as_of | Yes | |
| flags | No | |
| found | No | |
| report | No | |
| status | No | |
| sources | Yes | |
| distress | No | |
| tax_debt | No | |
| truncated | No | |
| disclaimer | Yes | |
| legal_form | No | |
| snapshot_id | Yes | |
| registry_code | No | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
| insolvency_announcements | No |
TDQS
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.
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.
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.
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.
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.
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 awardsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | At most 25 awards | |
| cursor | No | Opaque cursor from a previous next_cursor for the next page | |
| registry_code | Yes | 8-digit commercial register code |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| as_of | Yes | |
| found | No | |
| sources | Yes | |
| available | No | |
| row_count | No | |
| truncated | No | |
| dedupe_key | No | |
| disclaimer | Yes | |
| value_note | No | |
| next_cursor | No | |
| snapshot_id | Yes | |
| context_note | No | Interpretation and limitations of award context; unknown tax debt is not debt-free. |
| registry_code | No | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
| framework_flag_note | No |
TDQS
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.
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.
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.
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.
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.
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 companiesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Financial year. Defaults to the snapshot year. | |
| registry_codes | Yes | One to four 8-digit registry codes |
Output Schema
| Name | Required | Description |
|---|---|---|
| year | No | |
| as_of | Yes | |
| missing | No | |
| partial | No | |
| sources | Yes | |
| companies | No | |
| truncated | No | |
| disclaimer | Yes | |
| snapshot_id | Yes | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
TDQS
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.
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.
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.
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.
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.
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 datasetsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_id | No | Stable dataset ID for full detail; omit for a bounded summary |
Output Schema
| Name | Required | Description |
|---|---|---|
| datasets | Yes | |
| truncated | No | |
| reviewed_at | Yes | |
| datasets_total | No | |
| schema_version | Yes |
TDQS
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.
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.
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.
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.
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.
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 contextARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | Yes | |
| as_of | Yes | |
| sources | Yes | |
| truncated | No | |
| disclaimer | Yes | |
| rows_total | Yes | |
| snapshot_id | Yes | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
TDQS
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.
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.
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.
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.
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.
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 eventsBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Calendar year; defaults to snapshot year, which is partial. | |
| emtak | No | Current snapshot Estonian Classification of Economic Activities (EMTAK) prefix, 1–5 digits. | |
| county | No | Current 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
| Name | Required | Description |
|---|---|---|
| note | No | |
| rows | Yes | |
| year | No | |
| as_of | Yes | |
| emtak | No | Emtak. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable. |
| county | No | County. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable. |
| reason | No | |
| sources | Yes | |
| truncated | No | |
| data_as_of | No | Event-series observation cutoff, separate from the snapshot publication clock. |
| disclaimer | Yes | |
| rows_total | Yes | |
| first_month | No | First month. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable. |
| snapshot_id | Yes | |
| partial_year | No | |
| invalid_dates | No | Counts by event kind for invalid dates. |
| coverage_basis | No | Coverage basis. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable. |
| coverage_scope | No | Coverage scope. event_series.event_series_payload: observed events and coverage, not unique insolvencies. |
| future_notices | No | Future notices. event_series.event_series_payload: observed events and coverage, not unique insolvencies. Null when the source value or applicable observation is unavailable. |
| future_records | No | Counts by event kind for future records. |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| kind_first_month | No | |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
| national_coverage | No | National coverage. event_series.event_series_payload: observed events and coverage, not unique insolvencies. |
| notices_available | No | Notices available. event_series.event_series_payload: observed events and coverage, not unique insolvencies. |
| notice_first_month | No | 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. |
| invalid_date_notices | No | 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. |
| relationship_first_month | No | 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. |
| excluded_relationships_without_two_company_joins | No | Count of excluded company relationship pairs with a missing registry code or with one or both companies absent from the company join. |
TDQS
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.
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.
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.
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.
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.
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 companiesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| dir | No | desc | |
| sort | No | revenue | |
| year | No | Financial year, or latest: each active company’s latest non-null revenue filing since the latest complete year | |
| emtak | No | Estonian Classification of Economic Activities (EMTAK) code or prefix | |
| limit | No | At most 50 companies | |
| county | No | County 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_revenue | No | Maximum annual revenue, EUR | |
| min_revenue | No | Minimum annual revenue, EUR | |
| no_tax_debt | No | Keep only companies with no current tax debt | |
| max_employees | No | Maximum average employees | |
| min_employees | No | Minimum average employees | |
| licence_activity | No | Exact Register of Economic Activities (MTR) activity string from sector_stats. Observed source presence, not verified licence validity; submitted and suspended records included. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | Incomplete-result warning when a result, scan or lookup limit is reached. |
| year | No | |
| as_of | Yes | |
| sources | Yes | |
| companies | No | |
| row_count | No | |
| truncated | No | |
| disclaimer | Yes | |
| snapshot_id | Yes | |
| label_en_note | No | Interpretation of English label coverage and fallback. |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
| excluded_unit_uncertain | No | 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. |
TDQS
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.
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.
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.
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.
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.
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 overviewARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | |
| funds | No | |
| totals | Yes | |
| periods | No | |
| regions | No | |
| sources | Yes | |
| coverage | No | |
| universe | No | |
| available | Yes | |
| truncated | No | |
| absorption | No | |
| disclaimer | Yes | |
| programmes | No | |
| funds_total | No | |
| snapshot_id | Yes | |
| beneficiaries | No | |
| periods_total | No | |
| regions_total | No | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
| programmes_total | No | |
| absorption_reason | No | |
| beneficiaries_total | No | |
| implementing_bodies | No | |
| implementing_bodies_total | No |
TDQS
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.
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.
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.
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.
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.
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 profileARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sections | No | 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. | |
| registry_code | Yes | 8-digit commercial register code |
Output Schema
| Name | Required | Description |
|---|---|---|
| tax | No | |
| as_of | Yes | |
| board | No | 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. |
| found | No | |
| peers | No | |
| ships | No | |
| grants | No | |
| owners | No | |
| history | No | |
| permits | No | |
| pledges | No | |
| profile | No | |
| similar | No | |
| sources | Yes | |
| as_buyer | No | Public legal-entity buying across all retained history; registered seat, not delivery location. Old snapshots return null. |
| distress | No | |
| holdings | No | |
| licences | No | |
| tax_debt | No | |
| state_aid | No | |
| truncated | No | |
| activities | No | |
| de_minimis | No | |
| disclaimer | Yes | |
| financials | No | |
| ships_note | No | |
| ships_total | No | |
| snapshot_id | Yes | |
| successions | No | |
| appointments | No | Optional anonymous non-founding management appointment counts and dates; null when unavailable. No person data. |
| grants_total | No | |
| sanctions_s1 | No | 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. |
| shared_board | No | |
| ships_status | No | |
| announcements | No | |
| history_total | No | |
| permits_total | No | |
| registry_code | No | |
| report_status | No | |
| distress_trend | No | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| owners_coverage | No | 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. |
| state_contracts | No | |
| activities_total | No | |
| de_minimis_total | No | |
| financials_total | No | |
| former_ownership | No | Optional former legal-entity ownership observations in both directions. Dates are observations, not legal transfer dates. |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
| procurement_wins | No | |
| tax_debt_history | No | |
| successions_total | No | |
| distress_trend_total | No | |
| owners_coverage_note | No | Sentence explaining owners_coverage. Omitted when owners_coverage is omitted. |
| majority_foreign_owned | No | |
| tax_debt_history_total | No | |
| unnamed_foreign_owner_count | No |
TDQS
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.
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.
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.
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.
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.
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.
legal_calendarLegal calendarARead-onlyInspect
Upcoming laws, legislative bills and European Union deadlines in separate dated layers. Bills are not law. Universal changes are separate from title-derived sector matches. Bill stages and committees are included; direct law links and measure lifecycle remain unverified. Deadline detections are not compliance or transposition verdicts. Sources, licences, totals and truncation are reported; older snapshots return empty layers. Use sector_stats for sector benchmarks and a calendar preview. Do not look up natural persons.
| Name | Required | Description | Default |
|---|---|---|---|
| emtak | No | Optional Estonian Classification of Economic Activities (EMTAK) code/division, 2–5 digits; title-derived matches only. | |
| limit | No | Rows per layer and scope; envelope may trim further. |
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | |
| bills | No | |
| emtak | No | |
| notice | No | |
| sources | Yes | |
| available | No | |
| truncated | No | |
| disclaimer | Yes | |
| future_laws | No | |
| snapshot_id | Yes | |
| eu_deadlines | No | |
| calendar_as_of | No | Calendar evaluation date, separate from the snapshot publication clock. |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Substantially beyond the annotations, which only cover read-only/non-destructive safety. It discloses data-quality boundaries (bill stages and committees included, direct law links and lifecycle unverified), that deadline detections are not compliance or transposition verdicts, that sources/licences/totals/truncation are reported, and critically that older snapshots return empty layers. Those are exactly the traits an agent needs to interpret results and avoid over-claiming.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence and every subsequent clause carries a distinct caveat with no fluff. However, the telegraphic multi-caveat run ('Bill stages and committees are included; ...') reads as a compressed wall of disclaimers rather than structured guidance, which costs some readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, two-parameter tool with an output schema, this covers scope, exclusions, empty-result conditions and truncation behavior well. The main omission is the forecast horizon — 'upcoming' over what window, given there is no date parameter — which an agent would need to set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds genuine meaning: 'Universal changes are separate from title-derived sector matches' explains how EMTAK filtering interacts with unfiltered items in the layers, which the schema field text does not convey. The limit parameter is left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a concrete resource and shape: upcoming laws, legislative bills and EU deadlines returned as separate dated layers. It distinguishes itself from sector_stats and implicitly from legal-text search by framing itself as a dated calendar of forthcoming items. It never names a verb like 'list' explicitly and does not contrast with search_legal_vectors, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It routes one case away explicitly ('Use sector_stats for sector benchmarks and a calendar preview') and adds a hard exclusion ('Do not look up natural persons'). But there is no positive statement of when an agent should reach for this tool rather than search_legal_vectors or open_calls, so the selection guidance is only partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_callsOpen funding callsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| emtak | No | Estonian Classification of Economic Activities (EMTAK) code. Matched on the division when the call has rules. | |
| county | No | County 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. | |
| status | No | Call status: open (default), upcoming, or all retained calls. | open |
| provider | No | Funder, for example the Estonian Business and Innovation Agency (EIS) | |
| size_band | No | Company size band: e:0-9, e:10-49, e:50-249, e:250+, e:unknown. | |
| registry_code | No | 8-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_days | No | Keep calls whose deadline is within this many days |
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | |
| calls | No | |
| profile | No | |
| sources | Yes | |
| row_count | No | |
| truncated | No | |
| disclaimer | Yes | |
| calls_total | No | |
| snapshot_id | Yes | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
| unknown_scope_count | No | Calls dropped by an EMTAK filter because the source named no sector. Zero when the caller did not filter by EMTAK. |
TDQS
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.
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.
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.
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.
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.
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 noticesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cpv | No | Common Procurement Vocabulary (CPV) code prefix | |
| dir | No | Sort direction; reuse with the cursor | desc |
| days | No | Published within this many days | |
| sort | No | Global sort key; missing values last | issued |
| buyer | No | Buyer name or registry code | |
| limit | No | At most 25 notices | |
| query | No | Title or buyer text (contains match on folded title/authority) | |
| cursor | No | Opaque cursor from a previous next_cursor for the next page | |
| open_only | No | Keep open contract notices (cn-*) with deadline on/after today; exclude award notices | |
| max_value_eur | No | Maximum estimated value in EUR (finite, 0..1e15) | |
| min_value_eur | No | Minimum estimated value in EUR (finite, 0..1e15) | |
| include_null_value | No | When min/max value filters are set, also keep notices with no estimated value | |
| deadline_within_days | No | Keep notices whose submission deadline is within this many days (0..3650) |
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | |
| total | No | Total. queries.procurement_estimate_coverage and tools: procurement observation context. |
| notices | No | |
| sources | Yes | |
| row_count | No | |
| truncated | No | |
| disclaimer | Yes | |
| next_cursor | No | |
| snapshot_id | Yes | |
| estimate_note | No | Estimate note. queries.procurement_estimate_coverage and tools: procurement observation context. |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
| estimate_coverage | No | Estimate coverage. queries.procurement_estimate_coverage and tools: procurement observation context. |
TDQS
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.
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.
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.
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.
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.
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 statisticsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cpv | No | Common Procurement Vocabulary (CPV) prefix | |
| buyer | No | Buyer name or registry-code contains match |
Output Schema
| Name | Required | Description |
|---|---|---|
| cpv | No | |
| note | No | |
| as_of | Yes | |
| buyers | No | |
| by_year | No | |
| sources | Yes | |
| summary | No | |
| available | No | |
| cpv_total | No | |
| truncated | No | |
| disclaimer | Yes | |
| snapshot_id | Yes | |
| buyers_total | No | |
| by_year_total | No | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
TDQS
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.
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.
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.
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.
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.
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 statisticsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Year | |
| county | No | County 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. | |
| sections | No | Opt-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_form | No | Quarterly legal-form group: OÜ, AS, other retained legal forms. Independent of annual-account year. | ou |
Output Schema
| Name | Required | Description |
|---|---|---|
| aid | No | |
| land | No | Opt-in: returned only when sections includes land. Aggregate cadastral context, independently dated. National scope when county is omitted. |
| slug | No | |
| year | No | |
| as_of | Yes | |
| found | No | |
| county | No | |
| largest | No | |
| partial | No | |
| sectors | No | |
| sources | Yes | |
| tourism | No | Opt-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. |
| counties | No | |
| delta_pct | No | |
| quarterly | No | Opt-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_pct | No | |
| truncated | No | |
| demography | No | |
| disclaimer | Yes | |
| gross_wage | No | |
| year_label | No | |
| snapshot_id | Yes | |
| bankruptcies | No | |
| county_brief | No | 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. |
| transactions | No | |
| unemployment | No | |
| company_count | No | |
| energy_labels | No | Opt-in: returned only when sections includes energy_labels. |
| label_en_note | No | Interpretation of English sector label coverage and fallback. |
| labour_market | No | Opt-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_total | No | Largest total. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. |
| median_series | No | |
| public_buying | No | Opt-in: returned only when sections includes public_buying. |
| sectors_total | No | Sectors total. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata. |
| counties_total | No | Number of counties before envelope trimming. |
| employees_unit | No | |
| median_revenue | No | |
| municipal_acts | No | Opt-in: returned only when sections includes municipal_acts. Current municipal regulations: derived title-keyword relevance, not a complete compliance checklist. Null for older snapshots. |
| municipalities | No | |
| property_stock | No | Opt-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_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| employees_total | No | |
| open_call_count | No | |
| property_market | No | Opt-in: returned only when sections includes property_market. |
| report_coverage | No | Opt-in: returned only when sections includes report_coverage. |
| counties_compare | No | |
| delta_pct_reason | No | |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
| report_note_code | No | County report code. region_report marks a county response; the figures are in county_brief. |
| share_pct_reason | No | |
| median_revenue_unit | No | |
| wage_municipalities | No | |
| company_count_reason | No | |
| median_revenue_reason | No | |
| municipalities_ranked | No | Opt-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_construction | No | Opt-in: returned only when sections includes national_construction and county is supplied; national series inside the county dossier, null without county. |
| employees_total_reason | No | |
| excluded_unit_uncertain | No | 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. |
TDQS
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.
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.
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.
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.
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.
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 signalsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | 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. | |
| emtak | No | Estonian Classification of Economic Activities (EMTAK) code or prefix | |
| limit | No | At most 25 signals | |
| county | No | County 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. | |
| cursor | No | Opaque cursor from a previous next_cursor for the next page |
Output Schema
| Name | Required | Description |
|---|---|---|
| end | No | |
| hint | No | Trend incidence ranking and county/emtak filter guidance for fetching omitted rows. |
| note | No | |
| as_of | Yes | |
| scope | No | |
| start | No | |
| cohort | No | |
| months | No | |
| signals | No | |
| sources | Yes | |
| incidence | No | Top 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_count | No | |
| truncated | No | |
| disclaimer | Yes | |
| next_cursor | No | |
| snapshot_id | Yes | |
| cohort_as_of | No | |
| missing_days | No | |
| months_total | No | Number of months in the full national history before size budgeting. |
| observed_days | No | |
| threshold_eur | No | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| incidence_top_n | No | Actual 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_total | No | Number of incidence rows matching county/emtak filters, or all rows when unfiltered, before top-N selection. |
| months_returned | No | Number of returned months; newest months are retained in chronological order. |
| incidence_cohort | No | |
| months_truncated | No | True when oldest months were omitted to fit the 8,000-byte envelope. |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
TDQS
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.
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.
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.
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.
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.
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 companiesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| emtak | No | Estonian Classification of Economic Activities (EMTAK) code or prefix | |
| limit | No | At most 25 companies | |
| query | Yes | Company name or 8-digit registry code | |
| county | No | County 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. | |
| cursor | No | Opaque cursor from a previous next_cursor for the next page | |
| include_inactive | No | Include liquidated, bankrupt, and deleted companies. Default false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | |
| sources | Yes | |
| companies | No | |
| row_count | No | |
| truncated | No | |
| disclaimer | Yes | |
| next_cursor | No | |
| snapshot_id | Yes | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
TDQS
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.
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.
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.
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.
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.
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.
search_legal_vectorsSearch legal vectorsARead-onlyInspect
Free bounded hybrid retrieval of affirmatively cleared current state-law provisions. Partial coverage only; no persons, companies, courts or other corpora. Returns the canonical page with RT attribution, clocks and ten-minute-or-midnight expiry. Continue with the same query/result_set and next_offset; restart_required needs an explicit new search. Unavailable and rate_limited are errors, never empty results. No snapshot or generation/RAG call. Use browse_catalog(kind=legal_search) for the separate literal snapshot search. Do not look up natural persons.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Legal query, at most 512 UTF-8 bytes and 256 encoder tokens | |
| offset | No | ||
| result_set | No | Opaque fixed-result token; reuse with the same query and next_offset |
Output Schema
| Name | Required | Description |
|---|---|---|
| hits | Yes | |
| mode | Yes | |
| limit | Yes | |
| state | Yes | |
| notice | Yes | |
| offset | Yes | |
| sources | Yes | |
| coverage | Yes | |
| has_more | Yes | |
| returned | Yes | |
| checked_at | Yes | |
| exclusions | Yes | |
| expires_at | Yes | |
| generation | Yes | |
| result_set | Yes | |
| next_offset | Yes | |
| release_sha | Yes | |
| validity_date | Yes | |
| clock_meanings | Yes | |
| policy_version | Yes | |
| search_limited | Yes | |
| ranking_version | Yes | |
| clearance_digest | Yes | |
| contract_version | Yes | |
| generation_built_at | Yes | |
| page_limited_by_bytes | Yes |
TDQS
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 goes well beyond them: partial coverage, ten-minute-or-midnight expiry, error semantics ('unavailable and rate_limited are errors, never empty results'), and result-set invalidation producing restart_required. The gaps are only that 'RT attribution' and the clocks are not explained, so an agent knows the traits exist but not quite what they mean.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Scope and coverage limits are front-loaded before operational detail, and every sentence carries a distinct constraint (coverage, return shape, pagination, error taxonomy, sibling routing, exclusion) with no restatement of the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 enumerated, yet the description still sketches the canonical page, attribution and expiry clocks. Combined with error taxonomy and continuation rules, an agent has what it needs to call and page correctly; only the undefined 'RT attribution' and the offset/next_offset relationship leave light ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (query and result_set documented, limit and offset bare), and the description compensates by giving result_set its real semantics: an opaque fixed-result token that must be reused with the same query and the next_offset. That is meaningful added meaning beyond the schema, but the naming mismatch ('next_offset' versus the schema's 'offset') and the untouched limit/offset parameters keep it below the top.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource precisely ('affirmatively cleared current state-law provisions') and bounds it negatively ('no persons, companies, courts or other corpora'), so an agent knows exactly what corpus is searched. The verb phrasing 'Free bounded hybrid retrieval' is jargon-heavy and never plainly says 'search', but the sibling exclusion of browse_catalog(kind=legal_search) removes ambiguity about which tool does what.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the alternative ('Use browse_catalog(kind=legal_search) for the separate literal snapshot search') with the condition that selects it, and adds a hard exclusion ('Do not look up natural persons'). It also spells out continuation behavior (same query/result_set with next_offset) and the restart_required escape hatch, leaving no inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sector_statsSector statisticsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Year | |
| emtak | Yes | Estonian Classification of Economic Activities (EMTAK) 2025 code or division. Estonian Classification of Economic Activities (EMTAK) 2008 codes are resolved via the snapshot crosswalk. | |
| county | No | County 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. | |
| sections | No | Opt-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_form | No | Quarterly legal-form group: OÜ, AS, other retained legal forms. Independent of annual-account year. | ou |
Output Schema
| Name | Required | Description |
|---|---|---|
| acts | No | |
| year | No | |
| as_of | Yes | |
| emtak | No | |
| found | No | |
| label | No | |
| level | No | |
| trend | No | |
| wages | No | Opt-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. |
| economy | No | Opt-in: returned only when sections includes economy. |
| partial | No | |
| sources | Yes | |
| tourism | No | Opt-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_en | No | English sector label, or null when unavailable. |
| histogram | No | |
| quarterly | No | Opt-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. |
| truncated | No | |
| acts_total | No | Total sector-specific acts before envelope trimming. |
| disclaimer | Yes | |
| emtak_note | No | |
| acts_notice | No | Coverage caveat for derived company-subject act extractions; missing counts do not mean zero duties. |
| ai_adoption | No | Opt-in: returned only when sections includes ai_adoption. |
| percentiles | No | |
| revenue_sum | No | |
| snapshot_id | Yes | |
| bankruptcies | No | Opt-in: returned only when sections includes bankruptcies. |
| company_count | No | |
| job_vacancies | No | Opt-in: returned only when sections includes job_vacancies. |
| label_en_note | No | Interpretation of English label coverage and fallback. |
| licence_count | No | |
| acts_universal | No | |
| median_revenue | No | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| employees_total | No | |
| emtak_requested | No | |
| label_en_method | No | English label derivation method, including broader NACE fallback; null when unavailable. |
| report_coverage | No | Opt-in: returned only when sections includes report_coverage. |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
| upcoming_changes | No | Opt-in: returned only when sections includes upcoming_changes. |
| licence_prevalence | No | |
| official_benchmarks | No | Opt-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_total | No | Total universal acts before envelope trimming. |
| median_revenue_reason | No | |
| company_count_national | No | |
| licence_prevalence_note | No | |
| official_benchmarks_url | No | Full-data URL; returned only when sections includes official_benchmarks. |
| licence_prevalence_total | No |
TDQS
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.
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.
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.
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.
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.
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 metadataARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| source_key | No | Source key, e.g. stat, emta or ariregister | stat |
Output Schema
| Name | Required | Description |
|---|---|---|
| as_of | Yes | |
| sources | Yes | |
| truncated | No | |
| disclaimer | Yes | |
| snapshot_id | Yes | |
| acquisitions | No | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
| acquisitions_total | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| tool | No | Tool this feedback refers to | |
| agent | No | Optional client identifier needed to reproduce the reported problem; omit by default. At most 100 characters, masked; no personal data or credentials. | |
| message | Yes | Feedback text; no personal data | |
| registry_codes | No | Up to 10 known legal-entity registry codes; omit codes absent from the snapshot | |
| request_context | No | Optional 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
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| feedback_id | Yes |
TDQS
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.
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.
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.
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.
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.
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 companiesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | Opaque change cursor (event id) or previous snapshot_id. Omit for the full typed change list in this snapshot. | |
| cursor | No | Opaque cursor from a previous next_cursor for the next page | |
| registry_codes | Yes | One to fifty 8-digit legal-entity registry codes |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | |
| as_of | Yes | |
| since | No | |
| sources | Yes | |
| requested | No | |
| row_count | No | |
| truncated | No | |
| disclaimer | Yes | |
| next_cursor | No | |
| snapshot_id | Yes | |
| source_details | Yes | Full attribution and acquisition evidence: source_metadata(key). |
| omitted_sections | No | Sections removed to fit the response budget, including default sections. Request one named section to retrieve it. Present only when truncated. |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
- Changed
check_counterparty1 field changed- added
Output schema / properties / distress / properties / score_reasonAdded value: +{ + "type": [ + "string", + "null" + ] +}
- Changed
find_companies1 field changed- changed
Output schema / properties / excluded_unit_uncertain / descriptionPrevious 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."
- Changed
get_company1 field changed- added
Output schema / properties / distress / properties / score_reasonAdded value: +{ + "type": [ + "string", + "null" + ] +}
14 tool updates
- Changed
browse_catalog7 fields changed- added
Output schema / properties / as_ofAdded value: +{ + "description": "As of. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.", + "type": "string" +} - added
Output schema / properties / coverage / propertiesAdded 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" + } +} - added
Output schema / properties / disclaimerAdded value: +{ + "description": "Disclaimer. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.", + "type": "string" +} - added
Output schema / properties / limitAdded value: +{ + "description": "Limit. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.", + "type": "integer" +} - added
Output schema / properties / noticeAdded value: +{ + "description": "Notice. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.", + "type": "string" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Source details. catalogs.catalog_page and tools.browse_catalog: allowlisted catalog metadata.", + "type": "string" +} - added
Output schema / properties / sources / items / propertiesAdded 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" + } +}
- Changed
check_counterparty4 fields changed- added
Output schema / properties / distress / properties / noteAdded value: +{ + "description": "Note. queries_extra._distress_rising_events and distress_reasons: persisted score observations.", + "type": "string" +} - added
Output schema / properties / distress / properties / reasonsAdded 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" +} - added
Output schema / properties / distress / properties / reasons_totalAdded value: +{ + "description": "Reasons total. queries_extra._distress_rising_events and distress_reasons: persisted score observations.", + "type": "integer" +} - added
Output schema / properties / sources / items / properties / as_of_basisAdded value: +{ + "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.", + "type": "string" +}
- Changed
company_procurement2 fields changed- added
Output schema / properties / context_noteAdded value: +{ + "description": "Interpretation and limitations of award context; unknown tax debt is not debt-free.", + "type": "string" +} - added
Output schema / properties / sources / items / properties / as_of_basisAdded value: +{ + "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.", + "type": "string" +}
- Changed
compare_companies8 fields changed- added
Output schema / properties / companies / items / properties / distress / properties / methodology_versionAdded 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" + ] +} - added
Output schema / properties / companies / items / properties / distress / properties / reasonsAdded 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" +} - added
Output schema / properties / companies / items / properties / monetary_null_reasonAdded 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" + ] +} - added
Output schema / properties / companies / items / properties / report_basisAdded 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" + ] +} - added
Output schema / properties / companies / items / properties / series / properties / employees_q / items / propertiesAdded 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" + ] + } +} - added
Output schema / properties / companies / items / properties / tax_debt / properties / left_censoredAdded 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" +} - added
Output schema / properties / companies / items / properties / tax_debt / properties / series / items / propertiesAdded 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" + } +} - added
Output schema / properties / sources / items / properties / as_of_basisAdded value: +{ + "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.", + "type": "string" +}
- Changed
event_series19 fields changed- added
Output schema / properties / countyAdded 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" + ] +} - added
Output schema / properties / coverage_basisAdded 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" + ] +} - added
Output schema / properties / coverage_scopeAdded value: +{ + "description": "Coverage scope. event_series.event_series_payload: observed events and coverage, not unique insolvencies.", + "type": "string" +} - added
Output schema / properties / data_as_ofAdded value: +{ + "description": "Event-series observation cutoff, separate from the snapshot publication clock.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / emtakAdded 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" + ] +} - added
Output schema / properties / excluded_relationships_without_two_company_joinsAdded 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" +} - added
Output schema / properties / first_monthAdded 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" + ] +} - added
Output schema / properties / future_noticesAdded 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" + ] +} - added
Output schema / properties / future_recordsAdded value: +{ + "additionalProperties": { + "type": "integer" + }, + "description": "Counts by event kind for future records.", + "type": "object" +} - added
Output schema / properties / invalid_date_noticesAdded 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" + ] +} - added
Output schema / properties / invalid_datesAdded value: +{ + "additionalProperties": { + "type": "integer" + }, + "description": "Counts by event kind for invalid dates.", + "type": "object" +} - added
Output schema / properties / national_coverageAdded value: +{ + "description": "National coverage. event_series.event_series_payload: observed events and coverage, not unique insolvencies.", + "type": "string" +} - added
Output schema / properties / notice_first_monthAdded 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" + ] +} - added
Output schema / properties / notices_availableAdded value: +{ + "description": "Notices available. event_series.event_series_payload: observed events and coverage, not unique insolvencies.", + "type": "boolean" +} - added
Output schema / properties / relationship_first_monthAdded 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" + ] +} - added
Output schema / properties / rows / items / properties / matched_noticesAdded 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" + ] +} - added
Output schema / properties / rows / items / properties / partialAdded value: +{ + "description": "Partial. event_series.event_series_payload: observed events and coverage, not unique insolvencies.", + "type": "boolean" +} - added
Output schema / properties / rows / items / properties / unmatched_noticesAdded 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" + ] +} - added
Output schema / properties / sources / items / properties / as_of_basisAdded value: +{ + "description": "As of basis. event_series.event_series_payload: observed events and coverage, not unique insolvencies.", + "type": "string" +}
- Changed
find_companies8 fields changed- added
Output schema / properties / companies / items / properties / growth_pctAdded 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" + ] +} - added
Output schema / properties / companies / items / properties / label_enAdded 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" + ] +} - added
Output schema / properties / companies / items / properties / label_en_methodAdded 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" + ] +} - added
Output schema / properties / companies / items / properties / monetary_null_reasonAdded 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" + ] +} - added
Output schema / properties / companies / items / properties / report_basisAdded 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" + ] +} - added
Output schema / properties / label_en_noteAdded value: +{ + "description": "Interpretation of English label coverage and fallback.", + "type": "string" +} - added
Output schema / properties / noteAdded value: +{ + "description": "Incomplete-result warning when a result, scan or lookup limit is reached.", + "type": "string" +} - added
Output schema / properties / sources / items / properties / as_of_basisAdded value: +{ + "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.", + "type": "string" +}
- Changed
get_company23 fields changed- added
Output schema / properties / appointmentsAdded 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" + ] +} - added
Output schema / properties / distress / properties / noteAdded value: +{ + "description": "Note. queries_extra._distress_rising_events and distress_reasons: persisted score observations.", + "type": "string" +} - added
Output schema / properties / distress / properties / reasonsAdded 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" +} - added
Output schema / properties / distress / properties / reasons_totalAdded value: +{ + "description": "Reasons total. queries_extra._distress_rising_events and distress_reasons: persisted score observations.", + "type": "integer" +} - added
Output schema / properties / distress / properties / truncatedAdded value: +{ + "description": "Truncated. queries_extra._distress_rising_events and distress_reasons: persisted score observations.", + "type": "boolean" +} - added
Output schema / properties / distress_trend / properties / events / items / properties / deltaAdded value: +{ + "description": "Delta. queries_extra._distress_rising_events and distress_reasons: persisted score observations.", + "type": "integer" +} - added
Output schema / properties / distress_trend / properties / events / items / properties / risk_levelAdded 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" + ] +} - added
Output schema / properties / distress_trend / properties / events / items / properties / unitAdded value: +{ + "description": "Unit. queries_extra._distress_rising_events and distress_reasons: persisted score observations.", + "type": "string" +} - added
Output schema / properties / distress_trend / properties / events_totalAdded value: +{ + "description": "Events total. queries_extra._distress_rising_events and distress_reasons: persisted score observations.", + "type": "integer" +} - added
Output schema / properties / distress_trend / properties / history / items / properties / unitAdded value: +{ + "description": "Unit. queries_extra._distress_rising_events and distress_reasons: persisted score observations.", + "type": "string" +} - added
Output schema / properties / distress_trend / properties / history_totalAdded value: +{ + "description": "History total. queries_extra._distress_rising_events and distress_reasons: persisted score observations.", + "type": "integer" +} - added
Output schema / properties / distress_trend / properties / truncatedAdded value: +{ + "description": "Truncated. queries_extra._distress_rising_events and distress_reasons: persisted score observations.", + "type": "boolean" +} - added
Output schema / properties / financials / itemsAdded 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" +} - added
Output schema / properties / financials / propertiesAdded 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" + } +} - added
Output schema / properties / former_ownershipAdded 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" +} - added
Output schema / properties / licences / items / properties / domainAdded 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" + ] +} - added
Output schema / properties / licences / items / properties / source_presentAdded 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" + ] +} - added
Output schema / properties / licences / items / properties / source_statusAdded 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" + ] +} - added
Output schema / properties / ships / items / propertiesAdded 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" + ] + } +} - added
Output schema / properties / sources / items / properties / as_of_basisAdded value: +{ + "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.", + "type": "string" +} - added
Output schema / properties / state_aid / properties / latest / items / properties / contextAdded 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" +} - added
Output schema / properties / tax_debt_history / properties / series_totalAdded value: +{ + "description": "Series total. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.", + "type": "integer" +} - added
Output schema / properties / tax_debt_history / properties / truncatedAdded value: +{ + "description": "Truncated. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.", + "type": "boolean" +}
- Changed
legal_calendar24 fields changed- added
Output schema / properties / bills / properties / availableAdded value: +{ + "description": "Available. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / bills / properties / general / items / propertiesAdded 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" + } +} - added
Output schema / properties / bills / properties / general_truncatedAdded value: +{ + "description": "General truncated. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / bills / properties / no_upcoming_date_totalAdded value: +{ + "description": "No upcoming date total. legal_calendar.query: dated legal metadata.", + "type": "integer" +} - added
Output schema / properties / bills / properties / sector / items / propertiesAdded 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" + } +} - added
Output schema / properties / bills / properties / sector_truncatedAdded value: +{ + "description": "Sector truncated. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / bills / properties / universal / items / propertiesAdded 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" + } +} - added
Output schema / properties / bills / properties / universal_truncatedAdded value: +{ + "description": "Universal truncated. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / calendar_as_ofAdded value: +{ + "description": "Calendar evaluation date, separate from the snapshot publication clock.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / eu_deadlines / properties / availableAdded value: +{ + "description": "Available. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / eu_deadlines / properties / general / items / propertiesAdded 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" + } +} - added
Output schema / properties / eu_deadlines / properties / general_truncatedAdded value: +{ + "description": "General truncated. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / eu_deadlines / properties / sector / items / propertiesAdded 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" + } +} - added
Output schema / properties / eu_deadlines / properties / sector_truncatedAdded value: +{ + "description": "Sector truncated. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / eu_deadlines / properties / universal / items / propertiesAdded 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" + } +} - added
Output schema / properties / eu_deadlines / properties / universal_truncatedAdded value: +{ + "description": "Universal truncated. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / future_laws / properties / availableAdded value: +{ + "description": "Available. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / future_laws / properties / general / items / propertiesAdded 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" + } +} - added
Output schema / properties / future_laws / properties / general_truncatedAdded value: +{ + "description": "General truncated. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / future_laws / properties / sector / items / propertiesAdded 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" + } +} - added
Output schema / properties / future_laws / properties / sector_truncatedAdded value: +{ + "description": "Sector truncated. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / future_laws / properties / universal / items / propertiesAdded 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" + } +} - added
Output schema / properties / future_laws / properties / universal_truncatedAdded value: +{ + "description": "Universal truncated. legal_calendar.query: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / sources / items / properties / as_of_basisAdded value: +{ + "description": "As of basis. legal_calendar.query: dated legal metadata.", + "type": "string" +}
- Changed
procurement_notices3 fields changed- added
Output schema / properties / estimate_coverageAdded 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" +} - added
Output schema / properties / estimate_noteAdded value: +{ + "description": "Estimate note. queries.procurement_estimate_coverage and tools: procurement observation context.", + "type": "string" +} - added
Output schema / properties / totalAdded value: +{ + "description": "Total. queries.procurement_estimate_coverage and tools: procurement observation context.", + "type": "integer" +}
- Changed
region_stats69 fields changed- added
Output schema / properties / bankruptcies / properties / attributionAdded value: +{ + "description": "Attribution. stat_tables sector/region_bankruptcies: official NACE or national context.", + "type": "string" +} - added
Output schema / properties / bankruptcies / properties / emtakAdded value: +{ + "description": "Emtak. stat_tables sector/region_bankruptcies: official NACE or national context.", + "type": "string" +} - added
Output schema / properties / bankruptcies / properties / indicatorAdded value: +{ + "description": "Indicator. stat_tables sector/region_bankruptcies: official NACE or national context.", + "type": "string" +} - added
Output schema / properties / bankruptcies / properties / labelAdded value: +{ + "description": "Label. stat_tables sector/region_bankruptcies: official NACE or national context.", + "type": "string" +} - added
Output schema / properties / bankruptcies / properties / levelAdded value: +{ + "description": "Level. stat_tables sector/region_bankruptcies: official NACE or national context.", + "type": "string" +} - added
Output schema / properties / bankruptcies / properties / sourceAdded value: +{ + "description": "Source. stat_tables sector/region_bankruptcies: official NACE or national context.", + "type": "string" +} - added
Output schema / properties / bankruptcies / properties / table_codeAdded value: +{ + "description": "Table code. stat_tables sector/region_bankruptcies: official NACE or national context.", + "type": "string" +} - added
Output schema / properties / bankruptcies / properties / unitAdded value: +{ + "description": "Unit. stat_tables sector/region_bankruptcies: official NACE or national context.", + "type": "string" +} - added
Output schema / properties / counties_totalAdded value: +{ + "description": "Number of counties before envelope trimming.", + "type": "integer" +} - added
Output schema / properties / county_brief / propertiesAdded 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" + } +} - added
Output schema / properties / gross_wage / properties / attributionAdded value: +{ + "description": "Attribution. stat_tables.region_gross_wage: official county wage context.", + "type": "string" +} - added
Output schema / properties / gross_wage / properties / countyAdded value: +{ + "description": "County. stat_tables.region_gross_wage: official county wage context.", + "type": "string" +} - added
Output schema / properties / gross_wage / properties / indicatorAdded value: +{ + "description": "Indicator. stat_tables.region_gross_wage: official county wage context.", + "type": "string" +} - added
Output schema / properties / gross_wage / properties / labelAdded value: +{ + "description": "Label. stat_tables.region_gross_wage: official county wage context.", + "type": "string" +} - added
Output schema / properties / gross_wage / properties / levelAdded value: +{ + "description": "Level. stat_tables.region_gross_wage: official county wage context.", + "type": "string" +} - added
Output schema / properties / gross_wage / properties / sourceAdded value: +{ + "description": "Source. stat_tables.region_gross_wage: official county wage context.", + "type": "string" +} - added
Output schema / properties / gross_wage / properties / table_codeAdded value: +{ + "description": "Table code. stat_tables.region_gross_wage: official county wage context.", + "type": "string" +} - added
Output schema / properties / gross_wage / properties / unitAdded value: +{ + "description": "Unit. stat_tables.region_gross_wage: official county wage context.", + "type": "string" +} - added
Output schema / properties / label_en_noteAdded value: +{ + "description": "Interpretation of English sector label coverage and fallback.", + "type": "string" +} - added
Output schema / properties / labour_market / properties / latestAdded 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" +} - added
Output schema / properties / labour_market / properties / rows_returnedAdded value: +{ + "description": "Rows returned. labour_market._latest_values and tools._bound_labour_context: latest official labour measures.", + "type": "integer" +} - added
Output schema / properties / labour_market / properties / rows_truncatedAdded value: +{ + "description": "Rows truncated. labour_market._latest_values and tools._bound_labour_context: latest official labour measures.", + "type": "boolean" +} - added
Output schema / properties / land / properties / land_cover_totalAdded value: +{ + "description": "Land cover total. land: aggregate cadastre measures.", + "type": "integer" +} - added
Output schema / properties / land / properties / land_use_totalAdded value: +{ + "description": "Land use total. land: aggregate cadastre measures.", + "type": "integer" +} - added
Output schema / properties / land / properties / noteAdded value: +{ + "description": "Note. land: aggregate cadastre measures.", + "type": "string" +} - added
Output schema / properties / land / properties / ownership / items / properties / area_missing_unitsAdded value: +{ + "description": "Area missing units. land: aggregate cadastre measures.", + "type": "integer" +} - added
Output schema / properties / land / properties / ownership_totalAdded value: +{ + "description": "Ownership total. land: aggregate cadastre measures.", + "type": "integer" +} - added
Output schema / properties / land / properties / sourceAdded 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" +} - added
Output schema / properties / land / properties / truncatedAdded value: +{ + "description": "Truncated. land: aggregate cadastre measures.", + "type": "boolean" +} - added
Output schema / properties / largest_totalAdded value: +{ + "description": "Largest total. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.", + "type": "integer" +} - added
Output schema / properties / municipal_acts / properties / excluded_invalid_titleAdded value: +{ + "description": "Excluded invalid title. municipal_acts: current municipal regulation metadata.", + "type": "integer" +} - added
Output schema / properties / municipal_acts / properties / municipalities / items / propertiesAdded 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" + } +} - added
Output schema / properties / municipal_acts / properties / new_12m_basisAdded value: +{ + "description": "New 12m basis. municipal_acts: current municipal regulation metadata.", + "type": "string" +} - added
Output schema / properties / municipal_acts / properties / period_start_exclusiveAdded value: +{ + "description": "Period start exclusive. municipal_acts: current municipal regulation metadata.", + "type": "string" +} - added
Output schema / properties / municipal_acts / properties / relevanceAdded value: +{ + "description": "Relevance. municipal_acts: current municipal regulation metadata.", + "type": "string" +} - added
Output schema / properties / municipal_acts / properties / topics / items / propertiesAdded 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" + } +} - added
Output schema / properties / property_stock / properties / geography_noteAdded value: +{ + "description": "Geography note. property_stock: aggregate registered apartment-property units.", + "type": "string" +} - added
Output schema / properties / property_stock / properties / noteAdded value: +{ + "description": "Note. property_stock: aggregate registered apartment-property units.", + "type": "string" +} - added
Output schema / properties / property_stock / properties / source / propertiesAdded 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" + } +} - added
Output schema / properties / public_buying / properties / coverage / propertiesAdded 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" + ] + } +} - added
Output schema / properties / public_buying / properties / rows / items / properties / unknown_procedure_notice_nAdded value: +{ + "description": "Unknown procedure notice n. public_buying: retained procurement observations and coverage.", + "type": "integer" +} - changed
Output schema / properties / report_coverage / anyOfPrevious 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" + } +] - added
Output schema / properties / sectors / items / properties / label_enAdded 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" + ] +} - added
Output schema / properties / sectors / items / properties / label_en_methodAdded 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" + ] +} - added
Output schema / properties / sectors_totalAdded value: +{ + "description": "Sectors total. queries._company_rows, fill_sector_english_labels and MCP tools: company selection and context metadata.", + "type": "integer" +} - added
Output schema / properties / sources / items / properties / as_of_basisAdded value: +{ + "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.", + "type": "string" +} - added
Output schema / properties / sources / items / properties / tableAdded value: +{ + "description": "Table. privacy._sources: compact source attribution; absent clocks are omitted.", + "type": "string" +} - added
Output schema / properties / tourism / properties / annual / items / properties / CAP_BEDPAdded value: +{ + "description": "Source tourism measure CAP_BEDP; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / CAP_BEDRAdded value: +{ + "description": "Source tourism measure CAP_BEDR; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / CAP_ESTAAdded value: +{ + "description": "Source tourism measure CAP_ESTA; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_ARRAdded value: +{ + "description": "Source tourism measure OCC_ARR; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_ARR_BSNSAdded value: +{ + "description": "Source tourism measure OCC_ARR_BSNS; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_ARR_HOLAdded value: +{ + "description": "Source tourism measure OCC_ARR_HOL; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_NIAdded value: +{ + "description": "Source tourism measure OCC_NI; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_NI_COSTAdded value: +{ + "description": "Source tourism measure OCC_NI_COST; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_OR_BEDPAdded value: +{ + "description": "Source tourism measure OCC_OR_BEDP; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_OR_BEDRAdded value: +{ + "description": "Source tourism measure OCC_OR_BEDR; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual_geographyAdded value: +{ + "description": "Annual geography. tourism.tourism: separate annual and monthly official tourism measures.", + "type": "string" +} - added
Output schema / properties / tourism / properties / annual_yearAdded 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" + ] +} - added
Output schema / properties / tourism / properties / availability_reasonAdded 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" + ] +} - added
Output schema / properties / tourism / properties / availableAdded value: +{ + "description": "Available. tourism.tourism: separate annual and monthly official tourism measures.", + "type": "boolean" +} - added
Output schema / properties / tourism / properties / measuresAdded 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" +} - added
Output schema / properties / tourism / properties / monthly / items / properties / OCC_ARRAdded value: +{ + "description": "Source tourism measure OCC_ARR; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / monthly / items / properties / OCC_ARR_NONRESAdded value: +{ + "description": "Source tourism measure OCC_ARR_NONRES; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / monthly / items / properties / OCC_ARR_RESAdded value: +{ + "description": "Source tourism measure OCC_ARR_RES; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / monthly_geographyAdded value: +{ + "description": "Monthly geography. tourism.tourism: separate annual and monthly official tourism measures.", + "type": "string" +} - added
Output schema / properties / tourism / properties / noteAdded value: +{ + "description": "Note. tourism.tourism: separate annual and monthly official tourism measures.", + "type": "string" +} - added
Output schema / properties / tourism / properties / null_reasonAdded value: +{ + "description": "Null reason. tourism.tourism: separate annual and monthly official tourism measures.", + "type": "string" +} - added
Output schema / properties / wage_municipalities / items / properties / periodAdded value: +{ + "description": "Period. stat_tables.region_municipality_wages: latest municipal wage observations.", + "type": "string" +}
- Changed
risk_signals1 field changed- added
Output schema / properties / sources / items / properties / as_of_basisAdded value: +{ + "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.", + "type": "string" +}
- Changed
search_companies3 fields changed- added
Output schema / properties / companies / items / properties / growth_pctAdded 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" + ] +} - added
Output schema / properties / companies / items / properties / monetary_null_reasonAdded 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" + ] +} - added
Output schema / properties / companies / items / properties / report_basisAdded 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" + ] +}
- Changed
sector_stats77 fields changed- added
Output schema / properties / acts / items / properties / obligation_count_basisAdded 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" + ] +} - added
Output schema / properties / acts_noticeAdded value: +{ + "description": "Coverage caveat for derived company-subject act extractions; missing counts do not mean zero duties.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / acts_totalAdded value: +{ + "description": "Total sector-specific acts before envelope trimming.", + "type": "integer" +} - added
Output schema / properties / acts_universal_totalAdded value: +{ + "description": "Total universal acts before envelope trimming.", + "type": "integer" +} - added
Output schema / properties / ai_adoption / propertiesAdded 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" + } +} - added
Output schema / properties / bankruptcies / propertiesAdded 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" + } +} - added
Output schema / properties / economy / items / propertiesAdded 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" + ] + } +} - added
Output schema / properties / job_vacancies / propertiesAdded 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" + } +} - added
Output schema / properties / label_enAdded value: +{ + "description": "English sector label, or null when unavailable.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / label_en_methodAdded value: +{ + "description": "English label derivation method, including broader NACE fallback; null when unavailable.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / label_en_noteAdded value: +{ + "description": "Interpretation of English label coverage and fallback.", + "type": "string" +} - added
Output schema / properties / official_benchmarks / properties / classificationAdded value: +{ + "description": "Classification. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.", + "type": "string" +} - added
Output schema / properties / official_benchmarks / properties / coverageAdded value: +{ + "description": "Coverage. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.", + "type": "string" +} - added
Output schema / properties / official_benchmarks / properties / geographyAdded value: +{ + "description": "Geography. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.", + "type": "string" +} - added
Output schema / properties / official_benchmarks / properties / matchAdded value: +{ + "description": "Match. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.", + "type": "string" +} - added
Output schema / properties / official_benchmarks / properties / rows / items / propertiesAdded 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" + ] + } +} - added
Output schema / properties / official_benchmarks / properties / rows_truncatedAdded value: +{ + "description": "Rows truncated. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.", + "type": "boolean" +} - added
Output schema / properties / official_benchmarks / properties / source_urlAdded value: +{ + "description": "Source url. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.", + "type": "string" +} - added
Output schema / properties / official_benchmarks / properties / table_codeAdded value: +{ + "description": "Table code. official_benchmarks.official_benchmarks: broader legacy NACE enterprise statistics.", + "type": "string" +} - added
Output schema / properties / official_benchmarks / properties / unavailable_reasonAdded 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" + ] +} - changed
Output schema / properties / report_coverage / anyOfPrevious 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" + } +] - added
Output schema / properties / sources / items / properties / as_of_basisAdded value: +{ + "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.", + "type": "string" +} - added
Output schema / properties / sources / items / properties / tableAdded value: +{ + "description": "Table. privacy._sources: compact source attribution; absent clocks are omitted.", + "type": "string" +} - added
Output schema / properties / tourism / properties / annual / items / properties / CAP_BEDPAdded value: +{ + "description": "Source tourism measure CAP_BEDP; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / CAP_BEDRAdded value: +{ + "description": "Source tourism measure CAP_BEDR; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / CAP_ESTAAdded value: +{ + "description": "Source tourism measure CAP_ESTA; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_ARRAdded value: +{ + "description": "Source tourism measure OCC_ARR; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_ARR_BSNSAdded value: +{ + "description": "Source tourism measure OCC_ARR_BSNS; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_ARR_HOLAdded value: +{ + "description": "Source tourism measure OCC_ARR_HOL; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_NIAdded value: +{ + "description": "Source tourism measure OCC_NI; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_NI_COSTAdded value: +{ + "description": "Source tourism measure OCC_NI_COST; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_OR_BEDPAdded value: +{ + "description": "Source tourism measure OCC_OR_BEDP; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual / items / properties / OCC_OR_BEDRAdded value: +{ + "description": "Source tourism measure OCC_OR_BEDR; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / annual_geographyAdded value: +{ + "description": "Annual geography. tourism.tourism: separate annual and monthly official tourism measures.", + "type": "string" +} - added
Output schema / properties / tourism / properties / annual_yearAdded 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" + ] +} - added
Output schema / properties / tourism / properties / availability_reasonAdded 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" + ] +} - added
Output schema / properties / tourism / properties / availableAdded value: +{ + "description": "Available. tourism.tourism: separate annual and monthly official tourism measures.", + "type": "boolean" +} - added
Output schema / properties / tourism / properties / measuresAdded 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" +} - added
Output schema / properties / tourism / properties / monthly / items / properties / OCC_ARRAdded value: +{ + "description": "Source tourism measure OCC_ARR; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / monthly / items / properties / OCC_ARR_NONRESAdded value: +{ + "description": "Source tourism measure OCC_ARR_NONRES; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / monthly / items / properties / OCC_ARR_RESAdded value: +{ + "description": "Source tourism measure OCC_ARR_RES; null when not reported. See measures for label and unit.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / tourism / properties / monthly_geographyAdded value: +{ + "description": "Monthly geography. tourism.tourism: separate annual and monthly official tourism measures.", + "type": "string" +} - added
Output schema / properties / tourism / properties / noteAdded value: +{ + "description": "Note. tourism.tourism: separate annual and monthly official tourism measures.", + "type": "string" +} - added
Output schema / properties / tourism / properties / null_reasonAdded value: +{ + "description": "Null reason. tourism.tourism: separate annual and monthly official tourism measures.", + "type": "string" +} - added
Output schema / properties / upcoming_changes / properties / as_ofAdded 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" + ] +} - added
Output schema / properties / upcoming_changes / properties / bills / properties / availableAdded value: +{ + "description": "Available. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / bills / properties / general / items / propertiesAdded 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" + } +} - added
Output schema / properties / upcoming_changes / properties / bills / properties / general_truncatedAdded value: +{ + "description": "General truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / bills / properties / no_upcoming_date_totalAdded value: +{ + "description": "No upcoming date total. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "integer" +} - added
Output schema / properties / upcoming_changes / properties / bills / properties / sector / items / propertiesAdded 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" + } +} - added
Output schema / properties / upcoming_changes / properties / bills / properties / sector_truncatedAdded value: +{ + "description": "Sector truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / bills / properties / universal / items / propertiesAdded 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" + } +} - added
Output schema / properties / upcoming_changes / properties / bills / properties / universal_truncatedAdded value: +{ + "description": "Universal truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / eu_deadlines / properties / availableAdded value: +{ + "description": "Available. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / eu_deadlines / properties / general / items / propertiesAdded 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" + } +} - added
Output schema / properties / upcoming_changes / properties / eu_deadlines / properties / general_truncatedAdded value: +{ + "description": "General truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / eu_deadlines / properties / sector / items / propertiesAdded 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" + } +} - added
Output schema / properties / upcoming_changes / properties / eu_deadlines / properties / sector_truncatedAdded value: +{ + "description": "Sector truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / eu_deadlines / properties / universal / items / propertiesAdded 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" + } +} - added
Output schema / properties / upcoming_changes / properties / eu_deadlines / properties / universal_truncatedAdded value: +{ + "description": "Universal truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / future_laws / properties / availableAdded value: +{ + "description": "Available. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / future_laws / properties / general / items / propertiesAdded 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" + } +} - added
Output schema / properties / upcoming_changes / properties / future_laws / properties / general_truncatedAdded value: +{ + "description": "General truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / future_laws / properties / sector / items / propertiesAdded 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" + } +} - added
Output schema / properties / upcoming_changes / properties / future_laws / properties / sector_truncatedAdded value: +{ + "description": "Sector truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / future_laws / properties / universal / items / propertiesAdded 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" + } +} - added
Output schema / properties / upcoming_changes / properties / future_laws / properties / universal_truncatedAdded value: +{ + "description": "Universal truncated. legal_calendar.query and tools._calendar_preview: dated legal metadata.", + "type": "boolean" +} - added
Output schema / properties / upcoming_changes / properties / moreAdded 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" +} - added
Output schema / properties / wages / properties / divisionAdded 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" + ] +} - added
Output schema / properties / wages / properties / division_reasonAdded 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" + ] +} - added
Output schema / properties / wages / properties / mappingAdded value: +{ + "description": "Mapping. labour_market.sector_wages and tools._bound_labour_context: official wage context.", + "type": "string" +} - added
Output schema / properties / wages / properties / predecessor_divisionsAdded value: +{ + "description": "Predecessor divisions. labour_market.sector_wages and tools._bound_labour_context: official wage context.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Output schema / properties / wages / properties / rows_returnedAdded value: +{ + "description": "Rows returned. labour_market.sector_wages and tools._bound_labour_context: official wage context.", + "type": "integer" +} - added
Output schema / properties / wages / properties / rows_truncatedAdded value: +{ + "description": "Rows truncated. labour_market.sector_wages and tools._bound_labour_context: official wage context.", + "type": "boolean" +} - added
Output schema / properties / wages / properties / scopeAdded value: +{ + "description": "Scope. labour_market.sector_wages and tools._bound_labour_context: official wage context.", + "type": "string" +} - added
Output schema / properties / wages / properties / sectionAdded 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" + ] +} - added
Output schema / properties / wages / properties / section_reasonAdded 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" + ] +}
- Changed
watch_companies1 field changed- added
Output schema / properties / sources / items / properties / as_of_basisAdded value: +{ + "description": "As of basis. privacy._sources: compact source attribution; absent clocks are omitted.", + "type": "string" +}
1 tool update
- Changed
risk_signals2 fields changed- changed
Input schema / properties / kind / anyOfPrevious 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" + } +] - changed
Input schema / properties / kind / descriptionPrevious 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."
1 tool update
- Changed
get_company9 fields changed- changed
Input schema / properties / sections / descriptionPrevious 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." - added
Output schema / properties / permits / items / properties / domainsAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / permits / items / properties / domains_reasonAdded value: +{ + "enum": [ + null, + "not_in_source" + ] +} - added
Output schema / properties / permits / items / properties / permit_typeAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / permits / items / properties / permit_type_labelAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / permits / items / properties / permit_type_label_reasonAdded value: +{ + "enum": [ + null, + "not_in_source" + ] +} - added
Output schema / properties / permits / items / properties / permit_type_labelsAdded value: +{ + "additionalProperties": false, + "properties": { + "en": { + "type": [ + "string", + "null" + ] + }, + "et": { + "type": [ + "string", + "null" + ] + }, + "ru": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "et", + "en", + "ru" + ], + "type": [ + "object", + "null" + ] +} - added
Output schema / properties / permits / items / properties / permit_type_reasonAdded value: +{ + "enum": [ + null, + "not_in_source" + ] +} - added
Output schema / properties / permits / items / requiredAdded value: +[ + "domains", + "domains_reason", + "permit_type", + "permit_type_label", + "permit_type_label_reason", + "permit_type_labels", + "permit_type_reason" +]
3 tool updates
- Changed
open_calls3 fields changed- added
Input schema / properties / statusAdded value: +{ + "default": "open", + "description": "Call status: open (default), upcoming, or all retained calls.", + "enum": [ + "open", + "upcoming", + "all" + ], + "title": "Status", + "type": "string" +} - added
Output schema / properties / calls / items / properties / opens_atAdded value: +{ + "description": "Opening date when known, including for upcoming calls.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / calls / items / properties / status / descriptionAdded value: +"Effective call status for the selected open, upcoming, or all retained calls."
- Changed
region_stats1 field changed- changed
Output schema / properties / national_construction / descriptionPrevious 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."
- Changed
risk_signals2 fields changed- changed
Input schema / properties / kind / anyOfPrevious 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" + } +] - changed
Input schema / properties / kind / descriptionPrevious 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."
1 tool update
- Changed
get_company21 fields changed- changed
Input schema / properties / sections / descriptionPrevious 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." - removed
Output schema / properties / state_contracts / properties / rows / items / properties / amount_eurRemoved value: -{ - "type": [ - "number", - "null" - ] -} - removed
Output schema / properties / state_contracts / properties / rows / items / properties / amount_eur_reasonRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Output schema / properties / state_contracts / properties / rows / items / properties / amount_unitRemoved value: -{ - "type": [ - "string", - "null" - ] -} - added
Output schema / properties / state_contracts / properties / rows / items / properties / concluded_onAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / concluded_on_reasonAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / contract_subtypeAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / contract_typeAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / contract_type_labelAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / contract_type_labelsAdded value: +{ + "additionalProperties": false, + "properties": { + "en": { + "type": "string" + }, + "et": { + "type": "string" + }, + "ru": { + "type": "string" + } + }, + "type": "object" +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / ended_onAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / ended_on_reasonAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / fee_amountAdded value: +{ + "description": "Current source fee excluding VAT; not a whole-contract total. Never sum or annualise.", + "type": [ + "number", + "null" + ] +} - removed
Output schema / properties / state_contracts / properties / rows / items / properties / fee_basisRemoved value: -{ - "type": [ - "string", - "null" - ] -} - added
Output schema / properties / state_contracts / properties / rows / items / properties / fee_currencyAdded value: +{ + "type": "null" +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / fee_currency_reasonAdded value: +{ + "const": "not_in_source" +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / fee_periodAdded value: +{ + "description": "Fee denominator; interval boundaries are unknown. Missing/new source codes are unknown.", + "enum": [ + "year", + "month", + "interval", + "unknown" + ] +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / fee_vat_basisAdded value: +{ + "const": "excluding_vat" +} - removed
Output schema / properties / state_contracts / properties / rows / items / properties / payment_periodRemoved value: -{ - "type": [ - "string", - "null" - ] -} - added
Output schema / properties / state_contracts / properties / rows / items / properties / semantics_versionAdded value: +{ + "const": "rkvr-contracts-1" +} - added
Output schema / properties / state_contracts / properties / rows / items / properties / vat_applicableAdded value: +{ + "description": "Source VAT applicability assertion; false is not a legal tax-exemption finding.", + "type": [ + "boolean", + "null" + ] +}
1 tool update
- Changed
get_company4 fields changed- added
Output schema / $defs / RelatedSignalAdded 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" +} - added
Output schema / properties / holdings / items / properties / signalsAdded 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" + ] +} - added
Output schema / properties / owners / items / properties / signalsAdded 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" + ] +} - added
Output schema / properties / shared_boardAdded 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" +}
1 tool update
- Added
search_legal_vectors
1 tool update
- Changed
get_company2 fields changed- added
Output schema / $defsAdded 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" + } +} - added
Output schema / properties / sanctions_s1Added 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." +}
1 tool update
- Changed
get_company1 field changed- changed
Input schema / properties / sections / descriptionPrevious 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."
1 tool update
- Changed
browse_catalog3 fields changed- changed
Input schema / properties / kind / descriptionPrevious 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" - changed
Input schema / properties / kind / enumPrevious 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" +] - changed
Output schema / properties / kind / enumPrevious 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" +]
1 tool update
- Changed
browse_catalog2 fields changed- changed
Input schema / properties / kind / enumPrevious 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" +] - changed
Output schema / properties / kind / enumPrevious 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" +]
1 tool update
- Changed
browse_catalog3 fields changed- changed
Input schema / properties / kind / descriptionPrevious 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" - changed
Input schema / properties / kind / enumPrevious value: -[ - "medicines", - "trademarks", - "designs", - "court_decisions" -]New value: +[ + "medicines", + "trademarks", + "designs", + "court_decisions", + "buildings", + "ehr_energy_labels", + "ehr_building_cadastral", + "cadastral" +] - changed
Output schema / properties / kind / enumPrevious value: -[ - "medicines", - "trademarks", - "designs", - "court_decisions" -]New value: +[ + "medicines", + "trademarks", + "designs", + "court_decisions", + "buildings", + "ehr_energy_labels", + "ehr_building_cadastral", + "cadastral" +]
1 tool update
- Changed
browse_catalog4 fields changed- changed
Input schema / properties / kind / descriptionPrevious value: -"Current package or safe IP filing catalog"New value: +"Current package, safe IP filing or name-free court metadata catalog" - changed
Input schema / properties / kind / enumPrevious value: -[ - "medicines", - "trademarks", - "designs" -]New value: +[ + "medicines", + "trademarks", + "designs", + "court_decisions" +] - changed
Input schema / properties / query / descriptionPrevious value: -"Package/filing text or identifier; empty browses all rows"New value: +"Approved metadata or identifier; empty browses all rows" - changed
Output schema / properties / kind / enumPrevious value: -[ - "medicines", - "trademarks", - "designs" -]New value: +[ + "medicines", + "trademarks", + "designs", + "court_decisions" +]
1 tool update
- Added
browse_catalog
1 tool update
- Added
describe_datasets
18 tool updates
- Changed
check_counterparty5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
company_procurement5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
compare_companies5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
economy_context5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer", - "rows", - "rows_total" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer", + "rows", + "rows_total" +]
- Changed
event_series5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer", - "rows", - "rows_total" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer", + "rows", + "rows_total" +]
- Changed
find_companies5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
funding_overview5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer", - "available", - "totals" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer", + "available", + "totals" +]
- Changed
get_company7 fields changed- changed
Input schema / properties / sections / descriptionPrevious 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." - added
Output schema / properties / boardAdded 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" +} - changed
Output schema / properties / omitted_sections / descriptionPrevious 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." - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
legal_calendar5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
open_calls5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
procurement_notices5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
procurement_stats5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
region_stats7 fields changed- added
Output schema / properties / county_briefAdded 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" + ] +} - added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / report_note_codeAdded value: +{ + "description": "County report code. region_report marks a county response; the figures are in county_brief.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
risk_signals5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
search_companies5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
sector_stats5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
source_metadata4 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
- Changed
watch_companies5 fields changed- added
Output schema / properties / omitted_sectionsAdded 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" +} - added
Output schema / properties / source_detailsAdded value: +{ + "description": "Full attribution and acquisition evidence: source_metadata(key).", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / as_ofAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / sources / items / properties / keyAdded value: +{ + "type": [ + "string", + "null" + ] +} - changed
Output schema / requiredPrevious value: -[ - "snapshot_id", - "as_of", - "sources", - "disclaimer" -]New value: +[ + "snapshot_id", + "as_of", + "sources", + "source_details", + "disclaimer" +]
4 tool updates
- Changed
check_counterparty3 fields changed- added
Output schema / properties / tax_debt / properties / first_seenAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / tax_debt / properties / left_censoredAdded 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" +} - added
Output schema / properties / tax_debt / properties / oldest_debt_dateAdded value: +{ + "type": [ + "string", + "null" + ] +}
- Changed
company_procurement2 fields changed- added
Output schema / properties / rows / items / properties / rhr_referenceAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / rows / items / properties / urlAdded value: +{ + "type": [ + "string", + "null" + ] +}
- Changed
get_company8 fields changed- added
Output schema / properties / as_buyer / properties / procedures / items / properties / rhr_referenceAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / owners_coverageAdded 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" + ] +} - added
Output schema / properties / owners_coverage_noteAdded value: +{ + "description": "Sentence explaining owners_coverage. Omitted when owners_coverage is omitted.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / procurement_wins / properties / award_contextAdded 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" +} - added
Output schema / properties / tax_debt / properties / first_seenAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / tax_debt / properties / left_censoredAdded 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" +} - added
Output schema / properties / tax_debt / properties / oldest_debt_dateAdded value: +{ + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / tax_debt_history / properties / left_censoredAdded 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" +}
- Changed
procurement_notices1 field changed- added
Output schema / properties / notices / items / properties / rhr_referenceAdded value: +{ + "type": [ + "string", + "null" + ] +}
3 tool updates
- Changed
find_companies1 field changed- added
Output schema / properties / excluded_unit_uncertainAdded 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" + ] +}
- Changed
open_calls8 fields changed- added
Output schema / properties / calls / items / properties / call_match / additionalPropertiesAdded value: +true - added
Output schema / properties / calls / items / properties / call_match / descriptionAdded 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." - removed
Output schema / properties / calls / items / properties / call_match / itemsRemoved value: -{ - "additionalProperties": true, - "properties": { - "county": { - "type": [ - "string", - "null" - ] - }, - "emtak2": { - "type": [ - "string", - "null" - ] - }, - "size_band": { - "type": [ - "string", - "null" - ] - } - }, - "type": [ - "object", - "null" - ] -} - added
Output schema / properties / calls / items / properties / call_match / propertiesAdded 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" + ] + } +} - changed
Output schema / properties / calls / items / properties / call_match / typePrevious value: -[ - "array", - "null" -]New value: +[ + "object", + "null" +] - added
Output schema / properties / calls / items / properties / match / properties / reasons / items / properties / sector_scopeAdded value: +{ + "description": "all, listed or unknown. Same scope as the call.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / calls / items / properties / sector_scopeAdded value: +{ + "description": "all when the source opened every sector, listed when it names divisions, unknown when it names none.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / unknown_scope_countAdded 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" + ] +}
- Changed
region_stats1 field changed- added
Output schema / properties / excluded_unit_uncertainAdded 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
estonia-business-register -- Estonia's e-Business Register, published as open data by RIK…
Estonia company checks: status, insolvency, LEI and sanctions from official registers.
13M+ Polish companies (KRS, CEIDG): financials, people, rankings and public registries.
Polish companies from KRS: financial statements, A-E credit rating, insolvency, VAT, owners
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides 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 npmMIT
- FlicenseNot gradedqualityCmaintenanceThe 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.-
- AlicenseAqualityCmaintenanceLook 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.4MIT
- AlicenseNot gradedqualityFmaintenanceEnables querying Estonian legislation from Riigi Teataja, including full-text search across 1,602 statutes and 63,624 provisions, with EU law integration and citation validation.47 npmApache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.