From d0440a61c5c37ec03ae52bb72af44bdd7cb53dae Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 18 Mar 2026 10:25:34 +0000 Subject: [PATCH 1/5] Add broken links scaffold for Devin to fix --- .github/broken-links/broken-links.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/broken-links/broken-links.md diff --git a/.github/broken-links/broken-links.md b/.github/broken-links/broken-links.md new file mode 100644 index 0000000000..5eb637c642 --- /dev/null +++ b/.github/broken-links/broken-links.md @@ -0,0 +1,26 @@ +@devin-ai-integration Please fix the broken links detected by the scheduled link checker. + +**Instructions:** +1. For each URL listed below, identify the source file containing the broken link +2. Try to find the correct replacement URL. Common fixes include: + - Updating outdated commit SHAs to the latest commit + - Fixing URL-encoded paths + - Updating renamed file paths +3. **IMPORTANT: If you cannot confidently find a correct replacement** (e.g., the only signal is a 5xx/503 error, connection reset, or rate limiting), **do NOT remove or modify the link**. Instead, leave it unchanged and add a PR comment on the relevant line asking for manual validation. +4. Only update links/paths contained in this PR, not other links that follow a similar pattern +5. Run `fern docs dev` locally to verify your changes don't break anything +6. Push your fix to this PR branch +7. After CI posts a preview link, use it to verify that your changes actually fix the underlying issue, then post a comment to the PR mentioning that you have tested it using the preview link +8. When the PR is ready for review, request a review from @davidkonigsberg in GitHub and send a message in the Devin session that includes "" to alert everyone in the channel. +9. Delete the scaffold file (.github/broken-links/broken-links.md) as part of your fix + +**Broken Links:** + + +## Non-429 Broken Links + +- [404] https://buildwithfern.com/learn/ask-fern +- [404] https://buildwithfern.com/learn/ask-fern + +--- +[View workflow run](https://github.com/fern-api/docs/actions/runs/23239822923) From 526ce88cea48570f297f26f950e7486d08631eb6 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Wed, 18 Mar 2026 10:27:55 +0000 Subject: [PATCH 2/5] Fix broken /learn/ask-fern link in footer and add redirect Co-Authored-By: unknown <> --- .github/broken-links/broken-links.md | 26 -------------------------- fern/components/FernFooter.tsx | 2 +- fern/docs.yml | 4 ++++ fern/footer-dist/output.js | 2 +- 4 files changed, 6 insertions(+), 28 deletions(-) delete mode 100644 .github/broken-links/broken-links.md diff --git a/.github/broken-links/broken-links.md b/.github/broken-links/broken-links.md deleted file mode 100644 index 5eb637c642..0000000000 --- a/.github/broken-links/broken-links.md +++ /dev/null @@ -1,26 +0,0 @@ -@devin-ai-integration Please fix the broken links detected by the scheduled link checker. - -**Instructions:** -1. For each URL listed below, identify the source file containing the broken link -2. Try to find the correct replacement URL. Common fixes include: - - Updating outdated commit SHAs to the latest commit - - Fixing URL-encoded paths - - Updating renamed file paths -3. **IMPORTANT: If you cannot confidently find a correct replacement** (e.g., the only signal is a 5xx/503 error, connection reset, or rate limiting), **do NOT remove or modify the link**. Instead, leave it unchanged and add a PR comment on the relevant line asking for manual validation. -4. Only update links/paths contained in this PR, not other links that follow a similar pattern -5. Run `fern docs dev` locally to verify your changes don't break anything -6. Push your fix to this PR branch -7. After CI posts a preview link, use it to verify that your changes actually fix the underlying issue, then post a comment to the PR mentioning that you have tested it using the preview link -8. When the PR is ready for review, request a review from @davidkonigsberg in GitHub and send a message in the Devin session that includes "" to alert everyone in the channel. -9. Delete the scaffold file (.github/broken-links/broken-links.md) as part of your fix - -**Broken Links:** - - -## Non-429 Broken Links - -- [404] https://buildwithfern.com/learn/ask-fern -- [404] https://buildwithfern.com/learn/ask-fern - ---- -[View workflow run](https://github.com/fern-api/docs/actions/runs/23239822923) diff --git a/fern/components/FernFooter.tsx b/fern/components/FernFooter.tsx index 3001c1f893..798045a5fd 100644 --- a/fern/components/FernFooter.tsx +++ b/fern/components/FernFooter.tsx @@ -440,7 +440,7 @@ export default function FernFooter() {
SDKs Docs - Ask Fern + Ask Fern CLI Reference
diff --git a/fern/docs.yml b/fern/docs.yml index a7d3295520..da87014722 100644 --- a/fern/docs.yml +++ b/fern/docs.yml @@ -600,6 +600,10 @@ redirects: - source: /learn/ask-fern/api-reference/overview destination: /learn/docs/ai-features/ask-fern/api-reference/overview + # Bare /learn/ask-fern redirect + - source: /learn/ask-fern + destination: /learn/docs/ai-features/ask-fern/overview + # Legacy Ask Fern redirects - source: /learn/ai-search/customer-showcase destination: https://buildwithfern.com/customers diff --git a/fern/footer-dist/output.js b/fern/footer-dist/output.js index 9d0ec49523..9167135e8d 100644 --- a/fern/footer-dist/output.js +++ b/fern/footer-dist/output.js @@ -339,4 +339,4 @@ Error generating stack: `+o.message+` min-width: 200px; } } - `}),d.jsxs("footer",{className:"footer",children:[d.jsxs("div",{className:"footer-top",children:[d.jsxs("a",{className:"footer-logo",href:"https://buildwithfern.com",children:[d.jsx(N2,{className:"footer-logo-img dark:hidden"}),d.jsx(T2,{className:"footer-logo-img hidden dark:block"})]}),d.jsxs("div",{className:"footer-status",children:[d.jsx(k2,{}),d.jsxs("a",{className:"soc2-badge",href:"https://security.buildwithfern.com/",children:[d.jsx(E2,{className:"soc2-badge-img"}),d.jsx("span",{className:"status-text",children:"Soc 2 Type II"})]})]})]}),d.jsxs("div",{className:"footer-links",children:[d.jsx("div",{className:"footer-bottom-text",children:" © 2026 Fern • Birch Solutions, Inc., a Postman company. "}),d.jsxs("div",{className:"footer-columns",children:[d.jsxs("div",{className:"footer-column",children:[d.jsx("h4",{className:"footer-column-title",children:"Documentation"}),d.jsxs("div",{className:"footer-column-links",children:[d.jsx("a",{href:"/learn/sdks/overview/introduction",className:"footer-link",children:"SDKs"}),d.jsx("a",{href:"/learn/docs/getting-started/overview",className:"footer-link",children:"Docs"}),d.jsx("a",{href:"/learn/ask-fern",className:"footer-link",children:"Ask Fern"}),d.jsx("a",{href:"/learn/cli-api-reference/cli-reference/overview",className:"footer-link",children:"CLI Reference"})]})]}),d.jsxs("div",{className:"footer-column",children:[d.jsx("h4",{className:"footer-column-title",children:"API Definitions"}),d.jsxs("div",{className:"footer-column-links",children:[d.jsx("a",{href:"/learn/api-definitions/openapi/overview",className:"footer-link",children:"OpenAPI"}),d.jsx("a",{href:"/learn/api-definitions/asyncapi/overview",className:"footer-link",children:"AsyncAPI"}),d.jsx("a",{href:"/learn/api-definitions/openrpc/overview",className:"footer-link",children:"OpenRPC"}),d.jsx("a",{href:"/learn/api-definitions/grpc/overview",className:"footer-link",children:"gRPC"}),d.jsx("a",{href:"/learn/api-definitions/ferndef/overview",className:"footer-link",children:"Fern Definition"})]})]}),d.jsxs("div",{className:"footer-column",children:[d.jsx("h4",{className:"footer-column-title",children:"Resources"}),d.jsxs("div",{className:"footer-column-links",children:[d.jsx("a",{href:"https://buildwithfern.com/blog",className:"footer-link",children:"Blog"}),d.jsx("a",{href:"/learn#get-support",className:"footer-link",children:"Support"}),d.jsx("a",{href:"https://buildwithfern.com/pricing",className:"footer-link",children:"Pricing"}),d.jsx("a",{href:"https://buildwithfern.com/slack",className:"footer-link",children:"Slack"})]})]}),d.jsxs("div",{className:"footer-column",children:[d.jsx("h4",{className:"footer-column-title",children:"Company"}),d.jsxs("div",{className:"footer-column-links",children:[d.jsx("a",{href:"https://brandfetch.com/buildwithfern.com",className:"footer-link",children:"Brand Kit"}),d.jsx("a",{href:"https://buildwithfern.com/privacy-policy",className:"footer-link",children:"Privacy Policy"}),d.jsx("a",{href:"https://buildwithfern.com/terms-of-service",className:"footer-link",children:"Terms of Service"})]})]}),d.jsxs("div",{className:"footer-column-socials",children:[d.jsxs("a",{href:"https://github.com/fern-api/fern",className:"footer-link",children:[d.jsx(V2,{className:"footer-social-icon dark:hidden"}),d.jsx(L2,{className:"footer-social-icon hidden dark:block"})]}),d.jsxs("a",{href:"https://x.com/buildwithfern",className:"footer-link",children:[d.jsx(q2,{className:"footer-social-icon dark:hidden"}),d.jsx(W2,{className:"footer-social-icon hidden dark:block"})]}),d.jsxs("a",{href:"https://www.linkedin.com/company/buildwithfern",className:"footer-link",children:[d.jsx(S2,{className:"footer-social-icon dark:hidden"}),d.jsx(U2,{className:"footer-social-icon hidden dark:block"})]})]})]})]})]})]}),Ei="fern-footer",Ri=async()=>{if(!document.getElementById("footer")){const t=document.createElement("div");t.setAttribute("id","fern-footer-wrapper"),t.setAttribute("data-react-component","true");let n=document.getElementById(Ei);n||(n=document.createElement("div"),n.setAttribute("id",Ei),document.body.appendChild(n)),n.insertBefore(t,n.firstChild),nf(t).render(d.jsx(gf.StrictMode,{children:d.jsx(R2,{})})),n&&(n.style.display="block")}};window.addEventListener("load",async()=>{await Ri(),new MutationObserver(async e=>{e.some(n=>n.type==="childList"&&!document.getElementById("fern-footer-wrapper"))&&await Ri()}).observe(document.body,{childList:!0,subtree:!0})}); + `}),d.jsxs("footer",{className:"footer",children:[d.jsxs("div",{className:"footer-top",children:[d.jsxs("a",{className:"footer-logo",href:"https://buildwithfern.com",children:[d.jsx(N2,{className:"footer-logo-img dark:hidden"}),d.jsx(T2,{className:"footer-logo-img hidden dark:block"})]}),d.jsxs("div",{className:"footer-status",children:[d.jsx(k2,{}),d.jsxs("a",{className:"soc2-badge",href:"https://security.buildwithfern.com/",children:[d.jsx(E2,{className:"soc2-badge-img"}),d.jsx("span",{className:"status-text",children:"Soc 2 Type II"})]})]})]}),d.jsxs("div",{className:"footer-links",children:[d.jsx("div",{className:"footer-bottom-text",children:" © 2026 Fern • Birch Solutions, Inc., a Postman company. "}),d.jsxs("div",{className:"footer-columns",children:[d.jsxs("div",{className:"footer-column",children:[d.jsx("h4",{className:"footer-column-title",children:"Documentation"}),d.jsxs("div",{className:"footer-column-links",children:[d.jsx("a",{href:"/learn/sdks/overview/introduction",className:"footer-link",children:"SDKs"}),d.jsx("a",{href:"/learn/docs/getting-started/overview",className:"footer-link",children:"Docs"}),d.jsx("a",{href:"/learn/docs/ai-features/ask-fern/overview",className:"footer-link",children:"Ask Fern"}),d.jsx("a",{href:"/learn/cli-api-reference/cli-reference/overview",className:"footer-link",children:"CLI Reference"})]})]}),d.jsxs("div",{className:"footer-column",children:[d.jsx("h4",{className:"footer-column-title",children:"API Definitions"}),d.jsxs("div",{className:"footer-column-links",children:[d.jsx("a",{href:"/learn/api-definitions/openapi/overview",className:"footer-link",children:"OpenAPI"}),d.jsx("a",{href:"/learn/api-definitions/asyncapi/overview",className:"footer-link",children:"AsyncAPI"}),d.jsx("a",{href:"/learn/api-definitions/openrpc/overview",className:"footer-link",children:"OpenRPC"}),d.jsx("a",{href:"/learn/api-definitions/grpc/overview",className:"footer-link",children:"gRPC"}),d.jsx("a",{href:"/learn/api-definitions/ferndef/overview",className:"footer-link",children:"Fern Definition"})]})]}),d.jsxs("div",{className:"footer-column",children:[d.jsx("h4",{className:"footer-column-title",children:"Resources"}),d.jsxs("div",{className:"footer-column-links",children:[d.jsx("a",{href:"https://buildwithfern.com/blog",className:"footer-link",children:"Blog"}),d.jsx("a",{href:"/learn#get-support",className:"footer-link",children:"Support"}),d.jsx("a",{href:"https://buildwithfern.com/pricing",className:"footer-link",children:"Pricing"}),d.jsx("a",{href:"https://buildwithfern.com/slack",className:"footer-link",children:"Slack"})]})]}),d.jsxs("div",{className:"footer-column",children:[d.jsx("h4",{className:"footer-column-title",children:"Company"}),d.jsxs("div",{className:"footer-column-links",children:[d.jsx("a",{href:"https://brandfetch.com/buildwithfern.com",className:"footer-link",children:"Brand Kit"}),d.jsx("a",{href:"https://buildwithfern.com/privacy-policy",className:"footer-link",children:"Privacy Policy"}),d.jsx("a",{href:"https://buildwithfern.com/terms-of-service",className:"footer-link",children:"Terms of Service"})]})]}),d.jsxs("div",{className:"footer-column-socials",children:[d.jsxs("a",{href:"https://github.com/fern-api/fern",className:"footer-link",children:[d.jsx(V2,{className:"footer-social-icon dark:hidden"}),d.jsx(L2,{className:"footer-social-icon hidden dark:block"})]}),d.jsxs("a",{href:"https://x.com/buildwithfern",className:"footer-link",children:[d.jsx(q2,{className:"footer-social-icon dark:hidden"}),d.jsx(W2,{className:"footer-social-icon hidden dark:block"})]}),d.jsxs("a",{href:"https://www.linkedin.com/company/buildwithfern",className:"footer-link",children:[d.jsx(S2,{className:"footer-social-icon dark:hidden"}),d.jsx(U2,{className:"footer-social-icon hidden dark:block"})]})]})]})]})]})]}),Ei="fern-footer",Ri=async()=>{if(!document.getElementById("footer")){const t=document.createElement("div");t.setAttribute("id","fern-footer-wrapper"),t.setAttribute("data-react-component","true");let n=document.getElementById(Ei);n||(n=document.createElement("div"),n.setAttribute("id",Ei),document.body.appendChild(n)),n.insertBefore(t,n.firstChild),nf(t).render(d.jsx(gf.StrictMode,{children:d.jsx(R2,{})})),n&&(n.style.display="block")}};window.addEventListener("load",async()=>{await Ri(),new MutationObserver(async e=>{e.some(n=>n.type==="childList"&&!document.getElementById("fern-footer-wrapper"))&&await Ri()}).observe(document.body,{childList:!0,subtree:!0})}); From eeb7415dca865f1f1a77c30b75b8001ec06725d3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 19 Mar 2026 10:21:59 +0000 Subject: [PATCH 3/5] Update broken links list from workflow run 23290013449 --- .github/broken-links/broken-links.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/broken-links/broken-links.md diff --git a/.github/broken-links/broken-links.md b/.github/broken-links/broken-links.md new file mode 100644 index 0000000000..57b3c50a9d --- /dev/null +++ b/.github/broken-links/broken-links.md @@ -0,0 +1,27 @@ +@devin-ai-integration Please fix the broken links detected by the scheduled link checker. + +**Instructions:** +1. For each URL listed below, identify the source file containing the broken link +2. Try to find the correct replacement URL. Common fixes include: + - Updating outdated commit SHAs to the latest commit + - Fixing URL-encoded paths + - Updating renamed file paths +3. **IMPORTANT: If you cannot confidently find a correct replacement** (e.g., the only signal is a 5xx/503 error, connection reset, or rate limiting), **do NOT remove or modify the link**. Instead, leave it unchanged and add a PR comment on the relevant line asking for manual validation. +4. Only update links/paths contained in this PR, not other links that follow a similar pattern +5. Run `fern docs dev` locally to verify your changes don't break anything +6. Push your fix to this PR branch +7. After CI posts a preview link, use it to verify that your changes actually fix the underlying issue, then post a comment to the PR mentioning that you have tested it using the preview link +8. When the PR is ready for review, request a review from @davidkonigsberg in GitHub and send a message in the Devin session that includes "" to alert everyone in the channel. +9. Delete the scaffold file (.github/broken-links/broken-links.md) as part of your fix + +**Broken Links:** + + +## Non-429 Broken Links + +- [404] https://buildwithfern.com/api-definitions/openapi/automation +- [404] https://buildwithfern.com/learn/ask-fern +- [404] https://buildwithfern.com/learn/ask-fern + +--- +[View workflow run](https://github.com/fern-api/docs/actions/runs/23290013449) From 2584f342c852f9eeabe787d82b0b0d71adb79322 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 19 Mar 2026 10:26:54 +0000 Subject: [PATCH 4/5] Fix broken /api-definitions/openapi/automation link and delete scaffold file Co-Authored-By: unknown <> --- .github/broken-links/broken-links.md | 27 --------------------------- fern/docs.yml | 2 ++ 2 files changed, 2 insertions(+), 27 deletions(-) delete mode 100644 .github/broken-links/broken-links.md diff --git a/.github/broken-links/broken-links.md b/.github/broken-links/broken-links.md deleted file mode 100644 index 57b3c50a9d..0000000000 --- a/.github/broken-links/broken-links.md +++ /dev/null @@ -1,27 +0,0 @@ -@devin-ai-integration Please fix the broken links detected by the scheduled link checker. - -**Instructions:** -1. For each URL listed below, identify the source file containing the broken link -2. Try to find the correct replacement URL. Common fixes include: - - Updating outdated commit SHAs to the latest commit - - Fixing URL-encoded paths - - Updating renamed file paths -3. **IMPORTANT: If you cannot confidently find a correct replacement** (e.g., the only signal is a 5xx/503 error, connection reset, or rate limiting), **do NOT remove or modify the link**. Instead, leave it unchanged and add a PR comment on the relevant line asking for manual validation. -4. Only update links/paths contained in this PR, not other links that follow a similar pattern -5. Run `fern docs dev` locally to verify your changes don't break anything -6. Push your fix to this PR branch -7. After CI posts a preview link, use it to verify that your changes actually fix the underlying issue, then post a comment to the PR mentioning that you have tested it using the preview link -8. When the PR is ready for review, request a review from @davidkonigsberg in GitHub and send a message in the Devin session that includes "" to alert everyone in the channel. -9. Delete the scaffold file (.github/broken-links/broken-links.md) as part of your fix - -**Broken Links:** - - -## Non-429 Broken Links - -- [404] https://buildwithfern.com/api-definitions/openapi/automation -- [404] https://buildwithfern.com/learn/ask-fern -- [404] https://buildwithfern.com/learn/ask-fern - ---- -[View workflow run](https://github.com/fern-api/docs/actions/runs/23290013449) diff --git a/fern/docs.yml b/fern/docs.yml index 78326f142d..967e886a22 100644 --- a/fern/docs.yml +++ b/fern/docs.yml @@ -545,6 +545,8 @@ redirects: destination: /learn/api-definitions/asyncapi/overrides - source: /learn/api-definitions/openapi/automatic-updates destination: /learn/api-definitions/openapi/sync-your-open-api-specification + - source: /api-definitions/openapi/automation + destination: /learn/api-definitions/openapi/sync-your-open-api-specification # API Definition Fern specific redirects first - source: /learn/api-definition/fern/endpoints From 8562fa55a59206ed4799381d590a01a2f38e3671 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Thu, 19 Mar 2026 12:03:42 +0000 Subject: [PATCH 5/5] Fix MDX parsing error: escape in Java changelog Co-Authored-By: unknown <> --- fern/products/sdks/overview/java/changelog/2026-03-18.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fern/products/sdks/overview/java/changelog/2026-03-18.mdx b/fern/products/sdks/overview/java/changelog/2026-03-18.mdx index b6e4015597..d97bbd4e93 100644 --- a/fern/products/sdks/overview/java/changelog/2026-03-18.mdx +++ b/fern/products/sdks/overview/java/changelog/2026-03-18.mdx @@ -41,7 +41,7 @@ try-with-resources, calling `disconnect()` automatically on scope exit. lets callers tune max retries, backoff delay, and queue size before calling `connect()`. -**Generic `onMessage(`Consumer`)` handler** — fires for every +**Generic `onMessage(Consumer)` handler** — fires for every incoming text frame with the raw JSON string, before type-specific dispatch. Useful for logging or custom routing.