API documentation
Coverage
What Stonewake covers today, stated from the live API and not from a plan. The counts on this page were read from the endpoint named beside them on 21 September 2026, and a later change names its own date. Call the same endpoint with your key and you see the current state for your workspace.
Countries
GET /v1/countrieslists 245 jurisdictions in 9 regions.- 215 of them carry a composite country risk score from 31 October 2026. A country is scored only where its components with data carry at least half of the score's weight, and the country's page lists the components with data. The others are listed without a score. A missing component is never scored as safe.
GET /v1/countries/{iso3}breaks the score down into its components, each with its weight, its raw value and a citation to the dataset edition behind it. A row's points are its risk from 0 to 100 times its weight, divided by the weight of the rows with data in itspart(the country assessments or the list standing), times the weight of its part, divided by the weight of the parts with data.gapson itsrisknames each component the score is computed without, with itsreasonand itssentences. Itssourcesname the datasets that feed that country.
Reference datasets
GET /v1/reference/datasets lists the 12 reference datasets behind country risk, sanctions standing, bank ratios and the sector registers, as read on 31 October 2026. Each row carries its dataset_id, publisher, licence, attribution, refresh rhythm, the edition served and the time it was last verified. The edition a dataset serves changes with each refresh, so read it there as active_edition, and this page names none.
| Dataset | ID | Publisher | Refresh |
|---|---|---|---|
| Corruption Perceptions Index | ti_cpi | Transparency International | annual |
| Worldwide Governance Indicators | wb_wgi | World Bank | annual |
| OECD country risk classification | oecd_cre | OECD | on change |
| FATF high risk jurisdictions (call for action) | fatf_call_for_action | Financial Action Task Force | each plenary |
| FATF jurisdictions under increased monitoring | fatf_increased_monitoring | Financial Action Task Force | each plenary |
| EU list of high risk third countries | eu_aml_high_risk | European Commission | on change |
| Country sanctions regimes (curated) | country_sanctions | OFAC, EU, UN Security Council | weekly |
| EBA EU wide transparency exercise | eba_transparency | European Banking Authority | annual |
| FDIC call report data (BankFind Suite financials) | fdic_call_report | Federal Deposit Insurance Corporation | quarterly |
| UK bank Pillar 3 disclosures (UK KM1 and UK CR1) | uk_pillar3 | The disclosing banks (PRA Rulebook, Disclosure (CRR) Part) | semiannual |
| EIA 860M monthly generator inventory | us_eia860m | U.S. Energy Information Administration | monthly |
| UK Renewable Energy Planning Database | uk_repd | Department for Energy Security and Net Zero | quarterly |
A dataset whose refresh is overdue is marked stale: true in the response and is not hidden.
Since 12 October 2026 the list also carries the FDIC call report data (Federal Deposit Insurance Corporation, quarterly), its edition the newest quarter end the FDIC publishes. Since 15 October 2026 it also carries the UK banks' Pillar 3 disclosures (semiannual), its edition cut from each bank's newest report.
A bank borrower in credit monitoring is scored on its own CET1 ratio, its non performing or noncurrent loan ratio and its leverage ratio, read from the first official source that holds the bank. The EBA transparency exercise answers for EU and EEA banks by their LEI. The FDIC call report data answers for US banks by their LEI or their Federal Reserve RSSD, for the newest quarter the FDIC publishes. It holds the banks the FDIC insures and also some noninsured trust companies and uninsured US branches of foreign banks, and a US bank holding company such as JPMorgan Chase & Co. is not in it. The note of each US figure names the bank that filed it, as the FDIC states its name. The UK banks' own Pillar 3 disclosures answer by their LEI for six UK banking groups, namely HSBC Holdings, Barclays, NatWest Group, Standard Chartered, Santander UK Group Holdings and Nationwide Building Society, and for six of their operating banks, namely Santander UK plc, HSBC UK Bank plc, HSBC Bank plc, Barclays Bank UK PLC, Barclays Bank PLC and National Westminster Bank, each from its own figures in its own report or its group's, the CET1, leverage, liquidity coverage and net stable funding ratios as the bank published them in template UK KM1, each as the bank printed it, and the non performing loan ratio computed from the gross loan amounts the bank published in template UK CR1, and the note of each UK figure names the bank that filed it, its reference date and the document it was read from. A UK figure is scored until nine months after its own reference date, or until its edition is older than the semiannual cadence allows, whichever comes first, and then reads as a gap until a newer report is read. National Westminster Bank publishes no liquidity figures of its own, so its liquidity row is a gap. Barclays Bank PLC prints its leverage ratio for its sub consolidated group, where the PRA sets its leverage requirement, and its CET1 ratio solo consolidated, so its leverage figure is the sub consolidated group's and its note names that basis. Every other UK bank reads each row as a gap, and Lloyds Banking Group and Lloyds Bank plc, whose website we cannot read, Standard Chartered Bank, which publishes no Pillar 3 key metrics with a CET1 ratio of its own, and any of the twelve whose newest report could not be read, each says why in plain words. If a bank moves its report, its last verified figures stay until their nine months end, and their note says so. The sources do not define the ratios alike, so every figure names its definition beside it. The US figure for problem loans is the noncurrent loan ratio, loans 90 days or more past due plus loans in nonaccrual status, which is narrower than a non performing loan ratio and is never called one, and the US leverage ratio measures exposure differently from the EBA's. Each of those is banded on thresholds set for its own definition. A bank no source holds reads each row as a gap, never as healthy, and so does the liquidity row of every bank except the UK banks whose Pillar 3 key metrics print them, because only those disclosures publish liquidity figures, the liquidity coverage ratio as a 12 month average and the net stable funding ratio as a four quarter average.
Research sources
GET /v1/monitoring/cataloglists the recommended research catalog of your desk. For an export finance desk it holds 15 entries, all of them export credit agencies, each with a daily check rhythm.- A workspace adds the entries it wants as research targets on the Monitoring page, and the catalog marks each added entry with the
addedfield.GET /v1/monitoring/targetslists those targets, the same list the Monitoring page shows, each withactiveand its schedule inscheduled_cadence_seconds. Only an active target is checked, on that schedule. GET /v1/monitoring/sourceslists the pages and feeds research reads directly, such as an agency's newsroom, each withactive. Only an active source is read, everycadence_seconds, and a source that is switched off stays listed with the time it was last checked. Pausing or resuming a research target leaves its sources as they are.- An entry that is not added is catalogued, not researched.
News, screenings and social media
- News monitoring reads the worldwide news that GDELT publishes every 15 minutes, in English and machine translated from about 65 languages, and keeps the articles that name a company or a person a workspace monitors, see News monitoring.
- An adverse media screening searches the web in English, and a screening of a natural person searches in English and German, so press in another language is found only where such a search surfaces it.
- Social media is not read today. No social source is switched on, so no company and no person has a social reading, see Social monitoring.
Company registers
- Company identity, ownership, charges and register events come from official registers, and every relationship cites the record behind it.
- Register connections go live country by country, each after it has been verified against the register itself. Most of our register catalog is catalogued and not live yet, so the set of live registers is much smaller than the set of countries above.
- German companies appear in the graph where a public dataset names them, with their register number. A live lookup against the German commercial register is not available over the API today.
- We ask the German commercial register (handelsregister.de) about one company at a time and in two cases only, when a person looks the company up or opens it in the dashboard, and when a change signal arrives for a company a workspace holds. Once the portal's list of register announcements (Registerbekanntmachungen) is switched on as a source, we also read it once a day, compare it with the register numbers of the companies the workspaces hold, keep only those announcements and drop the rest in the same run, open the text of a kept announcement only, and store no person's name. There are four signals, two from GLEIF and two from those announcements, and each counts for every workspace that holds the company. One is a change to a fact about the company in its GLEIF record (its name, legal form, status, jurisdiction, country, category, successors or other names), which we notice only for companies a workspace watches. Another is the company's record leaving GLEIF's published copy, which we notice for every company. The last two are a register court's announcement about the company in that list, a strike off or a merger, division or change of legal form as one, new documents or another notice as the other, and they start only once the daily list is switched on. A German insolvency notice starts no recheck today. The yearly renewal of an LEI is no signal, and a signal dated more than 30 days back does not count. We never recheck a portfolio on a timetable, because the register portal's terms of use forbid systematic retrievals that build or update a parallel register, and we never recheck a company no workspace holds. Signals are rechecked one at a time, the oldest first, and each is tried once, so a change can take some hours to show. A recheck compares the company facts of the new register extract with the newest ones the workspace has, its own earlier recheck or the shared extract a person's lookup stored, and records each change it finds, a liquidation, a deletion, a seat move, a change of capital, of the number of representatives in each role, of the legal form or of the name, and a new register entry by its register coordinates, each with the register court, the register number and both snapshots. It reads no status from the text of a register entry and keeps no person's name. A recheck is stored only for the workspaces it served, dated to the start of its hour, and it never changes the register extract that people's lookups share. Other workspaces can neither read it nor tell when it happened. What every workspace can read is the shared extract and its retrieval date, which only people's lookups change. A register watch (Watch register changes in the dashboard,
GET /v1/watches) checks a company's register records again once a week, or daily, at the sources that allow it, such as GLEIF, and never asks the German commercial register on that schedule. For a watched German company the commercial register is asked again only in the two cases above, when a person opens the company and, while a workspace holds it, after a change signal, and the watch'sregister_unscheduledsays so. - German register announcements come from the common register portal's list of Registerbekanntmachungen, which shows every register court's announcements under section 10 of the Commercial Code for eight weeks. Once the daily list is switched on we read it once a day and keep an announcement only when its register court and number belong to a company a workspace holds as an active exposure. Every other announcement is dropped in the same run and never stored. A kept announcement shows in
GET /v1/nodes/{node_id}/eventswith the register's own category as its step. A Löschungsankündigung, the court's notice that it intends to delete the company, its firm or an entry of the register (sections 393 to 395 FamFG), reads asstatus_changedwith the wording strike off announced by the register court and sets the register status signal red. Where its text states section 395, the deletion of an inadmissible entry, it reads instead asstatus_changedwith the wording the register court announced the deletion of an entry and sets nothing red, provided we read that text on the day we first keep the announcement. When we cannot read it that day, the announcement reads from the list alone as a strike off and sets the signal red, and a text read on a later day completes the record but does not take back the red. A notice under the Umwandlungsgesetz reads asstatus_changedwith the wording merger, division or change of legal form announced. New documents and other notices read asnew_filing. We open the text of a kept announcement only, at most three a day with strike off notices first, and keep from it the objection period the court set, the period in which creditors may demand security (six months under section 22 UmwG) and the days they end, never a name and never the text. Every request to the portal counts against its limit of 60 an hour together with every other request to the register. The citation links the portal's announcement list, and the record names the court, the register number, the category and the day. - German insolvency notices come from the insolvency portal of the German federal states (insolvenzbekanntmachungen.de). Its operator allows automated queries only as single lookups about a concrete company and never as a general overview of new proceedings. We therefore look each German company up on its own, by its register court and number, and only a company a person of a workspace asked about, meaning one the workspace holds as an active exposure, one a person of the workspace opened in the dashboard within the last week, or one the workspace put into a screening or a dossier within the last 180 days. The lookups run only for the workspaces where they are switched on, so in any other workspace
insolvency_lookupreadsnot_looked_up. A watch or a deal starts no lookup on its own, and no company is looked up because it sits near another one in the graph. There is no nationwide daily coverage of German insolvencies. A company a person opens in the dashboard is looked up within minutes and readspendinguntil then. Every other such company is due once a week, daily while it has a notice on record or a daily watch of its workspace, and sooner when a person of its workspace puts it into a screening or a dossier. Every workspace looks its companies up on its own schedule and with its own reads, within the portal's hourly request limit, so when many companies are due some are looked up in later hours. Each workspace sees only its own lookups, so when two workspaces hold or ask about the same company neither can tell from its lookups that the other does.GET /v1/nodes/{node_id}/eventsstates ininsolvency_lookupwhen your workspace last looked the company up. A lookup a person started by opening the company shows there within minutes, and any other lookup within the hour of the run that made it. The notices themselves are shared, so a notice one workspace's lookup stores, or finds no longer listed, shows for every workspace from that moment. For proceedings opened before 26 June 2018 the portal lists a notice to such a lookup only in the two weeks after its publication. The citations link the portal's start page, the only link its operator allows, and name the court, the case number and the publication day. - Emissions exposure of German installations comes from the public daily extracts of the EU Emissions Trading System's Union Registry, published by the European Commission under CC BY 4.0. This source is switched on and read every day. Each installation on the German registry or held by a German operator carries its permit, its activity, its verified emissions, its free allocation and the allowances surrendered per year, and a year whose surrender deadline has passed with fewer allowances surrendered than the year required shows as a surrender gap. A year requires one allowance per verified tonne, a shipping company 40 percent of its 2024 and 70 percent of its 2025 emissions under the EU phase in, and an installation excluded for that year none. An installation joins a company only through the LEI or the register number with its court that the extract states for the operator, never by name. An operator not shown to be an organisation is not kept, and no person's name is stored. Our copy is filtered and the surrender gap is computed by us, which each record states.
- German public procurement notices and contract awards come from the day exports of the Bekanntmachungsservice of the federal government and the Länder (oeffentlichevergabe.de), published under CC0 1.0, the notices below the EU thresholds that TED never carries included. This source is catalogued and not yet switched on. Once it is, we read each publication day once a day, its notices feed your tender profiles beside TED, and a contract award is matched to the company that won it only through a VAT number, a register number with its register court, or the exact registered name together with the postcode of the registered seat, never through a name alone. A matched award shows in
GET /v1/nodes/{node_id}/eventsas Public contract won. - Swiss register notices and bankruptcy notices come from the Swiss Official Gazette of Commerce (SOGC), published by SECO. Our copy of them is not an official publication. SECO states that the only legally valid publication is the individual notice in PDF format with a qualified electronic signature, and that the federal or cantonal body responsible for a publication is responsible for the content of the notice. SECO also states that even over its API the complete and correct transmission of data cannot be guaranteed in every case.
- Czech companies come from the open data of the Czech public register (veřejný rejstřík) that the Ministry of Justice publishes at dataor.justice.cz, every legal form and register court from 2005, with the current year's files read again each day. Each company carries its IČO, its share capital, its shareholders with their stakes and its statutory body, and every value cites the register file it was read from. An owner of 25 percent or more of a company whose stakes add up to 100 percent is marked as a beneficial owner candidate, and where the stakes do not add up they are shown as the register states them, without percentages. This source is catalogued and not yet switched on.
GET /v1/nodes/{node_id}/financingstates its coverage per source, so what was not searched is stated instead of left silent.- Ask us which registers are live for your markets before you rely on one. Write to contact@stonewake.ai.
Public funding and State aid
GET /v1/nodes/{node_id}/public-fundingand the MCP toolcompany_public_fundingread the public grants and State aid bound to one company, each award with its citation.- State aid awards come from the European Commission's State aid Transparency Award Module (TAM), where the Member States publish their individual State aid awards. We read the awards Germany publishes there, from the module's public search and from the full export of the module that the Commission's Directorate General for Competition sent us on 12 October 2026, reused under the Commission's licence CC BY 4.0. Both carry the same TAM reference, so an award is listed once. The State aid source answers once it is switched on, and until then the endpoint lists no State aid.
- Read the figures with the Commission's own caveats in mind. A Member State publishes an individual award only above the threshold that the legal basis of its measure sets, so TAM holds the larger awards and not all State aid granted. De minimis aid is not in TAM, and neither are general measures that are not State aid. The Member States report the data and answer for their completeness and correctness, and a report can come late or in part. As a rule an award is due for publication within six months of the grant, and tax aid within a year of the date the tax return is due.
- A figure is the aid granted and not the aid paid out. For a loan or a guarantee it is the gross grant equivalent, the advantage it gives, except under the temporary crisis frameworks, where it may be the loan or guarantee itself. Tax aid is reported as a range, and we keep it as a range.
- Poland, Romania, Spain and Slovenia publish their awards in national registers and not in TAM. We do not read those registers today.
- An award is matched to a company only through what it states, a German VAT number, a register number with its register court or an LEI, and last a register number stated without its court together with the exact registered name and legal form, when exactly one company holds both. A name alone never matches. An award to a natural person or a sole trader is not matched to a company,
/v1and the MCP server do not serve it, and we store none from the full export.
Sanctions lists
- Six official consolidated sanctions lists are switched on, the EU Financial Sanctions Files, the UK Sanctions List and the two OFAC lists (SDN and non SDN) since 30 September 2026, the Swiss sanctions list of SECO, the State Secretariat for Economic Affairs, since 5 October 2026, and the UN Security Council Consolidated List since 13 October 2026. Our software is set to read each once a day, and
GET /v1/sanctions/person-candidatesshows for each list when it was last checked. We compare organizations and persons with no other sanctions list. - A designation binds to a monitored company through an identifier the list itself states, such as an LEI, the first eight characters of a BIC, or a register number with its country, and through nothing else. A shared name alone is shown for review and never counts as a match. A company is checked once your team adds the sanctions list check to its configuration.
- In the workspaces where person data is switched on, the persons that public registers link to the companies in your book are compared by name and by the list's own aliases with the natural persons on the same six lists. The result is a review candidate and never a match, as the EU AI Act page states.
- A list that is switched off or was not checked within the last 48 hours reads Not checked and never clear. The person review queue names each list with its edition and the time of its last check.
- The Swiss list is read from SECO's own file. Each entry names the Swiss ordinance and the article or annex it rests on, and an entry that SECO has delisted is left out. SECO's list names the directly sanctioned parties and says nothing about who owns or controls a company. Few of its entries on organizations state an identifier. Most of them therefore appear as a name match for review. The Swiss sanctions list of SECO has been switched on since 5 October 2026.
- The UN list is read from the Security Council's own file. Each entry names the sanctions regime it rests on, and an entry the Security Council has removed from its list is left out. The EU and UK lists carry many of the same designations through their own acts, and each list is shown as its own source with its own edition and the time of its last check. Few of the UN list's entries on organizations state an identifier. Most of these entries can therefore appear only as a name match for review. The UN Security Council Consolidated List has been switched on since 13 October 2026.
- We hold no list of politically exposed persons.
- These checks sit beside the sanctions screening in your own systems and do not replace it.
How this page stays true
The figures above are observations with a date, not promises. When the live API and this page disagree, the API is right. See also Data handling and the API reference.