<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Bloom blog</title>
    <link>https://trybloom.so/blog/</link>
    <description>Posts from the Bloom team on OpenAPI, SDKs, API docs, and migrations.</description>
    <language>en-us</language>
    <lastBuildDate>Mon, 25 May 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Publishing a TypeScript SDK to npm in 2026</title>
      <link>https://trybloom.so/blog/publish-typescript-sdk-to-npm/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/publish-typescript-sdk-to-npm/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <description>A practical guide to publishing a TypeScript SDK on npm — package.json shape, exports map, dual ESM/CJS, semver discipline, .npmignore, 2FA, and dry-run.</description>
    </item>
    <item>
      <title>OpenAPI validator: 5 tools tested in 2026</title>
      <link>https://trybloom.so/blog/openapi-validator/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/openapi-validator/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <description>Five OpenAPI validators compared on real specs: Spectral, Redocly CLI, openapi-cli, swagger-cli, and Bloom. What to ship in CI.</description>
    </item>
    <item>
      <title>OpenAPI to npm package: a publishing workflow</title>
      <link>https://trybloom.so/blog/openapi-to-npm-package/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/openapi-to-npm-package/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <description>End-to-end workflow: OpenAPI spec → generated TypeScript SDK → versioned npm package → docs site. CI pipeline patterns, dry-run releases, and provenance.</description>
    </item>
    <item>
      <title>Migrating from Stainless to Bloom without losing the SDK experience</title>
      <link>https://trybloom.so/blog/migrating-from-stainless-to-bloom/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/migrating-from-stainless-to-bloom/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <description>What changes (and what doesn't) when you move your OpenAPI workflow off Stainless. A practical walkthrough using the files you already own.</description>
    </item>
    <item>
      <title>Generate a TypeScript SDK from OpenAPI: end-to-end in 2026</title>
      <link>https://trybloom.so/blog/generate-typescript-sdk-from-openapi/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/generate-typescript-sdk-from-openapi/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <description>A practical guide to generating a TypeScript SDK from an OpenAPI spec — spec hygiene, picking a generator, package shape, examples, and publishing. With concrete commands.</description>
    </item>
    <item>
      <title>Generate a Python SDK from OpenAPI: end-to-end in 2026</title>
      <link>https://trybloom.so/blog/generate-python-sdk-from-openapi/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/generate-python-sdk-from-openapi/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <description>Generate a Python SDK from OpenAPI: spec hygiene, generator choices, packaging, async support, and a practical PyPI workflow.</description>
    </item>
    <item>
      <title>DX tools every API company needs in 2026</title>
      <link>https://trybloom.so/blog/dx-tools-for-api-companies/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/dx-tools-for-api-companies/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <description>The DX toolchain for API companies — docs, SDKs, examples, sandbox, status, observability, and agent-readable surfaces — with concrete picks at each tier of growth.</description>
    </item>
    <item>
      <title>The developer-experience toolkit for API startups in 2026</title>
      <link>https://trybloom.so/blog/developer-experience-tools/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/developer-experience-tools/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <description>What API startups need in DX: docs, SDKs, examples, status, support, telemetry, and one OpenAPI workflow without enterprise pricing.</description>
    </item>
    <item>
      <title>Detecting breaking changes in OpenAPI: a 2026 guide</title>
      <link>https://trybloom.so/blog/breaking-changes-openapi/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/breaking-changes-openapi/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <description>What counts as a breaking change in OpenAPI vs in the generated SDK — concrete rules, the tools that catch them (oasdiff, openapi-diff, Bloom), and how to wire detection into CI.</description>
    </item>
    <item>
      <title>The API launch checklist (with templates)</title>
      <link>https://trybloom.so/blog/api-launch-checklist/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/api-launch-checklist/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <description>A practical pre-launch checklist for a public API in 2026: spec hygiene, SDKs, docs, examples, status page, changelog, rate limits, auth, support, and what to monitor on day one.</description>
    </item>
    <item>
      <title>Generate an SDK from OpenAPI in five minutes</title>
      <link>https://trybloom.so/blog/generate-sdk-from-openapi-in-five-minutes/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/generate-sdk-from-openapi-in-five-minutes/</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <description>Upload an OpenAPI 3.x spec, get a typed TypeScript and Python SDK preview with a runnable example. Step-by-step, with what's in the output.</description>
    </item>
    <item>
      <title>Stainless is joining Anthropic. What it means for your SDK and docs</title>
      <link>https://trybloom.so/blog/stainless-joining-anthropic-what-it-means/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/stainless-joining-anthropic-what-it-means/</guid>
      <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
      <description>What changes (and what doesn't) for Stainless customers after the Anthropic acquisition. The questions to ask, the files to inventory, and what a reversible migration looks like.</description>
    </item>
    <item>
      <title>How to evaluate API documentation tools without getting locked in</title>
      <link>https://trybloom.so/blog/how-to-evaluate-api-documentation-tools/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/how-to-evaluate-api-documentation-tools/</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <description>A practical buyer's lens for picking API docs tooling: OpenAPI fidelity, SDK examples, llms.txt, migration risk, and pricing transparency. The criteria buyers actually use.</description>
    </item>
    <item>
      <title>OpenAPI vs stainless.yml: what each file actually controls</title>
      <link>https://trybloom.so/blog/openapi-vs-stainless-yml-what-each-actually-controls/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/openapi-vs-stainless-yml-what-each-actually-controls/</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
      <description>OpenAPI defines the API. stainless.yml defines the SDK. Most migration confusion comes from mixing the two. A field-by-field walkthrough.</description>
    </item>
    <item>
      <title>llms.txt: the quietest SEO win for API docs in 2026</title>
      <link>https://trybloom.so/blog/llms-txt-the-quietest-seo-win-for-api-docs/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/llms-txt-the-quietest-seo-win-for-api-docs/</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <description>What llms.txt is, why agent-readable docs matter for API teams, and how to ship it from an OpenAPI spec without rewriting your docs site.</description>
    </item>
    <item>
      <title>SDK compatibility reports: the diff that makes migrations reversible</title>
      <link>https://trybloom.so/blog/sdk-compatibility-reports-explained/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/sdk-compatibility-reports-explained/</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
      <description>What's in a generated-SDK compatibility report, why teams skip it, and how to read one when the stakes are a published package.</description>
    </item>
    <item>
      <title>Swagger vs OpenAPI: what changed, what didn't, and what to use in 2026</title>
      <link>https://trybloom.so/blog/swagger-vs-openapi-in-2026/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/swagger-vs-openapi-in-2026/</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <description>Swagger and OpenAPI mean different things in practice. A short guide to the names, the actual specification, and what your team should standardize on today.</description>
    </item>
    <item>
      <title>Examples of great API documentation (and what to copy from them)</title>
      <link>https://trybloom.so/blog/examples-of-great-api-documentation/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/examples-of-great-api-documentation/</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <description>Six docs sites worth studying — Stripe, Twilio, Linear, GitHub, Plaid, Anthropic — with the specific design choices that make each one work.</description>
    </item>
    <item>
      <title>REST API versioning best practices for teams shipping SDKs</title>
      <link>https://trybloom.so/blog/rest-api-versioning-best-practices/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/rest-api-versioning-best-practices/</guid>
      <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
      <description>Versioning strategies that actually work in 2026 — URL path, header, query, content negotiation. With trade-offs and what to pick for a public API.</description>
    </item>
    <item>
      <title>OpenAPI best practices for SDK-friendly specs</title>
      <link>https://trybloom.so/blog/openapi-best-practices-for-sdk-friendly-specs/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/openapi-best-practices-for-sdk-friendly-specs/</guid>
      <pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate>
      <description>The OpenAPI patterns that produce idiomatic SDK code — naming, schema reuse, examples, security. Practical, with what to do and what to avoid.</description>
    </item>
    <item>
      <title>OpenAPI 3.1 vs 3.0: what's new and what to use in 2026</title>
      <link>https://trybloom.so/blog/openapi-3-1-vs-3-0-what-to-use/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/openapi-3-1-vs-3-0-what-to-use/</guid>
      <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
      <description>The differences between OpenAPI 3.0 and 3.1 that actually matter — JSON Schema 2020-12, webhooks, nullable, examples. Plus how to upgrade safely.</description>
    </item>
    <item>
      <title>REST vs GraphQL: which one do you need in 2026?</title>
      <link>https://trybloom.so/blog/rest-vs-graphql-which-do-you-need-in-2026/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/rest-vs-graphql-which-do-you-need-in-2026/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <description>A practical guide to choosing between REST and GraphQL for a new API in 2026. Where each one shines, where each one bites, and what to pick for typical SaaS use cases.</description>
    </item>
    <item>
      <title>Swagger Codegen vs modern SDK generators: what changed, what to use</title>
      <link>https://trybloom.so/blog/swagger-codegen-vs-modern-sdk-generators/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/swagger-codegen-vs-modern-sdk-generators/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <description>Swagger Codegen and OpenAPI Generator built the SDK-from-spec category. Where they still fit, where modern alternatives win, and a practical decision tree for 2026.</description>
    </item>
    <item>
      <title>OpenAPI security best practices for production APIs</title>
      <link>https://trybloom.so/blog/openapi-security-best-practices/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/openapi-security-best-practices/</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <description>How to model auth, secrets, scopes, and audit-friendly behavior in OpenAPI 3.x. Practical patterns for API keys, OAuth, mTLS, and the gotchas that bite in production.</description>
    </item>
    <item>
      <title>OpenAPI webhooks: the right pattern in 3.1</title>
      <link>https://trybloom.so/blog/openapi-webhooks-pattern/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/openapi-webhooks-pattern/</guid>
      <pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate>
      <description>How to model webhooks in OpenAPI 3.1, why the 3.0 callbacks workaround was awkward, and what generated SDKs and docs should do with webhook definitions.</description>
    </item>
    <item>
      <title>What is an MCP server? A practical introduction</title>
      <link>https://trybloom.so/blog/what-is-mcp-server/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/what-is-mcp-server/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <description>MCP (Model Context Protocol) lets AI agents call your API as a typed tool. What an MCP server is, what it isn't, and how to think about shipping one for your product.</description>
    </item>
    <item>
      <title>MCP server security: what to lock down before shipping</title>
      <link>https://trybloom.so/blog/mcp-server-security/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/mcp-server-security/</guid>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <description>MCP servers expose tools to AI agents. Auth, sandboxing, rate limits, audit logs — the security checklist before exposing internal capabilities to an LLM client.</description>
    </item>
    <item>
      <title>Generate an MCP server from OpenAPI: what's possible in 2026</title>
      <link>https://trybloom.so/blog/openapi-to-mcp-server/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/openapi-to-mcp-server/</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <description>OpenAPI 3.x specs can drive MCP server generation. What translates cleanly, what needs human input, and the tools shipping OpenAPI-to-MCP today.</description>
    </item>
    <item>
      <title>OpenAPI codegen: what it does, which tool to pick, what to avoid</title>
      <link>https://trybloom.so/blog/openapi-codegen-explained/</link>
      <guid isPermaLink="true">https://trybloom.so/blog/openapi-codegen-explained/</guid>
      <pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate>
      <description>OpenAPI codegen turns specs into SDKs in 50+ languages. Where each tool wins, what makes generated code idiomatic, and the patterns that hurt downstream.</description>
    </item>
  </channel>
</rss>
