Home / Companies / Fern / Blog / September 2026

September 2026 Summaries

9 posts from Fern

Filter
Month: Year:
Post Summaries Back to Blog
Kapa.ai is a well-reviewed, standalone AI assistant for technical documentation that indexes docs, API specifications, support tickets, forums, and other sources to provide cited answers through website widgets, Slack, Discord, Zendesk, APIs, and MCP servers. Its strengths include broad source and channel coverage, fast setup, answer-quality analytics, and support for any documentation stack, while its main drawbacks are opaque sales-led pricing, a separate index and access-control model to maintain, and potential overlap with AI features included in documentation platforms. Kapa offers a 14-day trial, while third-party data estimates a median annual contract of $25,200, with pricing influenced by usage, integrations, and support requirements. The comparison emphasizes that architecture should guide selection: Kapa is most suitable for organizations needing answers drawn from many external sources and delivered across multiple support channels, whereas Fern’s Ask Fern is positioned as a stronger option for teams using Fern-hosted documentation because it natively shares documentation indexing, SDK context, role-based permissions, analytics, Slack, widgets, and MCP access. Other alternatives include Inkeep for customizable multi-step agents, DocsBot for smaller teams seeking transparent self-service pricing, and custom RAG systems for organizations willing to own the required infrastructure and maintenance.
Sep 25, 2026 2,832 words in the original blog post.
Mintlify is a hosted docs-as-code platform that uses MDX, Git repositories, and a docs.json configuration file to publish polished developer documentation, interactive API references from OpenAPI and AsyncAPI, local previews, browser editing, and AI-powered assistance. Reviews commonly praise its rapid setup, default design, flexibility, and support, while concerns include its lack of native SDK generation, page-level-only access controls, single-repository model, and metered AI usage. Its 2026 pricing includes a free Starter plan, a $450-per-month Pro plan with 10,000 AI credits, and custom Enterprise plans, making projected Assistant and automation traffic an important cost factor. The comparison argues that Mintlify is well suited to standalone documentation sites, whereas teams distributing client SDKs may prefer Fern, which generates API documentation and SDKs from the same definition and provides more granular permissions and container-based self-hosting. Other alternatives include ReadMe for hosted API hubs, GitBook for collaborative knowledge bases, and Docusaurus for fully self-managed open-source documentation. Migrating from Mintlify generally centers on translating configuration and components, regenerating API references from the existing specification, preserving URLs with redirects, and updating AI-related endpoints.
Sep 25, 2026 2,858 words in the original blog post.
OpenAPI-to-Postman conversion is widely commoditized, so the meaningful differences among tools lie in test generation, CI execution, synchronization, and artifact storage rather than import fidelity. Postman’s native import and the open-source openapi-to-postmanv2 converter generate request inventories from Swagger and OpenAPI specifications, mapping operations, tags, examples, security schemes, and servers into requests, folders, bodies, authentication, and variables, but they do not create assertions or stateful flows. Portman adds schema-derived contract, variation, and fuzzing tests and can execute them through Newman, making it suited to CI-based contract verification. Postman Spec Hub provides two-way synchronization but does not support multi-file OpenAPI documents and can retain obsolete requests unless orphan removal is enabled, while Newman and Postman CLI both provide nonzero exit codes for CI failures. Insomnia supports a broader range of protocols and uses Inso CLI for automated testing, whereas Bruno emphasizes git-native, plain-text collection files that can be reviewed alongside code. Collection usefulness ultimately depends on the API specification: operation IDs, meaningful tags, real examples, explicit security schemes, and server definitions produce clearer and more runnable output, while assertions, chained state, token acquisition, and meaningful negative cases generally require generated test tooling or separately maintained scripts.
Sep 18, 2026 3,766 words in the original blog post.
Generated SDKs often require hand-written additions such as authentication helpers, retry policies, compatibility shims, and integration tests, creating a risk that regeneration will overwrite those changes. The comparison categorizes preservation approaches into file-level ignore rules, predefined extension points, tracked patches reapplied through three-way merges, and separate wrapper packages. Ignore files, supported by tools including Fern, Speakeasy, and OpenAPI Generator, protect entire files but prevent them from receiving future generated updates, while extension points such as Speakeasy’s code regions and liblab’s lifecycle hooks preserve code only in designated locations or for request-lifecycle behavior. Merge-based approaches from Fern Replay, Stainless, and APIMatic retain line-level customizations while allowing surrounding generated code to update, surfacing genuine conflicts for review, though they require ongoing patch maintenance and testing to catch semantic changes. OpenAPI Generator relies on exclusions, templates, and custom generators rather than post-generation merging, while Kiota generally requires customizations to remain outside its managed output, aside from C# partial classes. The text recommends first expressing requirements through the API specification, overlays, or generator configuration, then using extension points or tracked patches when necessary, reserving ignore rules for fully hand-owned files and wrapper packages for substantial custom layers.
Sep 18, 2026 4,161 words in the original blog post.
Automating releases for generated Python SDKs should make each PyPI publication reproducible from an API definition and a CI run, using contract-derived versions, tested build artifacts, and short-lived GitHub Actions OIDC credentials rather than manually entered versions and long-lived API tokens. Because PyPI uploads are effectively permanent and filenames cannot be reused, pipelines should validate API definitions, generate and build wheel and source-distribution artifacts once, test the installed wheel across the supported Python-version range, validate package metadata, require approval for major or initial releases, publish through PyPI trusted publishing, and verify installation from the index afterward. Trusted publishing scopes access to a configured repository, workflow, and optional environment, supports approval gates and PEP 740 provenance attestations, while token authentication remains a less secure fallback. The recommended versioning model computes semantic changes from API-contract and generator-configuration diffs, treats Python-version floor increases as breaking changes, and records shipped versions as future comparison baselines. Broken releases should be yanked rather than deleted, multi-registry releases should be independently retryable, package names should be reserved early, and private-index consumption should use a single proxying index rather than pip’s extra-index option to avoid dependency confusion. Fern is presented as a tool that generates typed Python SDKs, tests, GitHub Actions workflows, and OIDC-based PyPI publishing configuration from API definitions.
Sep 11, 2026 2,969 words in the original blog post.
Speakeasy is presented as an OpenAPI-native SDK generator that supports about ten targets, contract testing, Terraform provider generation, TypeScript runtime validation, and local or air-gapped CLI-based execution, while its newer investment focus is Gram, an AI control plane for MCP server governance. The assessment argues that Speakeasy is best suited to teams needing SDK generation alone and already using a separate documentation platform, since it does not provide hosted API documentation and instead exports code samples through OpenAPI overlays for third-party tools, creating separate SDK and documentation pipelines that may drift. Its published pricing is described as inconsistent and apparently based on language coverage, making direct confirmation and long-term cost modeling important. Alternatives include Fern, which combines SDKs, documentation, release checks, publishing, and governance features from one API definition; OpenAPI Generator and Microsoft Kiota, which are free open-source client generators but require teams to manage surrounding workflow and documentation; and APIMatic, which offers a managed portal and SDK generation with more workflow limitations. The text recommends evaluating candidates using an organization’s own API specification, examining generated client structure, compatibility behavior, dependencies, breaking-change controls, deployment constraints, and support for multiple consumer audiences, while treating migrations as public-API preservation projects rather than simple generator replacements.
Sep 11, 2026 3,384 words in the original blog post.
Multi-language SDK generation is presented as primarily a release-pipeline challenge rather than a code-emission problem, because maintaining clients across languages requires automated specification validation, code generation, custom-code preservation, testing, versioning, publishing, and documentation updates. Handwritten or partially automated SDKs tend to drift as API changes multiply across ecosystems, while effective automation must also produce idiomatic language-specific interfaces, runtime features such as retries and pagination, and reliable generated unit and wire tests. Publishing remains especially complex because registries such as npm, PyPI, Maven Central, NuGet, RubyGems, Packagist, crates.io, Go modules, and Swift Package Manager use different authentication and release mechanisms, though OIDC-based trusted publishing can reduce reliance on long-lived secrets. The discussion compares open-source generators, which generally focus on code emission, with commercial platforms that manage more of the surrounding release process, and identifies specification quality, language-specific review, consumer adoption, and custom extensions as continuing operational challenges. Fern is described as a platform that generates SDKs in nine languages from one API definition and automates testing, version calculation, custom-code reconciliation, registry publishing, and documentation while retaining the ability to export standard OpenAPI definitions.
Sep 04, 2026 3,445 words in the original blog post.
Generating a useful TypeScript client from OpenAPI depends less on a tool’s feature list than on its defaults for naming, serialization, union narrowing, optionality, typed errors, module formats, runtime compatibility, and dependencies. The source OpenAPI specification should include clear operation IDs, consistent tags, accurate required-versus-nullable fields, formats, examples, and `oneOf` schemas with discriminators so generated types are understandable and narrow correctly. The text contrasts tools intended for internal applications, such as openapi-typescript, Orval, Hey API, and Kubb, with tools for published SDKs, including OpenAPI Generator, Kiota, Speakeasy, and Fern, arguing that public packages require stronger compatibility, testing, publishing, and dependency considerations. It examines tradeoffs between wire-format-preserving clients and casing-transforming serialization layers, thrown typed errors and result objects, closed and open enums, branded identifiers, and optional properties versus explicit undefined values. It also recommends native fetch, ESM and CommonJS support, minimal runtime dependencies, configurable retries and timeouts, built-in pagination and streaming support, regeneration-safe extension patterns, and CI-based generation, tests, compatibility checks, and trusted npm publishing. Fern is presented as a generator that exposes many of these choices through configuration while offering dependency-free output, generated tests, pagination, retries, middleware, and OpenAPI export.
Sep 04, 2026 3,607 words in the original blog post.
Fern Agent is a documentation-focused AI agent that investigates analytics, search activity, configuration, and user feedback to identify underperforming pages and propose or make edits through a unified conversation available in Fern’s Dashboard, Slack, and MCP-compatible external coding agents. Although each interface is tailored to its native workflow, they share the same tools, persistent organization-level conversation state, and durable backend workflows, allowing tasks to survive crashes or deployments without repeating completed actions. Its editing system uses a fast GitHub API-based lane for simple changes and escalates to a persistent full-checkout session for more complex work, delivering updates either to the visual editor as drafts or to GitHub branches and pull requests. Fern Agent executes under the requesting user’s authentication rather than a privileged service account, enforcing existing role-based access controls and screening all external or user-provided content for prompt-injection attempts before it reaches the model. Built collaboratively by Fern’s team and now available to customers, the product emphasizes evidence-based investigation, human review of changes, shared tools for both hosted and customer-operated agents, and Git-based controls over published documentation.
Sep 01, 2026 1,561 words in the original blog post.