API documentation

Changelog

Customer visible changes to the API, the MCP server and this documentation since August 2026, newest first. Every entry describes a change that went live when it was listed, and a later entry may change it again. Where an entry covers groundwork for a feature that is not live, it says so. Work in progress is not listed here.

November 2026

  • 8 November. A company's jurisdiction reads in words, never as the register's code. The company page of the dashboard and the company profile PDF name it in English or German, for example England and Wales or England und Wales where Companies House states england-wales, and the titles of the MCP tools search and fetch name it in English. /v1/search and /v1/nodes carry the English words in the new jurisdiction_label, and jurisdiction keeps the code, such as GB-EAW or DE-BY. A code no table names reads as its country, else as Other jurisdiction. See the API reference.
  • 7 November. A search that carries a person's name, and any other search whose words Stonewake cannot all place, now goes to every search provider Stonewake uses, Brave and Serper included, unless the workspace has its own search providers for such searches.
  • 6 November. German GmbH shareholder lists are read when they are scanned, by text recognition, and when they are filed as a register folder of several lists, and a list is shown only when its shares add up exactly to the share capital. Each shareholder relationship read from a list carries shareholding in GET /v1/nodes/{node_id}/network and in the MCP tool company_network, with every share, the filing date, the register document's sha256, how it was read and whether a holder who is a natural person has 25 percent or more of the capital. See Network.
  • 6 November. A search that carries a person's name, from a person screening, a person dossier, a person research target, a person watch or a search about an organization that names one of its people, goes to the search providers whose terms cover such a search, Tavily, Exa, Firecrawl and Bright Data's Google search, and never to Brave or Serper. The screening and monitoring searches about a company the registers identify, or about a country, keep every search provider Stonewake uses. Any other search whose words Stonewake cannot all place, such as a research question or a deal's parties, goes to the same providers as a search for a person. Firecrawl now searches under our account in every case.
  • 5 November. A new workspace opens its Deal Book with the deals of the shared deal pool for the desk of each of its teams, each deal scored for that team, from the moment the workspace or the team is set up. On /v1/deals and in the MCP tool deal_book these deals carry from_pool true. See Deal Book.
  • 5 November. German insolvency lookups reach companies registered at Jena, Landau in der Pfalz and Ludwigshafen am Rhein, whose courts the portal's search form lists in a spelling or under two entries the lookups could not read before, so such a company no longer reads not_looked_up week after week, and a Jena company is searched under both entries of its court. A German insolvency notice that states one of these courts, or Münster (Westfalen), Limburg a.d. Lahn or Königstein im Taunus, is matched to the company by its register court and number. See Coverage.
  • 5 November. Funds in a Depot A are watched through their constituents. Import funds on the portfolio page under Funds takes a CSV of the constituents a fund's manager reports, with the fund's ISIN or LEI, each constituent's ISIN, LEI or name, its weight in percent and the as of date, and matches every constituent through the GLEIF and ANNA map from ISIN to LEI, ESMA and FCA FIRDS and the stated LEI, never by name. Every matched company joins your team's book and is watched like your other holdings, and an unmatched line is shown as unmatched and never guessed. Each fund shows its constituents weakest first, with the credit status, the top signals and the daily press tone of each company. GET /v1/portfolio/funds, GET /v1/portfolio/funds/{fund_id} and the preview POST /v1/portfolio/funds/import serve the same, and so do the new MCP tools portfolio_funds and portfolio_fund_import_preview. See Fund look through.
  • 4 November. Signals, EDD Dossiers and Reports are switched off in every workspace, on the dashboard, over the API and in MCP. Their pages read Not available in this workspace, a company's page no longer offers Start EDD dossier, GET /v1/runs, GET /v1/runs/{run_id} and GET /v1/developments answer 403, as for a module the workspace does not include, and MCP no longer lists the tool developments, so it serves thirty nine tools, among them the compatibility tools search and fetch. See EDD dossiers, the API reference and MCP.
  • 4 November. Social monitoring, the public posts and the daily tone of the companies, brands, persons and topics you follow, works in every workspace it is switched on for, whichever route the workspace runs on. See Social monitoring.
  • 4 November. A country's page on the dashboard and its Country Brief, in English and German, no longer print a line about the components its score is computed without, and the Brief's summary no longer reads one. gaps on the risk of GET /v1/countries/{iso3} and in the MCP tool country_profile still names each of them with its reason and sentences, as data. A category the OECD table leaves blank still reads the table's own note on the OECD tile.
  • 4 November. Every member can switch alerts by email on for themself in Settings, at the lowest severity they choose and at the address their sign in states, for every alert class their team holds, and off again, which stops every alert mail to them. The mail carries the same events as the other channels, in the workspace's alert language and on its clock, under the same monthly limits, now with an HTML part beside the plain text, and its footer says where to switch it off. The delivery log names every channel in words. See Alerts by email.
  • 4 November. The MCP tool country_profile without iso3 serves the index of every covered country in whole rows within the output cap of 50,000 bytes, its rows now carrying risk_reason. Its output_cap names the countries served and the next_offset to read on from, and the new argument offset serves the index from that country on. See MCP.
  • 4 November. EDD Dossiers, Signals and Reports have their entries in the sidebar for every team whose workspace holds them, a company's page offers Start EDD dossier, which opens the workbench with a request preset to that company, and How it works explains the workbench, which the new EDD dossiers page describes. The deal page, a counterparty's page and the page of a company your team holds offer Download deck, slides built by fixed rules with no model step, and GET /v1/deals/{deal_id}/deck.pptx and GET /v1/nodes/{node_id}/risk-deck.pptx serve the deal committee deck and the credit monitoring deck to a key with the reports scope, each recorded in the audit log. See the API reference.
  • 4 November. The Countries page names the sources behind its rows, the indices and the news behind country risk, the sanctions programs of OFAC, the EU and the UN, the EU high risk list and the FATF lists, and a country without a score reads Not scored with its reason, which GET /v1/countries serves as risk_reason below_coverage_floor. A country page lists every indicator of the page that holds a value for the country, GET /v1/countries/{iso3} serves one the active edition holds no value for as on_record false, and the Countries workbook says No value on record and Not scored instead of leaving a cell blank. The Global Freedom Score reads for every country Freedom in the World scores that has a country page, 197 in all, among them Turkey, the United Kingdom and Germany. See Countries.
  • 4 November. Every company in your book carries its credit review record from the day it joins. The member who added it owns the first review, which falls due one year later, and the record reads Added to the book on the company page, added in GET /v1/portfolio/{exposure_id}/reviews and in the MCP tool exposure_review_history, until an analyst records a review; the reviews due list still counts it as never reviewed. A company that reads No score yet because no annual accounts are on record for it now says so on its page and in the committee pack, and GET /v1/nodes/{node_id}/risk and the MCP tool entity_risk_profile serve no_status_reason as no_accounts. See Credit reviews.
  • 4 November. Monitoring holds the one list of names again, in two tabs, Research and Sentiment. Monitor a name adds a company, brand, person or topic there, and on every row, in both tabs, the Active switch pauses or resumes the name, its research and its posts alike, and the bin removes it. The Research table shows each name's newest research update, and a name opens its own page from the Sentiment tab. The Following tab of the Deal Book lists the deals you follow, and only deals, and the address a name's page had there for a few hours leads to its page in Monitoring. Over the API nothing changes. See Monitoring and Social monitoring.
  • 4 November. Microsoft Entra ID provisions users over SCIM 2.0 at /scim/v2, with a token an administrator issues and revokes under Workspace settings, see Single sign on. A user the directory deactivates or deletes, and a member an administrator removes, loses access at once, sessions, API keys and assistant approvals alike, and a reactivated user signs in again. A workspace can ask for a second factor at password sign in, a six digit code from an authenticator app, set up at the next sign in.
  • 4 November. The audit log export on the dashboard, GET /v1/audit-log.csv and the MCP tool audit_log_export covers up to 3653 days in one window, the whole retention, where it covered 366, and carries the new column team after actor, the team a person, a key or a connector grant acted in, so the named users active in a week count per desk. Every value of a row is an identifier, a count, a code or a time. No row names a screening's subject, the address of a page a screening left out, a research question, an API key's name or the email of a sign in, an email address stays only on the row of a member invited, removed or first signed in through single sign on, actor reads stonewake_operator where a Stonewake operator acted, a research target reads by its id, and every timestamp ends in Z. A screening a dossier starts records who requested it, as screening_requested with origin dossier and the dossier_id. See the API reference and MCP.
  • 4 November. GET /v1/me names the calling key itself in key, with its id, name, role, scopes and expires_at, which is null for a key that does not expire, and key is null for a signed in person. In the dashboard an administrator reads every member of the workspace under Workspace settings, with each member's role, team and last sign in and the seat line, invites a member, changes a role or a team, removes a member after a confirmation and reads what each of the four roles may do. Every row of the API keys card states the key's role, scopes and expiry and fits a phone, and the single sign on card shows in every state. The AI controls page, SharePoint libraries and connected assistants are on for every workspace, and the monthly feedback page states whether the form is on and lists its five questions. An account that signs in with a password it was given is asked to set its own and is no longer offered to keep the given one. See the API reference and API keys.
  • 4 November. Deal evidence on the dashboard, /v1, the MCP tools and the Deal Book workbook. A deal briefing keeps only sentences whose names stand in the text of its sources, besides its numbers, where every source is written in English, and never gives an export credit agency another country's nationality (see EU AI Act). An update reads Verified only when its quotes state every figure and every month it names; otherwise it reads Reported. A value a Verified update writes as stored, such as "exceeding EUR 1bn", reads confirmed with that update cited. An update about another transaction than the one a deal's title names no longer joins that deal. A page is a deal's cited source only when it names the deal's project or one of its parties, and a source from an outlet a public authority names as part of a disinformation network carries reliability and reliability_label, is shown with that warning and never counts toward confirmation (see API reference). Every source is still searched and read.
  • 4 November. The Countries list on the dashboard shows each country's score without a coverage percentage. risk_coverage leaves GET /v1/countries, and coverage leaves the risk of GET /v1/countries/{iso3}, where gaps names each component the score is computed without, with its reason and plain sentences, as data. The MCP tool country_profile reads the same. The Countries workbook drops its data coverage column, and the deal deck its data coverage row. A country the OECD lists without a category reads the note of the OECD table in the table's own words on its page and its public page on stonewake.ai, in the Country Brief and in the workbook, where it read a short marker. Kosovo's Corruption Perceptions Index score, which Transparency International publishes under the code KSV, now reaches Kosovo's page and score.
  • 4 November. The Deal Book on the dashboard, GET /v1/deals, the MCP tool deal_book, the workbook and the country pages order by the financing window first again, Financing open, then Early stage, then Not confirmed, in every team's book and under All teams. Inside each window a real estate deal closest to a sale or a refinancing comes first, then the highest score. From 3 November the real estate rung came before the window, so real estate acquisitions that no source had confirmed stood above every other desk's open financings. On the dashboard the Value cell shows one dollar figure or stays empty with the reason on hover, never the sources' own words, which stay on the deal page under Key facts, and no cell of the list widens its column.
  • 4 November. A UK or US energy deal names its project's record in the UK Renewable Energy Planning Database or the EIA 860M generator inventory, with the register's status, the planned month against the first one reported, the edition and a link to the register's file, on the deal page, in GET /v1/deals/{deal_id} as project_records and in the MCP tool deal_book, and the German federal export credit guarantees' pages of Category A projects and of supported projects are read as Deal Book sources.
  • 4 November. On the dashboard's Deal Book, Institution involved behind Filters lists ECA named and every institution of the registry with the number of deals naming it, several at once, and filters by the eca value GET /v1/deals takes, repeated once per agency. A dollar figure converted from another currency names its rate, the day the rate is published for and its source under Rate and source on the deal page and on hover in the list, and a stage another desk's book carries reads its label.
  • 4 November. Each party of a deal appears once on the dashboard, in GET /v1/deals/{deal_id} and in the MCP tool deal_book, whatever spellings and roles its sources gave it. Each entry of parties carries roles, every role the party plays, and also_named, every other spelling a source reported, and the deal carries unnamed_roles, which lists exporter where no source names an exporter or an EPC contractor. Offtakers and processing partners are listed under the roles offtaker and processing_partner, never as buyers. A bare EXIM is the export import bank its own mention names, so US EXIM beside US words. The eca filter of GET /v1/deals and the dashboard takes several agencies, keeps a deal naming any of them and finds a deal whose party is linked to the agency in any role, so an agency's count on Institutions equals the deals its filter finds. The German federal export credit guarantees read Hermes cover, every spelling a source writes, Euler Hermes among them, still finds them, and KfW IPEX reads as itself. A deal's countries are the ones its own lines name, never another project's line or a party's seat.
  • 4 November. On GET /v1/deals, the MCP tool deal_book, the dashboard and the Deal Book workbook, a Value that states a bound, such as exceeding EUR 1bn or up to $1.1bn, or a range is never a point figure. contract_value_usd is then empty and the new fields contract_value_bound, contract_value_usd_min and contract_value_usd_max carry it, while the value sort, min_value_usd, the value floor and the totals keep the deal by its bound. contract_value_usd is rounded to the last place the source states, so GBP 82m reads 109000000, and contract_value_conversion names that place in rounded_to. One amount whose digits spaces group, such as 527 633,67 EUR, now has a dollar figure, and a Value without one says why in the new field contract_value_usd_unread. The workbook carries the table's Value with its rate beside Reported value and reads in the dashboard's language, through the new locale parameter of the Deal Book workbook.
  • 4 November. A company page states a Companies House company's officers on the first visit, where it showed none until the company profile PDF was made. Officers not read yet are read at once and the page says they are being read and shows them when they arrive, a register that lists none reads so with the day it was checked, and the profile says the same. GET /v1/nodes/{node_id}/company carries officers. The ownership chain of GET /v1/nodes/{node_id}/ownership-chain, the MCP tool ownership_chain, the company page and the company profile list in register_owners every person with significant control the register lists, ceased ones with their dates and an organisation registered outside the United Kingdom by name, and a chain no longer ends on a register statement that the company has none while such an organisation still holds control; it ends on that organisation, named and not traced further. For a Companies House company without filed accounts on record, GET /v1/nodes/{node_id}/financials/coverage, the company page and the profile state what its company record says about its accounts (the date the last accounts were made up to, their type, the next due date, overdue) and when it was read. A dossier's country matrix counts the records of every reader that served the company, such as UKSEF accounts and listed bonds, in the company's own country, a Companies House company's ownership pillar reads from its register of people with significant control, every cell names its readers, and the dashboard shows the Financing pillar too. See Network and the API reference.
  • 4 November. A screening from before list results were stored with it reads its own record on GET /v1/screenings/{screening_id}, in the MCP tool screening_lookup, on the dashboard and in the screening report. official_lists has basis not_stored and as_of the screening's own moment, and every list reads Not checked at the time where the list was switched on after the screening ran, else No result on record from the time. The comparison made when the result is read is the separate block recheck with its own as_of, and the report prints it as an annex. The report prints every category verdict with its decision state, the day it was decided and the member who decided it. Every timestamp of every /v1 answer reads UTC with Z, also those held in a stored list check and an official list's own edition stamp, which keeps its file number. A screening row carries verdicts_awaiting_decision, and the dashboard list marks a verdict no analyst has decided as a draft and an older row with no recorded purpose as Not recorded. A purpose that names employment, recruitment or tenant screening, excluded uses under the Terms, is refused with 422 for every subject, and a row stored with one carries purpose_held and is never run, drafted or refreshed again. On a German dashboard page the screening report downloads in German, its machine drafted texts in English and marked so. See the API reference.
  • 4 November. The deal report and the deal committee pack, on the dashboard and on /v1, print the briefing the deal page shows as their executive summary, or say that the deal has none, and neither drafts a summary when it is downloaded. The ECA cover framework of the pack and the deck prints the Hermes cover rows only for a deal that names Hermes or has a Hermes product entered, names every other agency the deal names with its cover terms to be entered, and cites only the texts its rows use. The German pack writes an amount that reads as one figure with its currency the DIN 5008 way, for example 82 Mio. GBP, any other as its source wrote it, such as S$391.9m, and says so, and writes its labels in German.
  • 4 November. The trust pages say what production does. Security overview, API security and Data handling say that the database is backed up every night to separate storage in Finland, encrypted before it leaves the server, that your bank and an auditor it mandates may audit our processing under clause 10 of the data processing agreement, what the terms of the providers that receive text from us say about training, and that the sign in accounts are kept in the United Kingdom by a provider established outside it. Data handling names the places of processing of the standard route and its fallbacks, the EU AI Act page states the training rule, Terms of use names the governing law and the seat of the provider, API security names the exports the product holds for offboarding, Coverage states the languages of news and screenings and that social media is not read today, the security overview and Book import name the bank figures a workspace may store, the alert pages say how alert mail is arranged, and the revoke example of Keys and access management shows the refusal envelope the route answers.
  • 4 November. A person screening, a person dossier, a person research target and a person watch search the web with every search provider Stonewake uses, the same providers as a search about an organization, so they read more public reporting about the person.
  • 3 November. The Deal Book on the dashboard, GET /v1/deals and the MCP tool deal_book read a deal's own words where its sources left a gap. A deal whose summary says its financing closed or its cover was provided reads Financing set and is held back by default, unless a source quote holds its financing open, and a date its summary states, such as in 2010, ages a deal no event date dates, read as late as the words allow, so the reason reads for example No movement since 2010. score_band never reads Strong fit for a deal whose market or sector is outside your mandate. A Project Finance desk holds back a works lot with no financing need, with the reason Works contract, no financing need. In the default priority order a real estate deal closest to a sale or a refinancing comes first among the deals not held back, and a dashboard page cursor minted before this change is refused with 400, so the dashboard reads the list again from its first page, while /v1 and MCP page by limit and offset and are not affected. See Deal Book.
  • 3 November. Screenings apply the look back window to the date of each matter a finding reports, not to the date of the page, on the dashboard, in the screening report, on GET /v1/screenings/{screening_id} and in the MCP tool screening_lookup. A matter older than window_years is marked beside its finding and decides no verdict of a new screening, and a stored verdict sentence that rests only on such matters is withheld with a dated note. Each finding carries window, matter_year and marks. A finding is also cited under every category whose matter it names, so Bribery no longer reads Nothing found beside a bribery order filed under Litigation, and a category that holds only older matters reads green with the sentence that names them. An organization's green that cites an adjudicated outcome of the subject or of a subsidiary the sources name inside the window stands at amber and names the subsidiary, and a red whose every finding carries no date is capped at amber. A finding whose year stands in no passage or source date is marked and never withheld, a conviction read from a passage that also reports an acquittal says so, near identical findings of one source fold into one, and a public function a person screening finds is marked with the sentence to assess PEP status under the bank's own procedure, since Stonewake holds no PEP list and runs no PEP check. A dossier reuses a complete screening of the same company, purpose and window from the last 24 hours and says so, or says it starts its own. See the API reference.
  • 2 November. contract_value_usd on GET /v1/deals, the MCP tool deal_book and the dashboard converts a Value in nearly every currency, not only those of the ECB reference rates and the official parities, so the value sort, the value filter and the totals count it. The SDR and the African Development Bank's unit of account convert at the SDR's dollar value the IMF published for 29 October 2026, such as 145.5 million SDR or UA 30.10 million, a few more currencies at their official parities, such as the pataca, and most others at the US Treasury Reporting Rates of Exchange of 30 September 2026 or a later amendment of one of them, such as TWD 9.2 billion or UZS 3.8 billion, each with its rate, quotation, date and source in contract_value_conversion, where currency reads XDR for the SDR. A Value written with FCFA or CFAF, TL, KSh, USh, TSh, Kz or QR, or with a currency's name such as kwanzas, naira, quetzales, Sri Lankan rupees or New Taiwan dollars, converts too, while a name several currencies share, such as shillings or dinars without the country, converts nothing. See Deal Book.
  • 2 November. On /v1, in the MCP tools that read a company's credit monitoring and on the dashboard, the computed annual accounts overdue signal no longer names a date that has passed as the date the next accounts are due. Once the date the company's own filing rule sets has passed, the value states it as passed with its source, and says that no newer accounts are on record yet and that filing indexes can list accounts late, for example "latest annual accounts to 2024-12-31; legal date 2026-04-30 passed, computed under section 325 (4) HGB; no newer accounts on record yet, filing indexes can lag". When the signal reads overdue is unchanged.
  • 2 November. The Errors and rate limits page lists validation_failed (422), internal_error (500) and service_unavailable (503), each with its one message, beside the other codes /v1 serves. On GET /v1/search and in the MCP tool search_companies, limit counts companies, so persons listed after them no longer mark a page as truncated when nothing was held back. The eca filter of GET /v1/deals also finds the spelling the source reported for an agency, unlike q. GET /portfolio/book-events, the dashboard's history of companies leaving the book and coming back, answers the list envelope with its exact total and takes offset, and the files of the API reference page refuse a repeated or unknown query parameter with 422 like every route. See API reference.
  • 1 November. When Stonewake merges two deals that report one transaction, your team's follow, dismissal and next step on the deal merged away now carry to the deal that stays, for a deal of your own and for a deal of the shared deal pool alike. Following comes before a dismissal and a dismissal before an untriaged deal, a dismissal as a duplicate or as historical carries nothing, and the deal that stays keeps its own next step. GET /v1/deals/{deal_id} and the MCP tool deal_book no longer list a reopen_suggested event on a deal merged into another one or dismissed by Stonewake in the pool, since neither can be reopened. See the Deal Book and the API reference.
  • 1 November. On GET /v1/nodes/{node_id}/financing and in the MCP tool company_financing, the debt position takes the short term debt of the filed balance sheet beside the long term debt, and where the newest accounts state only one of them, the debt_position coverage entry names the other. Listed instruments that FIRDS states as no longer admitted to trading are counted in the new terminated_excluded and served with include_matured=true, each with terminated_on, so a company whose bonds have all closed no longer reads as having no listed debt, and an instrument the two FIRDS registers place under two different issuers is listed as closed for neither. GET /v1/nodes/{node_id}/financials and the MCP tool company_financials serve total_equity and non_controlling_interests where the filing states them, so total assets equal total liabilities plus total equity, and the new note says where equity is the parent owners' share and where a balance sheet does not add up. A total liabilities figure the German and Swiss annual report readers calculate reads derived true. The equity ratio, the negative equity signal and the Altman Z'' score read total equity. The top signals of a portfolio row lead with the signals whose red cap sets its red status, a signal's value_display spells its window out, in the last 36 months where it read 36m window, as does the screening row's gap note, and the sector context names the Kreis the regional context places the company in. See the API reference.
  • 1 November. The FATF lists follow the FATF's statements of 30 October 2026. Bulgaria, Côte d'Ivoire, the Democratic Republic of the Congo and Monaco are no longer under increased monitoring, so their country risk scores lose the FATF list points with the next recompute, and the call for action still names the DPRK, Iran and Myanmar. The country page and the Country Brief list only the score's components with data, and the coverage line names the ones without data in one sentence. In a company's credit monitoring the two OECD country risk checks no longer read a high income OECD or euro area country, or a euro micro state, as green. The OECD gives these countries no category, so the checks do not apply there, as the country score reads no category for them.
  • 1 November. On /v1, in the MCP tools that read a company's credit monitoring and on the dashboard, the computed annual accounts overdue signal names the date the company's own filing rule sets. An annual report to the SEC is due 60, 75 or 90 days after the fiscal year end by the filer category the SEC states for the company, and four months after it where the company files the SEC's annual report for foreign private issuers, on the next business day where that day is a weekend or a federal holiday, and the signal reads overdue only after the 15 days the SEC allows a filer that gives notice of a late filing. UK accounts are due nine months after the accounting reference date Companies House states for a private company or an LLP, and six months after it for a public company. Where the rule is not known, the signal names no date. Each date the signal names says where it comes from, the rule it is computed under or, for a UK company, the date Companies House states in a record Stonewake holds, with the day that record was retrieved, which the signal names before the date computed from the accounting reference date. Where Companies House shows that a company changed its accounting reference date after the record Stonewake holds, the signal names no date, because accounts for a period shortened by such a change are due no earlier than three months after the notice of the change. A company whose newest annual accounts are its annual financial report in the European single electronic format, or the report a German listed parent publishes, is due four months after its financial year end under Article 4(1) of the Transparency Directive, section 325 (4) of the German Commercial Code for a German company and the FCA's rule DTR 4.1.3R in the United Kingdom, where the company is registered in the European Economic Area or the United Kingdom. The signal reads such accounts overdue only a year and 30 days after the next financial year end, as for other accounts under IFRS or the German Commercial Code, because the filing indexes Stonewake reads list many of these reports months after the four months. The SEC's filer category is stored and served in plain words, for example Non-accelerated filer; Smaller reporting company. Figures that Companies House accounts state over a period other than about a year, such as a first period of 18 months, are no longer read as the year's turnover, profit or average number of employees, and the figures stored that way before are removed. On GET /v1/nodes/{node_id}/financing and in the MCP tool company_financing, a debt position whose latest figure is from more than 18 months before the newest figure of the whole position carries stale_line, and the dashboard marks the figure as older. The company profile PDF and the committee pack word GLEIF's consolidation relationships as the dashboard does, one row per company, and the profile states the dashboard's count of register records.
  • 1 November. A person screening, a person dossier, a person research target and a person watch take the purpose cdd or edd alone, the customer due diligence and enhanced due diligence the Terms allow for a natural person. A person request with other is refused with 422 whatever its purpose_note, and other with its note stays the purpose of an organization or a country. A person research target or a person watch recorded earlier with another purpose is no longer researched, followed, alerted on or refreshed from its registers, and a person screening or dossier recorded with one is neither run again nor has its summary drafted again.
  • 1 November. The status without a score has one name everywhere. The credit monitoring pack and deck call it No score yet, as the dashboard and the credit reviews page do, where they printed Insufficient data; it is the status insufficient on /v1 and over MCP. Not yet assessed is the status not_assessed, a company whose first assessment has not run, and the Portfolio page tells the two apart under its tiles. The MCP tool portfolio_overview and the /v1/portfolio schema name both words beside their codes.
  • 1 November. GET /v1/nodes/{node_id}/company and the MCP tool company_overview with locale set to de answer the risk block in German too, where only the identity was German. Each signal's label, value_display and note read the German the German dashboard shows, for example EBIT zu Zinsaufwand and Verzinsliche Nettoverschuldung zu EBITDA, a signal without data carries in note why it has none, as the German dashboard says it, and the coverage_line reads German too. Codes stay as served in every language. See the API reference and MCP.
  • 1 November. GET /v1/deals/{deal_id} carries tracking_scheduled_seconds, how often research checks a followed deal in your workspace, which can be longer than daily where your workspace runs a schedule of its own, and null where following adds no research check of its own. The dashboard states that schedule on Follow, beside a country under research and on the Monitoring page, and a schedule of 30 days or more reads Checked once in this workspace, with no next check named while it lies ahead. See the API reference.
  • 1 November. One company is one record. A company's SEC filer record and its LEI or register record are joined into one company by a rule that runs by itself, on an exact identifier chain alone, the company's ISIN, the CUSIP it spells, the ticker the SEC's fails to deliver files state for that CUSIP and the CIK the SEC lists for the ticker, and only where the SEC's name for the company agrees with its register name. Any other case goes to Stonewake's operators. A book never holds one company twice. Adding a company the book holds under its other record answers 409 naming the company the book holds, the book import reads such a row as in_book naming it, and a row that names an earlier line's company under its other record reads duplicate. When two records of a company held in one book are joined, the second entry leaves the book with the reason Same company as another entry, and the alerts, follows and register checks of the joined record follow the company. GET /v1/nodes/{node_id} and GET /v1/nodes/{node_id}/events carry merged_into, the id of the node a joined record now belongs to, and GET /v1/nodes/{node_id}/financials/coverage names in other_node_id the node that holds a company's filed accounts when another one does. The book import takes every identifier type a company answer prints, among them the registration authority types such as ra_ra000406 of the Israeli Registrar of Companies and the ISIN, and answers invalid naming the format for a value that fails its type's own check, such as an LEI whose check digits do not hold; no identifier failing its scheme's check is stored. A late filing notice for a foreign private issuer's annual report is read like one for a US company's annual report, the SEC record of a company states the country the SEC states for its incorporation, and a Federal Reserve record of a foreign bank's place in the US banking structure no longer reads as the company closed. See Book import and the API reference.

October 2026

  • 31 October. A workspace's dismissal of a deal from the shared deal pool now earns the one reopen suggestion new evidence brings, as a deal of its own always did, and a deal the pool's research finds reaches every workspace that reads the pool. GET /v1/deals and GET /v1/deals/{deal_id} carry from_pool and dismissed_in_pool. In the dashboard Dismiss says what it stops for each kind of deal, a deal merged into another one or dismissed by Stonewake in the pool offers no reopen and says why, and Update research researches a deal of your own once and changes no schedule. See the Deal Book and the API reference.
  • 31 October. A natural person is never rated, on any surface. A person screening is served as the official lists comparison and its grounded findings with the sources they cite, and nothing else, in the dashboard, the screening report, GET /v1/screenings, GET /v1/screenings/{screening_id} and the MCP tool screening_lookup alike. It carries no verdict, no assessment by category, no drafted summary and no score, its sources list only the pages its findings cite, and the dashboard lists it as Findings only. A screening of a person drafts no verdict and no summary, and the review of a category and the regeneration of a summary of a person screening are refused with 422. Verdicts and summaries stored with person screenings run earlier stay in your records and are served nowhere, the audit log export included. The subject filter of GET /v1/screenings and of screening_lookup finds one subject whatever the accents, case or spacing its name was written with. See the API reference and the EU AI Act page.
  • 31 October. The country risk score on GET /v1/countries, GET /v1/countries/{iso3}, the MCP tool country_profile, the dashboard, the Country Brief and the Countries workbook reads the OECD country risk category of the table valid as of 16 October 2026 in its ratings row, where it read agency ratings found in news, some of which rated a company or an insurer rather than the country. A country the OECD does not classify has no category there. A component without data passes its weight to the components with data in its own part, the country assessments or the list standing, so the list standing counts 30 of the 100 points for every country, and a country is scored only where its components with data carry at least half of the weight. risk_coverage on the index, coverage on a country's risk and part on each breakdown row are new, and the workbook's Countries sheet ends with the data coverage. Scores move with the recompute that follows the release, most of them up a few points, and the British Virgin Islands, whose only data is their list standing, are listed without a score.
  • 31 October. Every API route answers a value it cannot hold with 422 or 404 instead of an empty or wider page. A query parameter the route does not read is refused on the dashboard routes too, each one named, and a parameter that takes one value, sent twice, answers 422 naming it, so sort=nope&sort=score no longer passes. country_code on GET /v1/deals and iso3 on GET /v1/screenings take the ISO 3166-1 alpha-3 codes and XKX in upper case, so ZZZ, CL or deu answers 422, and every closed value is read in the letter case the OpenAPI document lists. edge_types on GET /v1/nodes/{node_id}/network, connector_id on GET /v1/nodes/{node_id}/records and group on GET /v1/nodes/{node_id}/events take only the edge types, the registers and the groups that exist, and an unknown or empty one answers 422 naming it. An empty or malformed team answers 422. A number that is not finite, such as 1e400, answers 422, in a query or a JSON body, and since on GET /v1/portfolio/transitions needs a UTC offset. GET /v1/tenders/deals/{deal_id} answers 404 for a deal id that names no deal you read, and profile_id on GET /v1/tenders/matches answers 404 for a profile that is not yours. GET /v1/entities/{node_id}/risk, deprecated, is retired and answers 404 for every id, because it read a graph node id where the entities routes read entity ids; read GET /v1/nodes/{node_id}/risk. A tender upload mapping that cannot be read answers its 422 at mapping, stating what it lacks, where it named content_base64, and a refused portal names the accepted ones. The MCP tools refuse the same values before a request leaves, their schemas list the edge types, registers and country codes, and a 422 reaches a tool with the route's own reason where it states one in fixed text. See Errors and the API reference.
  • 31 October. Every list on the API states how many rows it holds and reaches each one. The dashboard's lists, such as screenings, portfolio transitions, runs, developments, dossiers, monitoring targets and the alert feed, answer the envelope /v1 uses, items, limit, offset and total, and take offset, so no list stops at a hundred or five hundred rows. GET /v1/tenders/deals/{deal_id} takes limit and offset like every list, where it cut a deal's matches at 200. On the Deal Book and the portfolio a page reached by cursor states its offset and total, and next_cursor is null only on the last page. Every refusal of every route carries error with a stable code, a 422 with validation_failed and a 500 with internal_error included, and the dashboard routes keep their detail beside it. The audit log CSV writes timestamps in UTC with Z, and an official list's edition reads the same form when it states a time. A field name has one type on every route, so pct_value, entity_class_detail and value_number come beside pct, the object entity_class of the risk route and value_numeric, which are deprecated. A sole trader's portfolio row carries no entity_class. A cited source's snippet is the passage that backs the claim, the same on /v1 and in the dashboard. GET /v1/search states truncated when its answer fills limit and more hits may exist.
  • 31 October. Register values reach every surface whole and in one vocabulary. company_status on /v1/search, /v1/nodes, the network and the MCP tools is one code of a closed list (for example active, active_proposal_to_strike_off, in_liquidation, unknown), with company_status_label in English words and company_status_source, the register's own words, never cut, where it carried each register's spelling and a Companies House status cut at 24 characters, such as Live but Receiver Manage. A node's label is never a name GLEIF marks as previous, so Mizrahi Tefahot Bank reads MIZRAHI TEFAHOT BANK LTD, and the import preview and the ownership chain's missing links name a company as search does. ELF 63KS reads Unternehmergesellschaft (haftungsbeschränkt). A beneficial owner the registers state is beneficial_owner_of on the network, never shareholder_of, and every edge carries role_code and role_label beside the register's role. A Companies House overseas entity or overseas company carries its home country in country_iso3. GET /v1/nodes/{node_id}/company lists a German register entry the company holds as register court and number, and with locale de reads British company types, SIC codes and each locator in German. A FIRDS citation carries locator, its ISIN and register, and an absolute deep_link. Collateral sites serve status as a code with status_label and status_source, and the sector context reads its labels in the locale asked for with the table's German in *_source. See the API reference.
  • 31 October. contract_value_usd on GET /v1/deals and the MCP tool deal_book follows one documented rule. A range, such as £2m to £100m or between EUR 50 million and EUR 150 million, and a Value of several amounts carry no dollar figure, where they carried their first amount before. Other currencies convert at the ECB reference rates of 29 October 2026, so pounds read about 1.33 dollars where they read 1.10, and Australian, Canadian, Singapore and Hong Kong dollars no longer read as US dollars. A dollar figure the source states beside the amount is used as stated. GET /v1/deals refuses an unknown stage, sector, status, window or region and a country_code that is no three letter code with 422 instead of an empty book, the MCP tool deal_book refuses them before a request leaves, and both take team. Every /v1 endpoint refuses a query parameter it does not read with 422 naming it. Every /v1 timestamp now reads UTC with Z, where some carried the Berlin offset, so a day a source dated never shifts. The deal detail's briefing no longer turns null when timeline_limit is small, and a 422 the API answers reaches an MCP tool as invalid_request naming every refused parameter or field. See Deal Book and Errors.
  • 31 October. On /v1/deals and the MCP tool deal_book, a report that states the day of its event in figures, such as the signing date 20/02/2019 in an export credit agency's disclosure table, dates the deal by that day, so last_event_at and the age rules read it and a deal whose last activity lies more than 12 months back is held back. A date in figures that reads two ways, such as 05/03/2019, dates nothing. A real estate team holds back a deal that is not about property, with the reason Infrastructure, not real estate finance or Company deal, not real estate finance in score_reasons, and no new deal of that kind enters a real estate book. A report of a supplier's own purchase is no longer added to the deal that supplier supplies, so such a deal no longer shows the value or the stage of the supplier's contract.
  • 31 October. On /v1/deals and the MCP tool deal_book, q keeps the deals that hold every word of the text, each anywhere on the row, and a phrase in double quotes as written, where it read the whole text as one phrase. contract_value_usd is read again from the stored value by one conversion rule, so a value in another currency is never keyed as the same number of dollars (AU$259 million with US$168 million beside it keys 168 million). A deal names each country by one name, the name the country filter and the country pages use, and a party name no longer carries a source's language tag. The deal report counts the parties its table lists and names the score parts as the deal page does, and a page date written 06/04/2025 that the page itself writes as 4 June 2025 reads 4 June. The MCP documentation now says how duplicate rows of one project read across teams.
  • 31 October. Company search on GET /v1/search and the MCP tool search_companies finds an ISIN that ESMA or FCA FIRDS states for one issuer, such as a Tel Aviv share ISIN, and names FIRDS in connected_sources. It finds a register number written with the hyphens, dots or slashes its country writes, such as 52-001807-8, and a German register entry with its court first, as imprints write it, such as Amtsgericht München, HRB 177273. It reads &, und, and and + as one spelling, in a name and in a form such as GmbH und Co. KG, and a hyphen between two words as a space. A group's own legal entity comes directly before a subsidiary of it that also matches. A query in another script than Latin, such as Hebrew, finds a company that holds a name in that script or answers no hits, never a near spelling. limit counts companies, and persons follow them. An empty answer no longer waits for a second near spelling search. On GET /v1/deals and the MCP tool deal_book, q keeps the deals that show every word as a whole word, never a part of a word or a spelling the row does not print, and each row says where in q_matched. See API reference and Deal Book.
  • 31 October. On /v1/deals, the MCP tool deal_book and the dashboard, contract_value_usd and the country totals are given to the cent, and a Value in any currency of the ECB reference rates converts where it names the currency by its word or sign, such as 6.9 trillion won. The new contract_value_conversion names how each dollar figure was reached, with the rate, its quotation, its date and its source. A Value is read where the sources state the money backing a deal, such as £129m will back the project, and a row whose summary states an amount it does not show says why in value_note. A deal that names several countries in one phrase lists each, and countries pairs one to one with countries_iso3. An agency named only as EXIM is linked to the agency its source names in full, the African Development Bank is its own registry institution, and an older link of it to the Asian Development Bank is repaired. A generic description such as an international commercial bank is no lender, two legal form spellings of one exporter read once, a stage of ECA cover needs a named agency, an unknown stage reads low confidence, a page stamped with its year alone dates no deal, and a lender a source names is named by the angle and the summary. GET /v1/deals/parties/binding-queue and the MCP tool deal_binding_queue carry pool_unbound and pool_note for the parties of shared pool deals, which Stonewake matches. See Deal Book.
  • 31 October. A pack with locale set to de on GET /v1/deals/{deal_id}/pack.pdf and GET /v1/entities/{entity_id}/pack.pdf prints German throughout, where most sections and the credit monitoring section printed English with German dates, and it carries a German file name, as the German company profile does, where it carried the English pack's name. Every PDF declares its language, de-DE or en-GB, and carries its title, for example Unternehmensprofil · BayWa Aktiengesellschaft, so a screen reader reads the right language and a document library shows the title. A financing position with one earlier period reads earlier_line as 1 earlier period, 31 Dec 2023, where it read 1 earlier periods, 31 Dec 2023 to 31 Dec 2023. Its running footer, the confidential line, the tagline and the page counter on every page, reads German too, a German deck declares its text German, and a UK officer's role or a nature of control reads German in a German profile, pack and deck, as on the German dashboard. See SharePoint.
  • 30 October. GET /v1/monitoring/targets carries scheduled_cadence_seconds, how often research checks the target in your workspace, the interval next_run_at adds to last_run_at. It can differ from cadence_seconds, the cadence set on the target, where your workspace runs a schedule of its own, and the Monitoring page then states the schedule research keeps. The Coverage page no longer says that GET /v1/monitoring/sources lists only what your workspace switched on. It lists every page and feed research reads directly with active, and GET /v1/monitoring/targets lists the research targets the Monitoring page shows. See the API reference.
  • 30 October. A country's deals on GET /v1/countries/{iso3}, the MCP tool country_profile and the dashboard are the rows the Deal Book shows by default, so a financing that is set, a cancelled deal and the other rows the Deal Book holds back are no longer listed or counted as live deals there, nor in deal_count on GET /v1/countries and GET /v1/geography/summary. The new deals_held_back counts them, and deal_book with country_code reads every deal deals_total counts, so the output_cap notice of country_profile no longer names include_hidden. The country detail carries sources, the reference datasets that feed that country with their licence and attribution, instead of every dataset, and each dataset row, there and on GET /v1/reference/datasets, carries state, one of update_being_checked, newer_edition_expected, verified and not_verified. The OECD category before the latest review is served only where it differs from the current one. A delisting event's citation_note names the day it took effect beside the edition, for example No longer listed from 2026-09-18, recorded in edition 2026-10. The Countries page exports the countries workbook in every workspace, and the Country Brief states the verification of each source it uses. Each row of a country's risk breakdown takes its contribution from the normalized risk it shows, rounded half up to one decimal, so normalized × weight divided by the weight of the rows with data gives contribution exactly; every stored score is recomputed once after the update. See Coverage.
  • 29 October. connected_sources on GET /v1/search and the MCP tool search_companies names every register whose companies, or where person data is switched on whose persons, the search reads, whole and never cut, GLEIF among them, and no longer names land value, flood map or statistics services that hold no company. A tender match on GET /v1/tenders/matches and the MCP tool tender_matches carries deadline_passed, true once the notice's tender deadline lies before today on the buyer's calendar, and the Tenders page marks such a match closed. An amount of 1,000 or less on a notice is shown and judged as not stated, because it is never a contract value. The guides no longer say that an id from the other id space answers not_found, because both are whole numbers and such an id can name another record.
  • 29 October. On /v1 and in the MCP tools that read a company's credit monitoring, a signal whose register is connected but whose notices and filings are not read back over the signal's window says so in gap_words and coverage_line ("the register's notices and filings are not yet read in full"), where it read as if the register had not been read for the company, and the computed annual accounts overdue signal says that no annual accounts are on record to compute it from. On /v1/deals and the MCP tool deal_book, an exporter or EPC contractor the deal's own countries leave unmatched is matched to the register company of its own name where the deal's export credit agency names that company's country, and a party described by its leader, such as a group led by a named company, is matched by the leader's name while its reported wording stays as it was.
  • 29 October. On /v1/deals and the MCP tool deal_book, a letter of interest a newer page repeats keeps the day it was first reported, so event_date, last_event_at and the age rules read one date, and a row older than the stale window is held back as documented. A wiki entry, stamped when it was last edited, dates no row. The page carries outside_markets_held, true where a team in scope holds back a row whose market sits outside its mandate. A link that differs only in letter case counts as one source. The evidence sentence of a row the corroboration rule does not corroborate names the test, for example Cited by 3 pages, not corroborated by a primary source or two trade press titles, and the actionability reason credits a buyer or a figure only where a verified quote names the buyer or states the Value, reading no buyer confirmed or no figure confirmed otherwise. The parties of a deal on /v1/deals/{deal_id} and in the MCP deal tools never list an export credit agency as an exporter or EPC contractor, nor a description of several lenders such as Chinese banks as a party.
  • 26 October. A workspace can hold traffic ceilings of its own, agreed with Stonewake, in place of the default rate limit per key and daily quota per workspace, and the RateLimit-Policy of every response to one of its keys states them. Requests without a credential now meet a ceiling per client address in each calendar minute, 60 calls of the MCP server that read no workspace data, such as initialize, tools/list and search_stonewake_docs, and no fewer than 1,200 requests to /openapi.json and /docs. A request over it is refused with 429 and Retry-After, over MCP with the JSON-RPC error code -32029 and retry_after_seconds in error.data. See Errors and rate limits.
  • 25 October. The API under /v1 reads the Authorization header as the MCP server reads it. The scheme Bearer is read in any letter case, and spaces or tabs around the key are ignored, so bearer <key>, BEARER <key> and values with extra spaces or tabs before or after the key, which /v1 answered with 401 while MCP accepted them, now work over the API and over MCP alike. No other character is trimmed, and a key with any other character before, inside or after it is still refused by both. See Authentication.
  • 25 October. A signed in person meets ceilings of their own on every request their session makes in the dashboard and under /v1, at most 2,190 reads and 60 writes in each calendar minute. Under /v1 a request over a ceiling answers 429 with code rate_limited, Retry-After and retry_after_seconds, and one whose minute cannot be counted answers 503 with code quota_unavailable, as for a key. A person's rate_limited refusal now carries the message a key's carries. See Errors and rate limits.
  • 25 October. The MCP server speaks the revision 2026-07-28 of the Model Context Protocol beside the earlier revisions. A client of that revision can open with server/discover, which names the versions served, and every answer carries resultType and the server's identity in _meta, with the cache hints ttlMs and cacheScope on tools/list and server/discover. A request of that revision is checked first, -32602 without its _meta envelope, -32020 when a header disagrees with the body and -32022 for a version this server does not serve, each at HTTP 400, and a method it does not offer answers -32601 at HTTP 404. Clients that open with initialize are answered as before, and initialize now settles on a version that has a handshake. A request of an earlier revision now receives every JSON-RPC error with HTTP 200 except -32700 and -32600, which keep HTTP 400, so -32602 no longer comes with HTTP 400 and -32601 no longer with HTTP 404 there, and the clients of those revisions keep their session. A tool call with an argument its tool does not declare answers -32602 instead of ignoring it, every argument is checked against the bounds its tool declares in every mode of the tool, and an id that is neither a string nor an integer answers -32600. A key that holds a character outside printable ASCII answers -32001 before any request reaches the API, and a string that holds a lone surrogate escape such as \ud800 answers -32602 inside params and -32600 anywhere else. deal_book filters by region and reads a longer timeline with timeline_limit, portfolio_overview pages its transitions with limit and offset, event_id on alert_deliveries and match_id on tender_matches take every id up to 9223372036854775807, as the API does, and a search_stonewake_docs query is at most 256 characters. A page of a list that would pass the output cap of 50,000 bytes keeps its first rows whole, stays one JSON document and names in output_cap the rows it serves and the offset to read on from, the rows of portfolio_import_preview and tender_export_preview included, a company_network answer that long keeps the center and its first neighbors whole and says truncated true, a country_profile answer that long keeps its first deals whole beside deals_total and points in output_cap at deal_book with country_code and include_hidden true for every deal, a body that is not valid JSON, NaN and Infinity included, answers -32700, and a cursor on tools/list, which issues none, answers -32602. See MCP.
  • 24 October. The OpenAPI document at api.stonewake.ai/openapi.json now declares every refusal a /v1 endpoint can answer, 401, 403, 429 and 503 on every endpoint, 404 wherever an id is looked up and 413 on the three POST endpoints, each with its body, the Retry-After header on 429 and 503 and the RateLimit-Policy header on every response. It names the API key as the bearer security scheme bearerAuth, and GET /v1/audit-log.csv declares the text/csv it serves. The authorization header parameter is gone from every operation, so a client generated from the document sends the key through bearerAuth instead of a method argument. A NUL character in a path or query value now answers 422 naming the parameter instead of a server error, and one in the file_name of POST /v1/tenders/portals/upload answers 422 naming that field. The export window of GET /v1/audit-log.csv and a nace the sector tables cannot read on GET /v1/nodes/{node_id}/sector-context answer the 422 validation body naming the parameter. q and eca on GET /v1/deals match their text as typed, so % and _ are no wildcards. They find each agency by the name the row prints in ecas and agencies, by the other names the registry holds for it and by the name the source reported, and read each exporter name as the name it is, so a deal is found by the agency name it shows and by the agency's full name, a bracket or a quote finds only a name that holds one, and a name with a letter outside ASCII is found as typed. GET /v1/runs orders runs of the same instant by run_id, so its pages never overlap. A 429 that a signed in person meets on a document download or the audit log export carries Retry-After and retry_after_seconds like every other. A 503 on the five PDF downloads while every render slot is taken now carries the code server_busy with retry_after_seconds and Retry-After, and a signed in person whose per minute window cannot be verified gets quota_unavailable, as a key does. GET /v1/alerts/deliveries lists only the deliveries of the alerts GET /v1/alerts/events serves, so it no longer lists the delivery of a sole trader's withheld risk alert or of a person's alert where person data is switched off. See Errors and rate limits.
  • 21 October. The window of the deals no bank can still win reads Financing set instead of Financing closed. It holds the deals that are signed or closed and the deals whose export credit agency cover is agreed and whose lender is set, and the loan of the second is not signed yet, so closed was not true of them. score_window_label on GET /v1/deals and GET /v1/deals/{deal_id}, the MCP tool deal_book, the Window column of the workbook and the window sentence in score_reasons read Financing set, and state_label still tells Signed or closed from Cover agreed. The descriptions of the rows a desk holds back by default name the window the same way. The value of score_window and of the window filter stays financing_closed.
  • 20 October. The demotions on a deal read as short phrases. In score_reasons of GET /v1/deals/{deal_id} and the MCP tool deal_book with a deal_id, each demotion is a short phrase such as Country not stated, Own bank lends or No movement since 1 Apr 2025, and no phrase says demoted or held back. The new field lowered is true when any of them lowers the score, and score_hidden still says whether the row is held back by default. A row ranked before this change is served in the same short phrases. The deal page and the deal report say once that a deal is ranked lower or held back, then list the reasons. See the API reference.
  • 20 October. A new login receives a link to set its own password and is never sent a password by mail. The link works once and for one hour, opens on a desk or a phone, and checks nothing until the person continues, so a mail scanner that opens it spends nothing. The page names the account the link belongs to before anything is kept in the browser. Sign in stays by work email and password, and a forgotten password is reset through a new link from your Stonewake contact.
  • 19 October. The audit log names the model that answered. On the row of a research run, a screening, a screening summary, a deal briefing run, a report or a pack that called a language model, the model column of GET /v1/audit-log.csv, the MCP tool audit_log_export and the downloads in the dashboard names the model that answered its calls, a fallback provider included, several joined by +, and meta carries served_models, served_providers and, where the plan differed, planned_models. Before, the row named the model the run had planned. A row that cannot show which model answered reads unknown. The AI controls page counts the calls of the last 30 days per provider and model that answered them. See the API reference and Data handling.
  • 18 October. An administrator can erase a dossier on a natural person in the dashboard, and erasing it erases its screening with that screening's results too. Erasing a person screening now erases the dossiers built on it as well. The daily purge of a person screening at its agreed retention horizon takes them along too, and erasing a dossier also erases the debt register lookups recorded on it. While a run of the dossier or of its screening may still write, the erase answers "This dossier cannot be erased yet. Try again in a few minutes." and removes nothing. The erase of a dossier on a company answers "Only a dossier on a person can be erased." and removes nothing too. The dashboard shows these answers, and the screening's own, in German when it is set to German.
  • 18 October. Stonewake now finds and resolves duplicate deals itself, so nobody in your workspace is asked whether two deals are one. The Possible duplicates card is gone from the deal book. GET /v1/deals/merge/suggestions is deprecated and answers an empty page for every caller, and the MCP tool deal_duplicates was retired, so a call by that name answers the error for an unknown tool. See the API reference and MCP.
  • 17 October. A natural person who is a research target, and whose first research run was not started because the account that added it has used this month's screenings, now waits until the month ends or the allowance is extended instead of being tried again on every scheduling pass. While it waits, GET /v1/monitoring/targets serves the first moment of the next month (UTC) as its next_run_at.
  • 17 October. A project notice of an export credit agency whose project looks like a deal already on your book, in the same country, with at least two of the same project words and one name repeating the other's distinctive words without a different number, now opens its own deal and is listed on the Possible duplicates card beside that deal, where an analyst merges the two or answers Not the same deal. Such a pair reads basis project in GET /v1/deals/merge/suggestions and in the MCP tool deal_duplicates. A notice whose obligor is a state, such as a ministry of finance or a republic acting through one of its agencies, opens no deal and is added only to a deal that names the same exporter. See the API reference.
  • 17 October. A question on the Possible duplicates card is withdrawn once its two deals no longer look like one transaction, so the card, GET /v1/deals/merge/suggestions and the MCP tool deal_duplicates list only the pairs Stonewake still asks about. A pair a person answered is never touched, and a withdrawn pair is listed again once it looks like one transaction again. See the API reference.
  • 17 October. The deal book finds its duplicates every night across the whole book of each team. Two deals with the same reported value in the same country and the same project are merged when both cite the same article. Every other pair that looks like one transaction, including two deals with the same buyer, country and project where one or both report no value, is listed on the new Possible duplicates card above the deal book, in English and German, where an analyst merges the two or answers Not the same deal, and a pair answered that way is never merged or asked again. The new GET /v1/deals/merge/suggestions and the new MCP tool deal_duplicates read the same list. See the API reference and MCP.
  • 17 October. The dashboard has a Tenders page. Your team sees its tender matches there, each with its title, buyer, tender deadline, value, the profile or portal search that found it and the link to its notice, keeps its tender profiles and uploads its portal exports, which moved there from the settings. An analyst adds a confirmed match to the Deal Book in one step, and the deal then cites the notice, takes its stage from the kind of notice and holds every match of the same procedure, while a deal page shows a tender's deadline and notice. GET /v1/tenders/deals/{deal_id} and the MCP tool tender_matches with deal_id read the matches a deal holds. See Tender profiles and matches.
  • 17 October. Person work follows your workspace's person switch everywhere. Where person data is switched off for your workspace, a person screening or a person dossier is refused with "Person screening is not available in this workspace.", as person research targets and person watches already were. A person dossier records the purpose cdd, edd or other with a note, never origination. The first research run of a person research target counts against the monthly screening allowance of the account that added the target, like a screening, and when the allowance is used up GET /v1/monitoring/targets serves last_error screening_allowance_reached for it. GET /v1/social/companies and GET /v1/social/companies/{node_id} carry sole_trader, true for a natural person's business, which has no social reading.
  • 16 October. Tender matches now also come from the exports your team uploads. Your team's tender profiles judge each notice a confirmed upload stores, so an uploaded notice can become a tender match. GET /v1/tenders/matches and the MCP tool tender_matches serve such a match with portal_notice in place of notice, and every match now names in decided_by what chose it. See Tender profiles and matches.
  • 16 October. Groundwork, not live. A bank can bring its own sources into its workspace. An administrator gives a team an address for the saved search alerts of the bank's own tender portal accounts, today e-Vergabe des Bundes, Vergabe.NRW and vergabe.bayern (RIB Tender), whose notices become tender matches of that team, and connects a company data provider the bank already licenses, today North Data, under the bank's own key, which is stored encrypted and never shown again. GET /v1/licensed-data/facts and the new MCP tool licensed_facts serve the values such a provider states when your licence covers your bank's own systems. Stonewake never logs into a portal or a provider's website. Neither is switched on yet. See Your own sources.
  • 16 October. Credit monitoring now also reads six UK operating banks' own ratios from their Pillar 3 disclosures, by their LEI, 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, and Lloyds Banking Group, Lloyds Bank plc and Standard Chartered Bank read as gaps. Every UK key metrics figure now reads as the bank printed it, 14.1% stays 14.1% and 134% stays 134%, in the dashboard, the API, MCP, packs and exports, while the non performing loan ratio, which we compute, keeps two decimals. Barclays Bank PLC's leverage ratio is its sub consolidated group's, where the PRA sets its leverage requirement, and its note says so. Each UK figure's note opens its document at the page the figure is printed on. A UK figure is scored until nine months after its own reference date, or until its edition is older than its semiannual cadence allows, whichever comes first. A UK bank whose report could not be read says why in plain words, in English and German, and one whose report moved keeps its last verified figures until their nine months end, with a note that says so. See Coverage.
  • 15 October. Natural persons work like companies wherever you follow names. Where person data is switched on for your workspace, a person it watches is read in news and social monitoring, has news events and alerts, and is listed by GET /v1/news/companies, GET /v1/social/companies and the MCP tools company_news and company_social with node_type person. A sole trader's news events and social posts are served like a company's, never a news tone or a social sentiment, and withheld leaves the social answers. A person can be a research target with a recorded purpose, purpose and purpose_note on the dashboard's create request, and GET /v1/monitoring/targets lists such targets. A post by a private person is listed like any other. No person and no sole trader is ever scored, a watched person's tone is context shown to your institution and never a score of the person, and every API and MCP answer that serves a person writes the person access record. See news monitoring and social monitoring. A person research target runs under the rules of person screening, conduct in a professional capacity only, and watching a person records the purpose of the watch. The EU AI Act page states the new intended purpose.
  • 15 October. The audit log export, GET /v1/audit-log.csv, the MCP tool audit_log_export and the download in the dashboard settings, has the columns ts, action, actor, target_type, target_id, run_id, model and meta.
  • 15 October. Credit monitoring now reads six UK bank borrowers' own ratios from their Pillar 3 disclosures, by their LEI, namely HSBC Holdings, Barclays, NatWest Group, Standard Chartered, Santander UK Group Holdings and Nationwide Building Society. Each shows its CET1 ratio, its leverage ratio excluding claims on central banks and its liquidity coverage and net stable funding ratios as the bank published them in template UK KM1, and its non performing loan ratio computed from the gross loan amounts the bank published in template UK CR1, each at the reference date of the report it was read from, and each figure's note names the bank that filed it, its reference date and the document it was read from. Every other UK bank stays a gap, and so does one of the six whose newest report could not be read. See Coverage and the API reference.
  • 14 October. A workspace that signs in through single sign on only can keep no break glass account. Password sign in then stays off whatever happens to single sign on, and the login page tells a person who cannot sign in to ask their Stonewake contact. Only Stonewake lifts the setting, at the request of the bank's identity team, with the reason written to the workspace's audit trail. See Single sign on.
  • 14 October. Groundwork, not live. The news check can take full texts from NewsAPI.ai as a second source when fewer than five articles can be read, for a company whose search profile our operators approved by hand after reading a sample of what its name finds. It never opens an event, adds a type or raises a severity, and it stays switched off until a contract includes it. The NewsAPI.ai articles a check read are listed under the event's check on the company's news card, in /v1 as second_source_articles and over MCP, with link, publisher, date and language only. See News monitoring.
  • 13 October. Groundwork for social monitoring, not live. Once a licensed social listening source is switched on for a workspace, Stonewake will read what social platforms and forums say about every company that workspace holds or watches, and keep a daily reading per company with the items it rests on, counted per platform and by the source's sentiment label, beside the credit view and never in the risk score. No author, handle, title or text of a post is kept, and a link whose address shows a person's own page or handle is withheld. No source is switched on yet, so GET /v1/social/companies, GET /v1/social/companies/{node_id} and the new MCP tool company_social answer source.enabled false. See Social monitoring.
  • 13 October. With Microsoft Entra ID a bank publishes no DNS record for its email domains. A domain joins the workspace once Microsoft's public records show that it belongs to the managed Entra tenant the bank's Stonewake application sits in, and once our sign in service reads that application's signing certificate from Microsoft for the same tenant, so the bank's identity team sends us one value, the App Federation Metadata Url. A person who signs in with a password or a one time link keeps their team, their role and their own settings at their first sign in through Microsoft, and the old login is then closed unless it is a break glass account. An administrator role is never carried. The TXT record stays for other identity providers. See Single sign on.
  • 13 October. A workspace can switch on a monthly feedback form of five questions for its named users in the dashboard. Each answer reaches the workspace's named recipients by email through the alert mail service, and Stonewake for the monthly report. The API and the MCP server do not serve the answers. See Support.
  • 13 October. Before a news event alerts, a news check reads its articles. Claude Haiku 5.5 answers yes, no or unsure with quotes, and a deterministic gate keeps a yes only when the quotes appear word for word in at least two publishers' own articles and the type is one the theme mapping found. Every other event stays on the company page as coverage to read, and when the check cannot run no alert goes out. GET /v1/news/companies/{node_id} and the MCP tool company_news carry each event's check. See News monitoring.
  • 13 October. News monitoring now raises an alert when the news reports a serious event about a company your workspace holds or watches, such as an insolvency, fraud, a cyberattack or data breach, a lawsuit, layoffs, an industrial accident or a strike, typed from GDELT's own theme codes by a reviewed mapping and confirmed by a news check before any alert. The articles of one story in any language join one event, and the alert reaches your team's subscribers within minutes of GDELT's file, a phone only for a critical one. GET /v1/news/companies/{node_id} and the MCP tool company_news serve the company's events, and the dashboard shows them on the company page and the alert in your feed on the portfolio page. See News monitoring.
  • 13 October. A sixth official sanctions list is switched on, the UN Security Council Consolidated List, read from the Security Council's own file once a day beside the EU Financial Sanctions Files, the UK Sanctions List, the two OFAC lists and the Swiss sanctions list of SECO. Organizations and the persons that public registers link to your book are compared with it under the same rules as with the other lists. An entry binds to a company only through an identifier the list itself states, a shared name is shown for review and never counts as a match, and the list reads Not checked where it was not checked within the last 48 hours. The EU and UK lists carry many of the same designations through their own acts, and each list is shown as its own source. GET /v1/sanctions/person-candidates and the MCP tool sanctions_person_candidates name it in lists, and the coverage page states what it holds.
  • 13 October. Credit monitoring reads a US bank borrower's own ratios from the FDIC call report data, by its LEI or its Federal Reserve RSSD, namely its CET1 ratio, its noncurrent loan ratio and its tier 1 leverage ratio, each banded on thresholds set for the US definition, and each figure's note names the bank that filed it. A bank in the same data, which holds the banks the FDIC insures and some noninsured trust companies and uninsured US branches of foreign banks, is now classed as a bank from it. UK banks are not yet covered. Every scored bank ratio now names its definition beside the figure in value_display, EU banks included, and the three bank rows are labelled CET1 capital ratio, Non performing or noncurrent loan ratio and Leverage ratio. See Coverage and the API reference.
  • 12 October. An integer id in a path or query parameter of /v1 that no record can hold, such as 0, a negative number or a number above 2147483647, or above 9223372036854775807 for a match_id, now answers exactly as an id that names no record does, a 404 for a single record and an empty page for a list filter. A value that is not a whole number still answers 422. The MCP tools declare every id argument from 1 to 2147483647 and every offset from 0 to 9223372036854775807, and answer a value outside those bounds with a JSON-RPC error with the code -32602 before any request reaches the API. See the API reference.
  • 12 October. Single sign on is now set per workspace, through the workspace's own identity provider, and it stays off until your identity team and Stonewake switch it on together. A first sign in creates the account only in the workspace that owns its email domain and never with the administrator role, an SSO session ends at the session lifetime the workspace sets, and a workspace can be set to sign in through single sign on only, with break glass accounts that keep their password. Single sign on is now the administrator guide, with the steps for Microsoft Entra ID.
  • 11 October. A bank can bring the hits of its own tender portal accounts into Stonewake without us logging into a portal. An analyst uploads the CSV, XLSX or eForms XML file the portal exported, the preview shows every row with its outcome, and a confirm stores the notices for that team alone, and no other team and no other bank can see them. A header no portal profile recognises is mapped column by column, and unknown columns are never read. POST /v1/tenders/portals/upload previews an upload with dry_run always true, and the MCP server gains tender_export_preview, a tool that sends the same preview. The new Tender portal exports page describes the files, the fields and the outcomes.
  • 10 October. The new GET /v1/deals/parties/binding-queue and the new MCP tool deal_binding_queue read the parties on your team's live deals that are not yet matched to a company in a register, each with its candidate companies and their LEI and register numbers, the list the dashboard shows behind Match parties to a register. Matching a party stays in the dashboard. See the API reference and MCP.
  • 10 October. On GET /v1/screenings/{screening_id} and in the MCP tool screening_lookup, a screening of an organization run since this change puts each drafted category colour that cites a finding to a model check before it is served, except a Sanctions exposure the list rule below holds red. Where that check disagrees with the draft, a second model is asked, the colour two of the three answers name applies, and three different answers read amber. A check that does not complete never lowers the drafted colour, and screenings run before this change keep their colours. For an organization, Sanctions exposure is red whenever an official sanctions list lists it by an identifier its own register entry carries, and also red when the lists could not be read for that screening. A category's rationale is the reason given for its served colour where that reason passes fixed checks, and otherwise a fixed sentence. coverage_note states findings that could not be categorized as resting under no category verdict.
  • 10 October. When a rationale, summary_text, deal briefing text or deal ask is read, a clause in it that asks the reader to confirm, verify, check or review something is removed, and where nothing is left to state, a rationale reads its fixed neutral sentence, a summary_text reads null with summary_status failed, and a deal briefing reads null. On GET /v1/nodes/{node_id}/events and in the MCP tool company_events, action names the bank's own next step for each class of event, a decision or a step on its own documents. See the API reference.
  • 8 October. German insolvency notices are now looked up for every company a person of your workspace asks about, not only for portfolio companies. A company a person opens in the dashboard is looked up within minutes, and a company put into a screening or a dossier stays looked up once a week for 180 days. The lookups still run only for the workspaces where they are switched on, one company at a time and within the portal's hourly request limit. insolvency_lookup on GET /v1/nodes/{node_id}/events and in the MCP tool company_events reads pending while a lookup is queued and then current with its date, a lookup a person started by opening the company shows within minutes, and the state not_in_portfolio is replaced by not_requested, with both moments null, for a company no person of your workspace asked about; see Coverage.
  • 8 October. A company opened in the dashboard's Network view, or screened, in a workspace that holds no current assessment of it is now assessed on the spot for your team, by the same rules as a portfolio company, and the assessment is kept with its date. The new GET /v1/nodes/{node_id}/company and the new MCP tool company_overview read one company's register identity and its risk status, the portfolio assessment where your team holds the company and otherwise the assessment made on the spot, with risk_state and risk_reason saying which. A request to the API or the MCP server never starts an assessment. exposure_id on GET /v1/risk-assessments/{assessment_id} is null for an assessment made on the spot. See the API reference and MCP.
  • 5 October. Person data follows one rule on every surface. In workspaces where person data is switched on, the API and the MCP server serve the natural persons that official registers and the official sanctions lists name, with their citations, as the dashboard does. GET /v1/search and the MCP tool search_companies find them after every company, with node_type person and no score. GET /v1/nodes/{node_id} with its records and events answers for a person. The new GET /v1/nodes/{node_id}/network and the new MCP tool company_network serve a node's officers, shareholders, beneficial owners and other register relations, every edge with its citation. GET /v1/nodes/{node_id}/ownership-chain names natural person owners. GET /v1/watches, POST /v1/citations/resolve and the list fields of official_lists serve persons too, and GET /v1/sanctions/person-candidates answers in every such workspace. Elsewhere, and always in the sandbox, nothing about a person is served and a person answers the canonical 404. No person is ever scored, a person who objected is not served, and a person who leaves a sanctions list is deleted in the same update. Every node shape now carries node_type. In the same workspaces GET /v1/screenings and the MCP tool screening_lookup read the adverse media screenings of natural persons that your analysts requested in the dashboard, and GET /v1/runs and GET /v1/developments read research runs about a natural person. Both are served as findings with their sources, a person screening beside its official lists comparison, without a verdict, an assessment, a drafted summary or a relevance score. limit on the network read caps the neighbors. Every response that serves a natural person writes one access record with ids only. See the API reference and MCP.
  • 5 October. A fifth official sanctions list is switched on, the Swiss sanctions list of the State Secretariat for Economic Affairs (SECO), read from SECO's own file once a day beside the EU Financial Sanctions Files, the UK Sanctions List and the two OFAC lists. Organizations, vessels and the persons that public registers link to your book are compared with it under the same rules as with the other lists. Each Swiss entry names the ordinance and the article or annex it rests on, and an entry SECO has delisted is left out. Few of its entries on organizations state an identifier, so most of them appear as a name match for review, and the list says nothing about who owns or controls a company. lists on GET /v1/sanctions/person-candidates and official_lists on GET /v1/screenings/{screening_id} now carry five entries, and until the Swiss list has been read for the first time it reads Not checked. See Coverage.
  • 4 October. On GET /v1/deals/{deal_id} and the MCP tool deal_book, the first line of the deal summary says why no Value is shown where every source states the deal's figure as a project or investment size, or as one part of a larger package, and not as a financing or contract amount, and it names the figure where the quotes state it without a bound. Where no verified quote names the buyer that the deal's parties list, the line names that buyer as reported and not confirmed by a source. A party whose stored name carries a bracket or another mark, such as Fribourg Transport Authority (TPF), is confirmed where a verified quote writes the name exactly. See the API reference.
  • 4 October. A finding is no longer attached to a deal where both state a power and energy rating, such as 100MW/400MWh, and no rating of one is a rating of the other, so a 1GW/4GWh battery project is no longer attached to a 100MW/400MWh one, and two deals whose names state such different ratings are never suggested as one. A single figure, such as a phase, an offtake share or a total, never separates a finding from its deal.
  • 4 October. GET /v1/deals and the MCP tool deal_book hold back a deal whose Value reads below the team's value floor in dollars, with the other held back rows, and its ranking reasons say so. A team's scoring profile states the floor as value_floor_usd. Where it states none, the floor is one tenth of the mandate's ticket minimum, USD 5 million for export finance and USD 10 million for project finance by default. A deal with no Value in dollars is not held back by it, and a Value written without a scale word, such as £100,000, now has a dollar sort key. See the API reference.
  • 4 October. German insolvency notices are now looked up for portfolio companies only, meaning companies a workspace holds as an active exposure. The lookups run only for the workspaces where they are switched on, so in any other workspace insolvency_lookup reads not_looked_up. A watch, a deal, a screening, a dossier or a company opened in the dashboard no longer starts a lookup on its own. On a portfolio company of the same workspace a daily watch still makes the lookup daily, and a screening, a dossier or opening the company in the dashboard still brings it forward, while a deal is no longer considered. Each workspace now runs on its own lookup schedule, with its own reads, and sees only its own lookups, so looked_up_at is the moment your workspace last looked the company up. insolvency_lookup on GET /v1/nodes/{node_id}/events and in the MCP tool company_events has the new state not_in_portfolio, with both moments null, for a company that is not in your workspace's active portfolio, and reports a queued lookup only for a company in it; see Coverage. Since 8 October a company a person of the workspace asks about is looked up as well, see that entry.
  • 4 October. Each entry of an organization, a vessel or an aircraft on the four official sanctions lists is now stored with every field its list publishes, as the entries of natural persons already were. published_fields serves them on the entries of official_lists in GET /v1/screenings/{screening_id} and on such a record in POST /v1/citations/resolve, each with path, where on the entry the list states it, and value, verbatim. They include the addresses and contact lines, the statement of reasons and the remarks, the dates of the listing act, the cross reference to the UN list and the parent and subsidiary companies the UK list states, which stay statements of the list and are never drawn as ownership. The families that can state a natural person, the free text, other parties and contact lines, are served only in workspaces whose person data terms allow it and never on this API, where the entry carries published_note instead, one sentence that says further statements are withheld. No status and no match changes. The screening report and the workbook show the same fields under the same terms. See the API reference.
  • 1 October. GET /v1/search seats well known short names and acronyms first, such as VW or Haspa, each matched to its legal entity by LEI, and answers a two letter query only when it is exactly one of those names. Such a hit carries the company's registered legal name. See the API reference.
  • 1 October. Starting with this release, German insolvency notices are looked up one company at a time, by its register court and number, while someone has a concrete interest in it, at least weekly and daily while it has a notice on record. There is no nationwide daily coverage of German insolvencies; see Coverage. GET /v1/nodes/{node_id}/events and the MCP tool company_events carry the new insolvency_lookup, which states when the company was last looked up and whether your workspace's own lookup is still queued, and German insolvency citations link the portal's start page. See the API reference.

September 2026

  • 30 September. A register published as whole editions now stays drained on days its publisher issues no new edition. A check at which the publisher states that the edition already loaded is still its newest one counts as a drain, so a weekend without a new SEC EDGAR edition no longer turns the register event rows of US companies unscored with a gap_reason of source_dark. A check that cannot reach the publisher, gets an answer that is not the published file, or cannot read the edition the publisher states counts as nothing, so an outage still reads source_dark once the refresh interval and its six hour grace have passed. An SEC EDGAR edition more than five days old counts as nothing too, so a publisher that stops issuing editions reads source_dark as well. See the API reference.
  • 30 September. Two checks now run over the machine drafted text of a screening. The first compares drafted statements about whether the subject itself was charged, penalised or convicted. When two category verdicts disagree on one matter, both statements are withheld, one rationale on GET /v1/screenings/{screening_id} carries a sentence that starts with "Conflicting evidence" and cites the findings, whose ids join that assessment's finding_ids, the other rationale points to it, and a summary_text sentence that restates the matter is withheld with a note. The second withholds a sentence that rests only on findings whose own text dates the event before the screening's window, and adds a sentence that names those findings and their years. A sentence that also cites any other finding is left in place, with the same dated sentence beside it. Both checks act only where the text itself proves the case, and the findings stay in findings. A verdict that an analyst dismissed takes no part in either check, and the screening report PDF keeps a finding that a dismissed verdict cites while a verdict that stands also cites it.
  • 30 September. GET /v1/deals/{deal_id} gains briefing, which is null or an object with text, drafted_at, drafted_by and sources. It holds a quick briefing, a machine drafted summary of what the deal's cited sources report, which an AI model writes from the text of those sources, and drafted_by reads model. sources lists the sources the model was given. Only its numbers written in digits are checked against that text, and a sentence with a number that does not stand there is dropped; words are not checked. This is groundwork and not live for every workspace yet, so briefing is null until briefings are switched on and drafted for a workspace, and the three lines of the deal summary do not change. The MCP tool deal_book forwards the field. See the API reference.
  • 30 September. The four official sanctions lists are switched on, the EU Financial Sanctions Files, the UK Sanctions List and the two OFAC lists (SDN and non SDN), and our software is set to read each once a day. Within credit monitoring an organization is checked once your team adds the sanctions list check to its configuration. The check of the natural persons that public registers link to your book runs in the workspaces where we switch it on. A list that is switched off or was not checked within the last 48 hours reads Not checked and never clear, and GET /v1/sanctions/person-candidates and the MCP tool sanctions_person_candidates return each list with its reading, its edition and the time of its last check in lists, with lists_not_checked as their count and persons_compared as the count of register persons that were compared. We compare organizations and persons with no other sanctions list and hold no list of politically exposed persons. The EU AI Act, Coverage and API reference pages state the same.
  • 30 September. A check of natural persons against the official sanctions lists is added for the workspaces where we switch it on. It compares the persons that public registers link to the organizations in your book, by name and by the aliases a list gives, with the natural persons on the lists, and it yields review candidates that set no colour and no score. Only an analyst's confirmation records a match. The review queue opens from the portfolio page of the dashboard, and GET /v1/sanctions/person-candidates and the MCP tool sanctions_person_candidates read it. The EU AI Act page states the new intended purpose.
  • 30 September. A screening result now starts with the Official lists section. On GET /v1/screenings/{screening_id} the new official_lists compares the subject with each official sanctions list it names, deterministically, with no search and no model call, at the moment the result is read and not on the screening day. Each list reads listed (only on an identifier that the list itself states and the subject's own register entry carries), name_match_awaiting_review (a name without an identifier, a candidate for review and never a hit, shown with the list entry and the subject side by side), name_match_reviewed, no_entry_found (with the list edition and the check time) or not_checked (with the reason). Names match exactly on a normalised key, so other spellings, word orders and transliterations are not found. A list that is switched off or was last checked more than 48 hours ago never reads as clear, so every list reads not_checked until it is switched on. The screening report PDF carries the section first with the list names, editions, check times and the moment of the comparison. Once at least one list was compared it is titled Due diligence screening, and its cover states a listing, an open name match and how many official sanctions lists were compared. The Excel export carries the same in its new Official lists sheet, placed before the Screenings sheet. No date of birth and no nationality of a listed person is served on any surface. The MCP tool screening_lookup forwards the section. The section does not replace your own sanctions and PEP screening. See the API reference.
  • 30 September. The screening report PDF states on its cover how many of its findings carry a verbatim quote from a primary source or from trade press on two separate domains, search excerpts not counted, in place of a fixed line. Its identity chip prints the number of unconfirmed identity matches among its findings and is left out when there is none, and it no longer prints "Identity confirmed". The coverage card of the report shows the share of dated sources without counts. On the screening endpoints of /v1 the coverage_note states its search, page and date caveats as plain sentences without counts.
  • 30 September. GET /v1/deals orders by one column when sort names it. score, value, last_activity, stage, name and first_seen each order the whole filtered book by that column alone, the ranking window playing no part, and the new direction takes desc or asc. Rows without a value come last in both directions. The ranking window order is now called priority and stays the default, so a request without sort is answered as before, while a request that named score, value, last_activity or first_seen gets that column's order instead of the window first order. An unknown sort or direction answers 422. The MCP tool deal_book takes the same sort and direction. See the API reference.
  • 30 September. Every deal row on GET /v1/deals and GET /v1/deals/{deal_id} carries latest_update, the newest event a source dated and confirmed on the deal's timeline with a short label, and has_unseen_update, whether that event reached the deal since you last opened it in the dashboard (null for an API key). sort=latest_update orders the book by that event alone, newest first, and the MCP tool deal_book carries the same fields and sort. See the API reference.
  • 30 September. On /v1/deals and the MCP tool deal_book, every deal row carries its Value, in value_status, value_text, value_note, value_finding_id and value_basis. A figure a verified quote states reads confirmed with the limit word the quotes set before it, such as up to $375 million. A figure no verified quote confirms reads reported, and value_note holds the sentence to print beside it, the same sentence the deal summary prints. value_text is in the currency the source reported, and the deal PDF, the committee pack, the briefing decks and the Deal Book workbook print the same Value, where they printed a dollar figure converted at a fixed rate before. value_basis says whether the Value is the financing amount the newest grounded finding states beside a debt or cover noun, a contract value standing in, or a reported figure no quote classifies, never the largest figure, a project cost or a programme size. See the API reference.
  • 30 September. On /v1/deals and the MCP tool deal_book, last_event_at is the earliest publication date among the fetched pages of the deal's newest reported event where no source stated an event date, a fetched page of a primary source dating that event ahead of the other pages, and a search snippet never dates a row. Neither event_date nor last_event_at is ever later than the current day in UTC. The stale window is 12 months by default, down from 18. The evidence reason of a row that no two independent sources corroborate names the number of distinct pages that cite it, such as Cited by 3 pages, no independent second witness. See the API reference.
  • 26 September. Screening verdict text reads as whole sentences on every surface. On GET /v1/screenings/{screening_id} each assessment's rationale is labelled machine drafted and cites its findings only as [f<id>] tokens naming its own finding_ids (a cited finding that verification capped as unverified has no entry in findings), and the new rationale_withheld counts the sentences held back because they could not be shown with their citations. The screening report PDF labels its summary as machine drafted. While a completed screening of a company waits on an analyst, the coverage_line of its risk assessment says "a completed screening awaits analyst confirmation" instead of saying that no analyst confirmed screening is on record; the adverse media row's gap_reason stays screening_stale. The MCP tools screening_lookup and entity_risk_profile forward the same fields. See the API reference.
  • 26 September. On /v1/deals and the MCP tool deal_book, event_date also reads the dates press releases write, such as Aug. 6, 2026 or June 28th, 2021, and is never later than the source was published, nor a date still to come where no publication date is known, so a maturity or a deadline is no longer an event date. buyer is the first buyer the deal's parties name where it read null beside a named buyer party. contract_value_raw is null where it held no amount, such as a date or a tenor. A line of the deal's summary no longer says an amount is not confirmed by a source when a verified quote states it. See the API reference.
  • 25 September. On the EU AI Act page the excluded use of sanctions and PEP list checks is narrowed to natural persons, and the page states how a credit monitoring check of organizations against the official sanctions lists of the EU, the UK and the US works once a list is switched on. On that day the check was groundwork and not live, because no list was switched on. A designation binds through an identifier the list itself states and through nothing else, and the Coverage page lists the lists.
  • 24 September. The intended purpose statement on the EU AI Act page is restated to name deal origination and credit monitoring of organizations. The excluded uses do not change.
  • Credit monitoring scores a bank borrower on its own capital and asset quality. Its CET1 ratio, gross non performing loan ratio and leverage ratio are read by the bank's LEI from the EU wide transparency exercise of the European Banking Authority and serve as scored signal rows with the edition and reference date in their note, and its liquidity serves as a gap because that exercise publishes no liquidity figures. The rows carry the weight the corporate models leave, so the denominators do not move. The floor rule for signals no connected source reaches now applies in every member state of the European Economic Area as it does in Germany, and the interest cover reads the finance costs line where the accounts state no interest expense, saying so in its note. See the API reference.
  • A gap no free nationwide register can close now reads paid_register_excluded in gap_reason, such as the register status, charges and insolvency petition rows of a US company, because in the United States each state keeps its own company and lien registers and federal court records are sold per page through PACER. Paid registers are outside our sources by policy, so such a gap is terminal and counts in explained_share, never in seen_share. A terminal gap row now names in its note the statute or fee schedule it stands on, for example § 12 GBO on the charges row of a German company. See the API reference.
  • POST /v1/portfolio/import previews a book import. It takes a CSV of companies in csv, matches every row by its register identifier alone and answers each row with its outcome for your team's book and the reason, paged by limit and offset. dry_run is always true, so nothing is written, and an import is applied in the dashboard under Import book on the portfolio page. The MCP server gains portfolio_import_preview, a seventeenth tool that sends the same preview. The new Book import page describes the file, the identifiers accepted and the outcomes.
  • Every 422 on /v1 now carries only type, loc and msg per entry and no longer echoes the value sent (input) or ctx. See Errors and rate limits.
  • A green new charge activity row on Companies House charges needs a read of the company's full list of charges within the refresh interval and its six hour grace, where a company with no charges counts too, and it covers the full two years only once the held charge history has been loaded; until then a green row stays unscored and its note says so, while an amber row stands on the charges on record and is scored either way. A green row on a register event signal that cites events stands on the same feed checks as one with no citation. A member event loaded from register history carries attrs.history_backfill true on GET /v1/nodes/{node_id}/events and in the MCP tool company_events, and its occurred_at is still the date the register states. See the API reference.
  • GET /v1/deals/{deal_id} no longer carries memo or memo_generated_at. It carries summary_lines instead, three lines generated from the cited findings by fixed rules, not by a model, each with citations naming the field, the linked finding and the verbatim quote. next_action now holds only your analysts' own step, and a next step event no longer carries its old value. The MCP tool deal_book forwards the same fields. A client that read memo reads summary_lines. See the API reference.
  • Credit monitoring says what it could not see. A signal no source we connect reads yet for a company's jurisdiction, such as a going concern doubt disclosed by a German company, is now a gap that counts against coverage instead of reading not applicable. The /v1 risk reads and the MCP tools serve each signal's state, gap_reason and evidence grade, and the assessment's seen_share, explained_share, reachable_share and coverage_line; /v1/portfolio rows carry the three shares. Insufficient data is decided on reachable_share, what was seen of the signals a connected source can serve for the company, so a missing source never greys a company out, and an amber floor standing on grade A or B evidence holds amber. Signal labels read without dashes (for example Going concern doubt disclosed); signal keys are unchanged. See the API reference.
  • GET /v1/nodes/{node_id} streams its response, and records still carries every current record. A response still streaming after 60 seconds is cut off. While other reads of very large companies are running, one more can answer 503 server_busy with Retry-After; see Errors and rate limits.
  • GET /v1/nodes/{node_id}/records pages every register newest first when connector_id is left out, and every page states records_total and each register's count. See the API reference.
  • Every offset on /v1 runs from 0 to 9223372036854775807; a larger value answers 422 where it answered 500 before. The OpenAPI document states register as required on every citation that carries it.
  • The MCP server gains company_records, a sixteenth tool that pages a company's register records at most 25 at a time. See MCP.
  • GET /v1/nodes/{node_id} states records_total and each register's count in registers, and the new GET /v1/nodes/{node_id}/records reads one register's records on a company a page at a time. records still carries every current record. See the API reference.
  • 22 September. Status changes name their cause, the signals whose change moved the status and the register record behind the lead one, derived from the two assessments each change compares. An exposure's first assessment is an addition to the book, not a change. It needs no acknowledgement, and the new status_changes_30d counts only real changes, while transitions_30d keeps counting every transition. Each exposure carries a credit review record with disposition, note, owner, next review date and an append only history; /v1 serves the standing review, reviews_overdue and the new GET /v1/portfolio/{exposure_id}/reviews. See Credit reviews and status changes.
  • This documentation gains four pages. Single sign on describes sign in through your own identity provider. Coverage states countries, datasets and sources from the live API, Support says how to reach us, and this changelog starts.

August 2026

  • 27 August. The OpenAPI document carries its contact, licence, terms and server entries, so a generated client knows where production lives.
  • 25 August. This documentation and the company site are available in German. The German set lives under /de.
  • 23 August. Every /v1 response carries the IETF RateLimit and RateLimit-Policy header fields beside the older X-RateLimit ones. The limits themselves did not change and are described under Errors and rate limits.
  • 23 August. Every documentation page also answers as markdown, at its path plus .md or with Accept: text/markdown. A sitemap and robots.txt are served for crawlers.
  • 21 August. The sign in gate fails closed for single sign on as for every other sign in, so an account without an assigned role and team is refused however it signed in. See Single sign on.
  • 15 August. Workspace admins create, list and revoke API keys in the workspace settings of the dashboard. See Keys and access management.
  • 14 August. The MCP server covers the whole /v1 surface with 15 read only tools. See MCP.
  • 14 August. An interactive explorer for the OpenAPI document is served at api.stonewake.ai/docs.
  • 13 August. The versioned, read only /v1 API opens, with workspace scoped keys that are stored as a one way hash, a rate limit per key and a daily quota per workspace, and a curated OpenAPI document. See the API reference.
  • 13 August. The hosted MCP server at mcp.stonewake.ai and this documentation go live.

Questions about an entry go to contact@stonewake.ai. See also Support.