Changelog

What changed in the API, the dashboard, the SDKs, the CLI and these docs, newest first.

2026-10-16

Documentation

  • Collections documents the journal listing and catalogue questions. Assisted search covers long queries and sub-questions. Search and Preview and unlock list relevance, chunk_index and discovery. Errors adds the credit, billing and key spending cap errors, and Filtering the doi_not_in_collection warning.
  • MCP describes relevance as a score only, lists filterDiagnosis and filterSuggestions, and explains the billing error codes. SDKs states the default timeouts.

2026-10-15

API

  • Every result on POST /search/query, POST /search/preview (locked rows included), POST /search/unlock and GET /search/results/{queryId} carries relevance: how well the passage answers the query, from 0 to 1, and is null on rows cached before this change. Assisted search keeps its own judgeScore. On MCP result rows, relevance is the only score field. See Search.
  • Unlocked MCP result rows carry chunk_index, as REST results do.
  • The MCP server publishes a redpine-search skill through the MCP Skills extension, so a skill-aware agent can fetch a current, versioned search guide straight from the server.
  • Searches read far less from disk, which keeps latency steady under load. Rankings on hybrid searches can differ very slightly.

SDKs

  • The Python and Go SDKs wait up to 120 seconds for assisted search by default, so long queries no longer time out. Other calls still wait 30 seconds, and a timeout you set applies to every call. The TypeScript SDK sets no timeout unless you pass one. See SDKs.
  • Assisted search responses expose caseSummary, subQuestions and each result's subQuestion in all three SDKs. The generated clients also include discovery, relevance and the collection journals listing.

2026-10-14

API

  • POST /search/assisted accepts queries up to 16,000 characters, so you can send a whole document such as a case note. A long query is split into up to four sub-questions, each searched and verified on its own; queryUnderstanding.caseSummary, queryUnderstanding.subQuestions and each result's subQuestion show how it was read. Assisted search returns at most one result per article, and asks for clarification only when a query cannot be searched as written. See Long queries.
  • Result metadata includes chunk_index, the passage's 0-based position in its document, on search, assisted search, unlock and cached results, so you can order or stitch neighbouring passages. Locked preview rows do not carry it.
  • An empty search that pins one or more DOIs adds a doi_not_in_collection filter warning for the pinned DOIs your key cannot reach in the collection, checked for up to ten DOIs, so you can tell a missing paper from a filter that is too narrow. See Filtering.
  • An API key's spending cap is now enforced when the key is used through MCP sign-in, not only with X-API-Key, and a key that hides the balance hides it there too. Paid integration tools count against the cap and are refused before they run if they would exceed it, and sub-cent charges now count. See Errors.

Dashboard

  • A dashboard tab left open across an update reloads itself once if a page fails to load, instead of staying broken.

2026-10-08

API

  • When an MCP search with filters returns nothing, the response can include filterDiagnosis: whether any document matches your filters at all, and which condition, if removed, brings documents back. An agent can tell whether to relax the filter or rephrase the query. It costs nothing, and is left out when it cannot help, such as for a filter on identifiers only.
  • When an MCP search filtering on journal or publisher returns nothing, filterSuggestions offers the closest names your key can search, with a journal's ISSN to filter on where one is known. journal and publisher remain exact-match filters.
  • The MCP server's instructions and tool descriptions now match its behaviour: preview and free tools keep working at zero balance, cost_to_unlock appears only on paid previews, and confirm takes result_ids.

2026-10-07

API

  • Ranking across several collections has a fallback, so fewer searches drop back to retrieval order.

2026-10-06

API

  • Ranking across several collections holds up under heavy concurrent load: searches it cannot take are passed on immediately instead of after a wait, so fewer drop back to retrieval order.
  • Searches keep working when the query-embedding service is slow or restarting, by switching to a standby. A search served that way can take a little longer.

Dashboard

  • The welcome step also asks, optionally, where you heard about Redpine.

2026-10-05

API

  • Questions about the catalogue itself, such as which data sources, publishers or journals your key can reach, sent without filters, are answered from the catalogue at no charge instead of running a billed search. Search, preview and assisted search return the answer in a new discovery field with results empty. See Catalogue questions.
  • New GET /search/collections/{name}/journals, and the MCP tool list_journals, list the journals in a collection, free: ranked by h-index with their impact factor, or by topic, filterable by publisher and minimum h-index, with the ISSNs to filter a search on. See List journals in a collection.
  • Over MCP, an out-of-credits, suspended-billing, exhausted-trial or key spending cap refusal is a normal tool error ending in an [error_code: ...] tag, with a purchase link where relevant, instead of a generic internal error. Nothing is charged, and the call can be retried once resolved. A malformed queryId returns not found instead of a server error.
  • Opening https://api.redpine.ai/mcp in a browser shows a setup page with the copy prompt and Add to Claude and Add to ChatGPT, instead of a Method Not Allowed error. MCP clients are unaffected.
  • Search and collection lookups retry a dropped connection to the search index instead of failing with a 500.
  • Fixed a case where a card purchase that needed extra verification could leave automatic top-ups blocked, and duplicate payment notifications can no longer credit an organization twice.

Dashboard

  • Home's setup card leads with the copy prompt, under For your agents. The chat app buttons sit on the right and read Add to Claude and Add to ChatGPT.
  • Home no longer has the Playground, Data Sources, API Keys and Buy credits quick actions. Data Sources and the Playground leave the sidebar and the command menu; the Playground is still at /org/{orgId}/playground, where questions about the catalogue get a free catalogue answer instead of "No results", and an organization with one key and one collection has both preselected. Metadata is always included, so the Include metadata switch is gone.
  • New accounts start with a live API key named Default, and a short welcome step asks for your organization's name, and yours if we do not have it. You can skip it. It also appears when the first thing you do is Add to Claude.
  • Connecting an assistant from Add to Claude or Add to ChatGPT is one Connect click when you belong to one organization, and the success page names the app you connected.
  • You can delete your own account from Settings. The page lists the organizations it affects: one where you are the only owner, and your personal organization, is deactivated for all its members, with its keys revoked and its data kept; from one with another owner you simply leave. Confirm by typing your email.
  • Dashboard sessions stay signed in for up to 14 days of inactivity, with a 30-day maximum. Signing out always clears the session, and returning users are signed back in without a redirect loop.
  • Adding a card from Home opens a dialog in place, explaining why a card is needed before the card form, and your balance updates as soon as the card is added.
  • The Create API key dialog explains in plain language what a key is, and the sandbox switch reads Sandbox key (for testing).
  • The sign-in notice links the Terms of Service alongside the API Access Terms and the Privacy Policy.
  • The cookie prompt is a centred dialog with Customize and Accept all; Accept necessary inside Customize keeps analytics off. Your choice is shared with docs.redpine.ai, so you decide once.
  • Links to app.redpine.ai show the Redpine image and title when pasted into chat or social apps.

Documentation

  • Get started is now the docs home page at docs.redpine.ai. Links to /get-started keep working and land there.
  • Every setup prompt in these docs, including the per-client "let a coding agent handle setup" one, is now the same prompt as Home's Copy prompt.
  • Get started has the same Copy prompt menu as Home: copy the setup prompt or open it in Claude Code or Codex, with Add to Claude and Add to ChatGPT links. The Claude Desktop and ChatGPT steps link the listing as a one-click alternative.
  • docs.redpine.ai asks before running analytics, and shares your choice with app.redpine.ai. Cookie preferences at the foot of the sidebar reopens it.

2026-10-04

API

  • New organizations no longer get a sandbox key automatically. Create one from the API Keys page when you want it. Sandbox keys that were created automatically have been revoked; sandbox keys you created yourself are unaffected. See Sandbox.
  • An MCP OAuth access token stops working as soon as the API key behind it is revoked, including keys revoked from the dashboard. Before, a client_credentials token could keep working for the rest of its hour.

Dashboard

  • While a sandbox key is selected, the Playground shows an amber banner above the results, tags every result Sample, and names the response "Sandbox · sample data, no charge". Live keys are listed first.
  • The API Keys page explains what a sandbox key does under its name.
  • Switching keys in the Playground cancels the request in flight, so one key's results never appear under another.
  • On a phone or tablet, Home's Open in menu opens the Claude and ChatGPT apps with the setup prompt filled in.

Documentation

  • Sandbox says sandbox keys are opt-in and how the Playground marks sandbox output.
  • Preview and unlock explains how to retry a preview safely with Idempotency-Key, and Errors lists INVALID_QUERY, SEARCH_RATE_LIMITED and the two idempotency codes.

2026-10-03

Dashboard

  • Home's setup card splits by client. Chat apps (Claude and ChatGPT) link straight to their connector and plugin listings. Coding agents copy a setup prompt that connects over browser sign-in, checks the tools, offers three first questions and asks before any paid unlock.
  • Customer-facing wording says "collection" throughout, never "meta-collection".

2026-10-02

Dashboard

  • Home's Copy prompt can open straight in Claude Code or Codex with the setup prompt filled in. If the app is not installed, the prompt is copied instead.
  • On Data Sources, a collection that searches several others opens a panel listing what it covers: each collection with its licence type, description and your price per 1,000 tokens, plus any tool integrations it carries.

2026-10-01

API

  • Journal-metric filters are back: journal_metric.2yr_mean_citedness, journal_metric.h_index and journal_metric.i10_index take range operators on search, preview, unlock, assisted search and MCP. Each threshold is resolved to the matching ISSNs from OpenAlex data (snapshot 2026-09-23), and REST responses report the result in journalMetricExpansions. See Filtering.
  • New journal_metric.impact_factor: an impact factor Redpine computes from OpenAlex citation data with the standard two-year formula. It is not Clarivate's Journal Impact Factor, and a journal without enough articles has no value.
  • Each metric has a lowest gte and a highest lte it accepts on its own. A threshold outside them returns 422 INVALID_FILTER naming the bound and how to fix it.
  • A metric condition can expand to at most 35,000 ISSNs, a request can send at most 70,000 in/not_in values counting your own lists, and a filter can hold at most 8 journal_metric conditions. A filter over any limit returns 422 INVALID_FILTER naming the limit.
  • A condition that matches no journal adds a journal_metric_matched_nothing filter warning.
  • A filter number that parses as NaN or Infinity returns 422 INVALID_FILTER naming the field. Before, it returned a 500.
  • POST /search/preview accepts an Idempotency-Key header, so a retried request returns the original queryId instead of running a second search. Reusing a key with a different body returns 422 IDEMPOTENCY_KEY_REUSED. See Preview and unlock.

SDKs

  • The Python, TypeScript and Go SDKs return filters_applied (filtersApplied) on search and preview responses and figure_count (figureCount) on preview and result rows. Their filter documentation covers the up-front 422 rules, journal metrics including impact factor, and the limits. See SDKs.

Dashboard

  • Home replaces Get started. It has one setup prompt, quick actions for the Playground, Data Sources, API Keys and, for owners, buying credits, and a heading that changes after your first query. Usage moves to Analytics, which also holds the audit log for owners and admins.
  • The organisation switcher moves into the first breadcrumb on every page.
  • The playground's filter builder offers impact factor.

Documentation

  • Filtering documents journal metrics again: the four fields, what a 0 means, exclusion with not, each metric's bounds and the expansion limits.

2026-09-30

Dashboard

  • New members land on a setup page with one prompt their agent reads to connect itself over MCP sign-in, with no API key needed. Pending invitations are shown there too.
  • The sidebar is grouped into Build (Data Sources, Playground, API Keys) and Manage (Members, Billing, Audit), with a Docs link. API keys and AI assistants share one page with tabs, and the three-step onboarding dialog is gone.

2026-09-29

API

  • First searches on large collections are faster, with no change in what they return.

2026-09-24

Dashboard

  • Closing the cookie dialog keeps analytics off, and moving a switch no longer saves your choice on its own. Only Save choices, Accept all and Reject all do.
  • The sign-in consent line links the API Access Terms and the Privacy Policy.

2026-09-23

API

  • MCP server instructions describe the catalog and list every tool, including get_balance and request_journal, instead of telling the agent which tool to call first.

Dashboard

  • A cookie banner asks before any analytics run. Reject all, Customize and Accept all carry equal weight, and Cookie preferences can be reopened from the sign-in page, the user menu and Settings.

2026-09-18

API

  • On a search across several collections, MCP relevance is scored after the collections are merged.
  • Searches made through a collection's own MCP search tool are counted once in usage. Before, they were counted twice.
  • An empty MCP preview returns the same message as an empty search, pointing to request_journal.

Dashboard

  • Audit log search rows show only the filters you sent and mark searches that returned nothing with a No results badge. The status filter has a No results option.

2026-09-17

API

  • Redpine's science collection no longer returns preprints.
  • Searches across several collections are much faster.
  • Queries written in non-Latin scripts, such as Cyrillic, Arabic or Chinese, are matched by meaning alone when keyword matching would drop most of their words. Before, such queries could return unrelated documents.

2026-09-16

API

  • The same search returns the same results, and so the same price, every time it runs.

Documentation

  • The quickstart now redirects to Get started, and SDKs has a "Your first request" section: start with a sandbox key, then make the same call in cURL, Python, TypeScript and Go.

2026-09-15

API

  • MCP confirm opens with a receipt naming what that call unlocked (each result's id, title and doi) with cost_charged and balance_remaining. unlocked_count stays the running total for the queryId; confirming results you already own returns an empty receipt and a charge of 0. See MCP.
  • Every MCP result row from search, preview and confirm carries relevance, a score for how well the passage answers the query. See MCP.
  • A result's source label within a meta-collection is the same on every surface: search results, collection listings and MCP tools.
  • API keys created with hide_balance no longer see the organisation's balance in get_balance, the find-tools status line, the insufficient-credits error on confirm, or the 402 body on /api/v1/search and /api/v1/search/unlock. Costs are still reported.
  • get_balance and the find-tools status line say when a trial ended because credits were added, instead of showing a bare count; get_balance returns trial_ended_reason.
  • An error for a tool that cannot be previewed points to inspect-tool to check the price, instead of suggesting a direct call.
  • journalMetricExpansions is removed from search, preview, unlock and assisted-search responses; journal_metric filters have been rejected since 2026-09-14, so it could never carry data.
  • GET /api/v1/search/results/{queryId} returns the filterWarnings an assisted search originally carried.
  • Error details returned to clients no longer include raw text from the retrieval service.

Dashboard

  • The organisation audit log has a Connections filter for MCP reconnect events, and the default view and the Recent Activity panel no longer show them, so searches and purchases stay visible. Connection grants and revocations remain in MCP Activity.
  • New organisations receive occasional emails to help them get started and to announce new collections. They come from [email protected], and replies reach a person.

Documentation

  • Filtering documents which filters are rejected with 422 INVALID_FILTER, the one-operator-per-condition rule, date formats and the filtersApplied echo. MCP documents the shared result shape of search, preview and confirm, and figure accounting. Errors lists INVALID_FILTER.

2026-09-14

API

  • Search filters that cannot be honoured are rejected up front with 422 INVALID_FILTER naming the field: unknown fields, mixed filter formats, unknown operators, range and equality operators on one condition, invalid dates, unrecognised article_type values, journal_metric.*, doc_id, and fields a collection has no index for. limit outside 1–30 is rejected instead of clamped. These errors no longer say "Retry once". See Filtering.
  • A query the search service rejects returns 422 INVALID_QUERY, and a burst of rejected queries returns 429 SEARCH_RATE_LIMITED with Retry-After, instead of a 503. This applies to REST search, MCP search and preview, and assisted search.
  • Fewer real queries are refused as noise. A repeated character is rejected only when it is the whole query, such as aaaaaaa, so a query that merely contains a long run of one letter now goes through. See Errors.
  • Search, preview and unlock responses echo the filters that were applied as filtersApplied.
  • Over MCP, search, preview and confirm return the same result rows, including authors, ISSN, keywords, section, article type and open-access status. Direct search reports cost_charged and balance_remaining. Figure delivery reports images_attached, unavailable and omitted_over_limit, which add up to figure_count, and each image caption names its result. See MCP.
  • Direct MCP search returns its rows as structured content instead of Markdown. Clients read structuredContent; the "Found N results" header, score and chunk_index are gone.
  • An expired MCP session returns HTTP 404, so clients reconnect instead of looping on an error. A session in use no longer expires 24 hours after it began.
  • MCP search is marked as not read-only, because it can charge; preview stays read-only.
  • Agent-facing text and tool discovery reflect the caller's own catalog.

2026-09-11

API

  • Fixed intermittent 500 errors on search, and slow account and balance responses while searches were running.
  • Daily spend alert emails are sent again.

Dashboard

  • Onboarding, joining an organisation, creating an API key and connecting an MCP client record your acceptance of the version of Redpine's terms you were shown. The policies live at legal.redpine.ai, and the old in-app policy pages redirect there. Connecting an MCP client no longer accepts the API terms on your organisation's behalf; an admin accepts them in the browser first.

2026-09-10

API

  • Preview results carry figureCount. POST /search/unlock takes includeFigures to return the figure images with the unlocked text, at no extra cost and up to 50 images per call, and GET /search/results/{queryId} can fetch them again. Over MCP, confirm takes include_figures. See Search.
  • MCP tools have readable titles and plainer descriptions.
  • Fewer intermittent 503 errors on search.

SDKs

  • The Python SDK is on PyPI: pip install redpine-sdk. See SDKs.

Documentation

  • Get started gives the exact setup steps for your client (Claude Code, Codex, Cursor, Claude Desktop, ChatGPT and others) or SDK, and the docs home page is redesigned.

2026-09-09

API

  • data_provider is no longer returned in result metadata, and a filter on it returns 422 INVALID_FILTER.

Dashboard

  • Playground results show the publisher alongside the journal and publication details, making sources easier to identify.
  • You can clear the playground's recent calls for your current organisation.
  • Legal documents open in a new tab during sign-in and setup, so checking a policy no longer takes you away from the form you are completing.

2026-09-08

API

  • Search filters out very short fragments, such as isolated headings, so results contain more useful text. See Search.

Dashboard

  • The playground's Code tab shows the request with the Python, TypeScript and Go SDKs, the same calls the guides use; cURL stays the raw request. Results is the first tab, and the results panel scrolls on its own. See SDKs.

2026-09-07

API

  • Agents can request a missing journal or publisher with the free request_journal MCP tool. Available to organisations with access to a collection.
  • open_access filters across a meta-collection: a collection that holds only open-access content answers the filter as a whole, and open_access: false excludes it with a filterWarnings entry. license is returned in result metadata but is not a filter. See Filtering.
  • Collection listings show exact prices only. A meta-collection whose members all cost the same shows one price rather than a range, and a price that cannot be resolved is reported as unavailable, never as $0.00. There are no more estimated per-query costs. See Collections.
  • Balance and charge amounts over MCP are reported at ledger precision, so a sub-cent charge no longer rounds to $0.00.
  • People who join through an organisation invite no longer get a separate personal workspace created alongside it.
  • Reliability fixes for assisted search and for retrieval connection errors.
  • X-Query-Cost is what the request was charged. For a billing-exempt organisation it carried an estimate, which read as a charge; it is now 0.000000 whenever nothing was charged (exempt, trial and sandbox modes), on the REST headers and in the MCP billing footer. See Rate limits and billing headers.
  • A search on a collection that no longer exists answers 404 COLLECTION_NOT_FOUND instead of 503 QDRANT_UNAVAILABLE.

Dashboard

  • Request a journal or publisher from Data Sources and see your organisation's submitted requests.
  • The playground is rebuilt around the request: pick a key, choose collections as chips, ask, and send. Results render as reading rows with title, journal, year, DOI and source link and the query terms marked, with the raw response, headers and the request as cURL, Python, TypeScript and Go a tab away. A ledger line shows status, latency, results, tokens, what was charged and the balance, read from the response itself.
  • Results render as markdown by default (headings, lists and tables in the chunk text), with a Plain text view that marks the query terms. The ledger line names the billing mode and says "no charge" for exempt, trial and sandbox requests.
  • With Include figures on, figures render as thumbnails that open full size with their caption. Figures that were not fetched keep their label, caption and link.
  • The documentation pages inside the dashboard are retired. Every old /docs link, in the dashboard and on the public site, redirects to the matching page on docs.redpine.ai. The playground moved to /org/{orgId}/playground and stays in the sidebar next to API Docs.
  • The billing transaction table shows a sub-cent charge as <$0.01 instead of $0.00.

Documentation

  • This changelog.
  • Filtering documents open_access across open-access collections and that license is not a filter; Collections documents when priceRange is null.
  • Each tool on an integration page has its own anchor, so links from the playground land on the tool.

2026-09-04

CLI

  • New redpine preview, redpine confirm (alias unlock) and redpine balance, so the free-preview-then-pay flow works from the terminal. See Preview and unlock.
  • Reads REDPINE_API_KEY and REDPINE_BASE_URL, the same names the SDKs use. CONNECT_API_KEY and CONNECT_SERVER_URL still work.
  • Output is the JSON envelope whenever stdout is not a terminal; --json and --pretty force either. This is what the README always said and it now holds.
  • A tool result flagged as an error renders as the error envelope with a non-zero exit, instead of success.
  • redpine update verifies the download against the release's checksums.txt. A newer release is a notice on stderr, no longer a block on every command.
  • whoami labels sandbox keys.

2026-09-03

SDKs are public

  • Official clients for Python, TypeScript and Go. TypeScript is on npm as @redpine-ai/sdk; Go via the module proxy.
  • The SDKs add preview() and unlock(), and get_results returns the preview shape with locked, tokens and cost per row. New typed errors for 402 (insufficient credits) and 410 (expired).
  • Every guide on this site now shows the SDK call next to the cURL request.

API

  • Preview and unlock: POST /api/v1/search/preview runs a search for free and returns teaser rows with a price per row; POST /api/v1/search/unlock pays for the rows you choose. GET /api/v1/search/results/{queryId} returns the same shape. Previews last 7 days, and over MCP a confirm can be retried.
  • Sandbox mode: sk_test_ keys return synthetic fixtures at no cost, on the same endpoints. Every response carries X-Billing-Mode.
  • Assisted search falls back to a second model provider when the first is unavailable.
  • MCP search results no longer expose the internal retrieval score.
  • last_updated_date is filterable on the editorial collections. It is the freshness signal there, since editorial articles are revised in place rather than republished. See Filtering.
  • Integrations such as media and aviation tools are enabled per organisation, off by default. Turn them on from the Data Sources page in the dashboard.
  • Organisations on a billing exemption no longer open every MCP session with a "No balance remaining" notice.
  • Every email the platform sends, including the sign-in code and receipts, is readable on a phone without zooming.

Dashboard

  • API Keys: create a sandbox key, badged so it cannot be mistaken for a live one.
  • Data Sources: switch integrations on or off for your organisation, and see whether each data source is granted directly, included with a bundle, or open access.
  • Publisher organisations get an editorial theme across the dashboard, with the publisher's logo in the masthead.

Documentation

  • SDK examples on every guide, and the quickstart installs a client instead of showing raw HTTP.
  • The language picker remembers your choice across pages, and always has a tab selected.
  • MCP: setup guides per client (Claude Code, Codex, Cursor, Claude Desktop, ChatGPT and others) and the search, preview and confirm tool surface.
  • Which search endpoint: a short decision guide between direct, preview and assisted search.
  • Integrations lists the tools available to your organisations when you are signed in.
  • The X-API-Key header is documented as an alternative to Authorization: Bearer. See Authentication.

2026-09-02

API

  • Searches across several collections are merged by relevance rather than by rank alone. Before this, equal-length result lists tied rank for rank and the wrong collection took the top slot in most measured searches. Single-collection searches are unchanged.

2026-09-01

Documentation

  • This site, docs.redpine.ai, is live.
  • The API reference is generated from the public OpenAPI spec, the same spec the SDKs are built from.
  • /llms.txt and /llms-full.txt serve the docs as Markdown for agents, and any page is available as Markdown by appending .md to its URL.

API

  • Search results are cached reliably, including assisted search, so re-fetching by queryId within 7 days works every time.

2026-08-31

API

  • The organisation audit log lists only events that belong to your organisation. Actions taken by Redpine staff from outside the organisation are attributed to "Redpine Staff".
  • A meta-collection can bundle integrations alongside collections. Tools included this way appear on the Data Sources page and over MCP.
  • A signup through an invite link gets a welcome email that names the invite and what it grants, and lands back on the invite.

2026-08-28

API, Dashboard

  • An invite link can require accepting a terms document before it is claimed. The acceptance is recorded with the claim.
  • The post-signup setup commands for Claude Code and Codex are corrected. Both failed on first use before.

2026-08-27

API, Dashboard

  • isbn, open_access, chapter_number, chapter_title and chapter_authors are indexed filter fields on every collection, and article_type accepts book and book-chapter. See Filtering.
  • Invite links: an invite from Redpine is claimed at app.redpine.ai/redeem/{code}. It can grant credits, collections and integrations to the workspace you choose, and the page shows what it grants before you claim.
  • New accounts get a three-step onboarding on first visit: connect a client, see what you can reach, add a card for premium content. It can be closed and reopened.

2026-08-25

API

  • Search no longer expands query terms from a synonym dictionary by default. Measured on real queries, expansion lowered ranking quality. Where it still applies, an acronym expands only when written the way the dictionary spells it (PCR, not pcr), and a phrase matches only at word boundaries.
  • Over MCP, a search across a meta-collection names the source collection on each result, and the search-{collection} tool description lists the sources it covers.

Dashboard

  • A new visual design across the dashboard: surface hierarchy, rounded controls, one type family.
  • An integration's own error message is shown as a tool error in the playground, not as a malformed request.

2026-08-23

API

  • A tool that ran and returned a domain error (no results for that keyword, a rule that said no) now returns 422 TOOL_ERROR with the tool's message. It was reported as 502, which behind the CDN lost the message entirely.
  • Fixed intermittent 503 responses under bursts of MCP connection attempts.

2026-08-20

API

  • A paid MCP confirm returns doi, pmid, pmcid and url on every result that has them, so results can be cited. Editorial content, which has no DOI, is located by url.

2026-08-19

API, Dashboard

  • Search runs on a new multilingual embedding model with a normalised metadata schema: publication_date is a real date field, and article_type and section use controlled vocabularies. See Filtering.
  • When an MCP search fails, the error says why (a timeout while a large collection warms up, a connection failure) with an error_code, instead of a generic "please try again".
  • The public OpenAPI spec documents the billing response headers and the assisted-search semantics, and matches the live schemas.
  • Billing: one page for balance, adding funds, payment settings and a single activity table with payments and disputes. The old billing routes redirect.

CLI

  • redpine search takes --filter key=value (also !=, >=, comma-separated lists) and --filter-json for a full filter document.
  • Updated Go toolchain and dependencies.

2026-08-18

API

  • Fixed: POST /api/v1/search/assisted returned a validation error for a day, because the per-collection search route captured it.
  • Meta-collections support MCP preview and confirm, and a meta-collection can be open to every organisation.

2026-08-17

API

  • Meta-collections: a named collection that spans several publisher, journal or curated collections, searched and billed as one unit. GET /api/v1/search/collections lists a meta-collection with its member names, member count and price range; pass its name as collection to search every member together. See Collections.

2026-08-11

API, Dashboard

  • Articles listed as retracted are excluded from search results on the scholarly collections.
  • Signing out revokes the session on the server, not only in the browser.
  • MCP connections no longer count toward the organisation's API key limit, which had blocked key creation for organisations with many connected clients.
  • Invite or add several people in one submission: the members dialog takes a pasted list, and a bad address is reported beside the successes instead of failing the whole batch.
  • A missing display name is filled from Google on sign-in; otherwise the dashboard asks for one.
  • Error messages in the dashboard show the API's own message instead of a generic one.

2026-08-10

API, Dashboard

  • Collection names are matched case-insensitively, so any capitalisation of a name resolves to the same collection. Display spelling is unchanged.
  • Publisher dashboard for content partners: earnings, tokens served, citations, top content, a geography view, and a live feed of the last hundred citations of your content.
  • The organisation audit log records how each sign-in happened (Google, one-time code, passkey) and sign-ins refused by the identity provider.

2026-08-07

API

  • A revoked API key returns 401 API_KEY_REVOKED rather than INVALID_API_KEY. See Errors.
  • Every search result carries the name of the collection it came from.
Was this page helpful?

On this page