diff --git a/fern/assets/styles.css b/fern/assets/styles.css
index afc6947ea..cafa4f31e 100644
--- a/fern/assets/styles.css
+++ b/fern/assets/styles.css
@@ -181,35 +181,21 @@ h1, h2, h3 {
}
}
- > a[href*="fern-def"] {
+ > a[href*="asyncapi"] {
grid-column: 3;
grid-row: 2;
transform: translateY(-32px);
-
+
.fern-selection-item-icon {
width: 1.5rem;
height: 1.5rem;
}
}
- /* > a[href*="asyncapi"]:before {
- content: "Docs coming soon";
- font-weight: 500;
- position: absolute;
- top: -1.75rem;
- left: 0.5rem;
- } */
-
- > a[href*="asyncapi"] {
+ > a[href*="openrpc"] {
grid-column: 3;
grid-row: 3;
transform: translateY(-64px);
- pointer-events: none;
- cursor: not-allowed;
-
- /* > div > div > div {
- align-items: flex-start;
- } */
.fern-selection-item-icon {
width: 1.5rem;
@@ -217,16 +203,10 @@ h1, h2, h3 {
}
}
- > a[href*="openrpc"] {
+ > a[href*="grpc"] {
grid-column: 3;
grid-row: 4;
- transform: translateY(-88px);
- pointer-events: none;
- cursor: not-allowed;
-
- /* > div > div > div {
- align-items: flex-start;
- } */
+ transform: translateY(-96px);
.fern-selection-item-icon {
width: 1.5rem;
@@ -234,22 +214,20 @@ h1, h2, h3 {
}
}
- > a[href*="grpc"] {
+ > a[href*="fern-def"] {
grid-column: 3;
grid-row: 5;
- transform: translateY(-88px);
- pointer-events: none;
- cursor: not-allowed;
-
- /* > div > div > div {
- align-items: flex-start;
- } */
+ transform: translateY(-96px);
.fern-selection-item-icon {
width: 1.5rem;
height: 1.5rem;
}
}
+
+ > a[href*="api-definitions"] {
+ display: none;
+ }
}
}
diff --git a/fern/docs.yml b/fern/docs.yml
index 724f81205..81c0430b1 100644
--- a/fern/docs.yml
+++ b/fern/docs.yml
@@ -1,5 +1,5 @@
instances:
- - url: fern-v2.docs.buildwithfern.com/learn/v2
+ - url: fern-v2.docs.buildwithfern.com/learn
- url: fern.docs.buildwithfern.com/learn
custom-domain: buildwithfern.com/learn
edit-this-page:
@@ -43,46 +43,48 @@ products:
slug: ask-fern
subtitle: Let users find answers in your documentation instantly
- - display-name: OpenAPI
- path: ./products/openapi-def/openapi-def.yml
- icon: fa-regular fa-book
- image: ./images/product-switcher/openapi-definition-light.png
- slug: openapi-definition
-
- - display-name: Fern Definition
- path: ./products/fern-def/fern-def.yml
- icon: fa-regular fa-seedling
- image: ./images/product-switcher/fern-definition-light.png
- slug: fern-definition
-
- display-name: CLI & API Reference
- subtitle: Manage and configure your Fern projects via CLI & APIs.
+ subtitle: Manage and configure your Fern projects
path: ./products/cli-api-reference/cli-api-reference.yml
icon: fa-regular fa-terminal
image: ./images/product-switcher/product-switcher-cliapi-light.png
slug: cli-api-reference
+ - display-name: API Definitions
+ path: ./products/api-def/api-def.yml
+ icon: fa-regular fa-book
+ image: ./images/product-switcher/openapi-definition-light.png
+ slug: api-definitions
+
+ - display-name: OpenAPI
+ path: ./products/api-def/api-def.yml
+ icon: fa-regular fa-book
+ image: ./images/product-switcher/openapi-definition-light.png
+ slug: openapi-definition
+
- display-name: AsyncAPI
- subtitle: Docs coming soon
- path: ./products/asyncapi-def/asyncapi-def.yml
+ path: ./products/api-def/api-def.yml
icon: fa-regular fa-bolt
image: ./images/product-switcher/asyncapi-light.png
slug: asyncapi-definition
-
+
- display-name: OpenRPC
- subtitle: Docs coming soon
- path: ./products/openrpc-def/openrpc-def.yml
+ path: ./products/api-def/api-def.yml
icon: fa-regular fa-code
image: ./images/product-switcher/openrpc-light.png
slug: openrpc-definition
- display-name: gRPC
- subtitle: Docs coming soon
- path: ./products/grpc-def/grpc-def.yml
+ path: ./products/api-def/api-def.yml
icon: fa-regular fa-plug
image: ./images/product-switcher/grpc-light.png
slug: grpc-definition
+ - display-name: Fern Definition
+ path: ./products/api-def/api-def.yml
+ icon: fa-regular fa-seedling
+ image: ./images/product-switcher/fern-definition-light.png
+ slug: fern-definition
css: ./assets/styles.css
@@ -190,7 +192,7 @@ redirects:
destination: /learn/sdks/deep-dives/local-previews
permanent: true
- source: /learn/sdks/capabilities/auto-pagination
- destination: /learn/v2/sdks/deep-dives/auto-pagination
+ destination: /learn/sdks/deep-dives/auto-pagination
permanent: true
- source: /learn/sdks/capabilities/idempotency-headers
destination: /learn/sdks/deep-dives/idempotency
@@ -336,12 +338,21 @@ redirects:
- source: /learn/docs/building-and-customizing-your-docs/navigation
destination: /learn/docs/navigation/overview
permanent: true
+ - source: /learn/docs/navigation/overview
+ destination: /learn/docs/configuration/navigation
+ permanent: true
- source: /learn/docs/building-and-customizing-your-docs/versioning
destination: /learn/docs/navigation/versions
permanent: true
+ - source: /learn/docs/navigation/versions
+ destination: /learn/docs/configuration/versions
+ permanent: true
- source: /learn/docs/building-and-customizing-your-docs/announcements
destination: /learn/docs/navigation/announcement-banner
permanent: true
+ - source: /learn/docs/navigation/announcement-banner
+ destination: /learn/docs/customization/announcement-banner
+ permanent: true
- source: /learn/docs/building-and-customizing-your-docs/links-and-redirects
destination: /learn/docs/seo/redirects
permanent: true
@@ -351,12 +362,18 @@ redirects:
- source: /learn/docs/building-and-customizing-your-docs/hiding-content
destination: /learn/docs/navigation/hiding-content
permanent: true
+ - source: /learn/docs/navigation/hiding-content
+ destination: /learn/docs/customization/hiding-content
+ permanent: true
- source: /learn/docs/building-and-customizing-your-docs/pull-request-preview
destination: /learn/docs/preview-publish/previewing-changes-in-a-pr
permanent: true
- source: /learn/docs/building-and-customizing-your-docs/product-switching
destination: /learn/docs/navigation/products
permanent: true
+ - source: /learn/docs/navigation/products
+ destination: /learn/docs/configuration/products
+ permanent: true
- source: /learn/docs/building-and-customizing-your-docs/custom-css-global-js
destination: /learn/docs/customization/custom-css-js
permanent: true
@@ -388,6 +405,9 @@ redirects:
- source: /learn/docs/content/changelog
destination: /learn/docs/navigation/changelogs
permanent: true
+ - source: /learn/docs/navigation/changelogs
+ destination: /learn/docs/customization/changelogs
+ permanent: true
- source: /learn/docs/content/visual-editor
destination: /learn/docs/writing-content/visual-editor
permanent: true
@@ -550,3 +570,21 @@ redirects:
destination: /learn/cli-api-reference/api-reference/tokens/:slug*
permanent: true
+ # ============================================================================
+ # API REFERENCE REDIRECTS
+ # ============================================================================
+ - source: /learn/openapi-definition/:slug*
+ destination: /learn/api-definitions/openapi/:slug*
+ permanent: true
+ - source: /learn/asyncapi-definition/:slug*
+ destination: /learn/api-definitions/asyncapi/:slug*
+ permanent: true
+ - source: /learn/openrpc-definition/:slug*
+ destination: /learn/api-definitions/openrpc/:slug*
+ permanent: true
+ - source: /learn/grpc-definition/:slug*
+ destination: /learn/api-definitions/grpc/:slug*
+ permanent: true
+ - source: /learn/fern-definition/:slug*
+ destination: /learn/api-definitions/ferndef/:slug*
+ permanent: true
\ No newline at end of file
diff --git a/fern/products/api-def/api-def.yml b/fern/products/api-def/api-def.yml
new file mode 100644
index 000000000..0ba6c449c
--- /dev/null
+++ b/fern/products/api-def/api-def.yml
@@ -0,0 +1,248 @@
+navigation:
+ - section: Overview
+ contents:
+ - page: What is an API Definition?
+ path: ./pages/what-is-an-api-definition.mdx
+ - page: Project Structure
+ path: ./pages/project-structure.mdx
+ - section: OpenAPI
+ collapsed: true
+ slug: openapi
+ contents:
+ - page: Overview
+ path: ./openapi-pages/overview.mdx
+ - page: Authentication
+ path: ./openapi-pages/auth.mdx
+ - page: Servers
+ path: ./openapi-pages/servers.mdx
+ - section: Endpoints
+ slug: endpoints
+ contents:
+ - page: HTTP JSON Endpoints
+ path: ./openapi-pages/endpoints/rest.mdx
+ slug: http
+ - page: Webhooks
+ path: ./openapi-pages/webhooks.mdx
+ - page: Multipart Form Uploads
+ path: ./openapi-pages/endpoints/multipart.mdx
+ slug: multipart
+ - page: Server-Sent Events
+ path: ./openapi-pages/endpoints/sse.mdx
+ slug: sse
+ - section: Extensions
+ slug: extensions
+ contents:
+ - page: Audiences
+ path: ./openapi-pages/extensions/audiences.mdx
+ - page: SDK Method Names
+ path: ./openapi-pages/extensions/method-names.mdx
+ slug: method-names
+ - page: Parameter Names
+ path: ./openapi-pages/extensions/parameter-names.mdx
+ - page: Other
+ path: ./openapi-pages/extensions/others.mdx
+ slug: others
+ - section: Workflow & Automation
+ skip-slug: true
+ contents:
+ - page: Overlay Customizations
+ path: ./openapi-pages/overrides.mdx
+ - page: Sync your OpenAPI Specification
+ path: ./openapi-pages/automation.mdx
+ - section: Integrate your Server Framework
+ slug: frameworks
+ contents:
+ - page: FastAPI
+ path: ./openapi-pages/server-frameworks/fastapi.mdx
+ slug: fastapi
+ - section: AsyncAPI
+ collapsed: true
+ slug: asyncapi
+ contents:
+ - page: Overview
+ path: ./asyncapi-pages/overview.mdx
+ - page: Authentication
+ path: ./asyncapi-pages/auth.mdx
+ - page: Servers
+ path: ./asyncapi-pages/servers.mdx
+ - section: Channels
+ slug: channels
+ contents:
+ - page: Publish/Subscribe Operations
+ path: ./asyncapi-pages/channels/pubsub.mdx
+ slug: pubsub
+ - page: Message Formats
+ path: ./asyncapi-pages/channels/messages.mdx
+ slug: messages
+ - page: Message Bindings
+ path: ./asyncapi-pages/channels/bindings.mdx
+ slug: bindings
+ - section: Extensions
+ slug: extensions
+ contents:
+ - page: Audiences
+ path: ./asyncapi-pages/extensions/audiences.mdx
+ - page: SDK Method Names
+ path: ./asyncapi-pages/extensions/method-names.mdx
+ slug: method-names
+ - page: Parameter Names
+ path: ./asyncapi-pages/extensions/parameter-names.mdx
+ - page: Other
+ path: ./asyncapi-pages/extensions/others.mdx
+ slug: others
+ - section: Workflow & Automation
+ skip-slug: true
+ contents:
+ - page: Overlay Customizations
+ path: ./asyncapi-pages/overrides.mdx
+ - page: Sync your AsyncAPI Specification
+ path: ./asyncapi-pages/automation.mdx
+ - section: OpenRPC
+ collapsed: true
+ slug: openrpc
+ contents:
+ - page: Overview
+ path: ./openrpc-pages/overview.mdx
+ - page: Authentication
+ path: ./openrpc-pages/auth.mdx
+ - page: Servers
+ path: ./openrpc-pages/servers.mdx
+ - section: Methods
+ slug: methods
+ contents:
+ - page: JSON-RPC Methods
+ path: ./openrpc-pages/methods/rpc-methods.mdx
+ slug: rpc-methods
+ - page: Notifications
+ path: ./openrpc-pages/methods/notifications.mdx
+ slug: notifications
+ - page: Batch Requests
+ path: ./openrpc-pages/methods/batch.mdx
+ slug: batch
+ - section: Extensions
+ slug: extensions
+ contents:
+ - page: Audiences
+ path: ./openrpc-pages/extensions/audiences.mdx
+ - page: SDK Method Names
+ path: ./openrpc-pages/extensions/method-names.mdx
+ slug: method-names
+ - page: Parameter Names
+ path: ./openrpc-pages/extensions/parameter-names.mdx
+ - page: Other
+ path: ./openrpc-pages/extensions/others.mdx
+ slug: others
+ - section: Workflow & Automation
+ skip-slug: true
+ contents:
+ - page: Overlay Customizations
+ path: ./openrpc-pages/overrides.mdx
+ - page: Sync your OpenRPC Specification
+ path: ./openrpc-pages/automation.mdx
+ - section: gRPC
+ collapsed: true
+ slug: grpc
+ contents:
+ - page: Overview
+ path: ./grpc-pages/overview.mdx
+ - page: Authentication
+ path: ./grpc-pages/auth.mdx
+ - page: Servers
+ path: ./grpc-pages/servers.mdx
+ - section: Services
+ slug: services
+ contents:
+ - page: gRPC Services
+ path: ./grpc-pages/services/grpc-services.mdx
+ slug: grpc-services
+ - page: Streaming
+ path: ./grpc-pages/services/streaming.mdx
+ slug: streaming
+ - page: Error Handling
+ path: ./grpc-pages/services/errors.mdx
+ slug: errors
+ - section: Extensions
+ slug: extensions
+ contents:
+ - page: Audiences
+ path: ./grpc-pages/extensions/audiences.mdx
+ - page: SDK Method Names
+ path: ./grpc-pages/extensions/method-names.mdx
+ slug: method-names
+ - page: Parameter Names
+ path: ./grpc-pages/extensions/parameter-names.mdx
+ - page: Other
+ path: ./grpc-pages/extensions/others.mdx
+ slug: others
+ - section: Workflow & Automation
+ skip-slug: true
+ contents:
+ - page: Overlay Customizations
+ path: ./grpc-pages/overrides.mdx
+ - page: Sync your gRPC Specification
+ path: ./grpc-pages/automation.mdx
+ - section: Fern Definition
+ collapsed: true
+ slug: ferndef
+ contents:
+ - page: Overview
+ path: ./ferndef-pages/overview.mdx
+ - page: Authentication
+ path: ./ferndef-pages/auth.mdx
+ - page: Types
+ path: ./ferndef-pages/types.mdx
+ - section: Endpoints
+ contents:
+ - page: Overview
+ path: ./ferndef-pages/endpoints.mdx
+ - page: HTTP JSON Endpoints
+ path: ./ferndef-pages/endpoints/rest.mdx
+ slug: http
+ - page: Multipart Form Uploads
+ path: ./ferndef-pages/endpoints/multipart.mdx
+ slug: multipart
+ - page: Bytes
+ path: ./ferndef-pages/endpoints/bytes.mdx
+ slug: bytes
+ - page: Server-Sent Events
+ path: ./ferndef-pages/endpoints/sse.mdx
+ slug: sse
+ - section: Advanced
+ skip-slug: true
+ contents:
+ - page: Webhooks
+ path: ./ferndef-pages/webhooks.mdx
+ - page: WebSockets
+ path: ./ferndef-pages/websockets.mdx
+ slug: websockets
+ - page: Errors
+ path: ./ferndef-pages/errors.mdx
+ - page: Imports
+ path: ./ferndef-pages/imports.mdx
+ - page: Examples
+ path: ./ferndef-pages/examples.mdx
+ - page: Audiences
+ path: ./ferndef-pages/audiences.mdx
+ - page: Availability
+ path: ./ferndef-pages/availability.mdx
+ - section: api.yml Reference
+ slug: api-yml
+ contents:
+ - page: Overview
+ path: ./ferndef-pages/api-yml/overview.mdx
+ - page: Environments
+ path: ./ferndef-pages/api-yml/environments.mdx
+ - page: Global Headers
+ path: ./ferndef-pages/api-yml/global-configuration.mdx
+ - page: Errors
+ path: ./ferndef-pages/api-yml/errors.mdx
+ - section: Integrations
+ skip-slug: true
+ contents:
+ - page: Packages
+ path: ./ferndef-pages/packages.mdx
+ - page: Depending on Other APIs
+ path: ./ferndef-pages/depending-on-other-apis.mdx
+ - page: Export to OpenAPI
+ slug: export-openapi
+ path: ./ferndef-pages/export-openapi.mdx
diff --git a/fern/products/asyncapi-def/pages/auth.mdx b/fern/products/api-def/asyncapi-pages/auth.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/auth.mdx
rename to fern/products/api-def/asyncapi-pages/auth.mdx
diff --git a/fern/products/asyncapi-def/pages/automation.mdx b/fern/products/api-def/asyncapi-pages/automation.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/automation.mdx
rename to fern/products/api-def/asyncapi-pages/automation.mdx
diff --git a/fern/products/asyncapi-def/pages/channels/bindings.mdx b/fern/products/api-def/asyncapi-pages/channels/bindings.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/channels/bindings.mdx
rename to fern/products/api-def/asyncapi-pages/channels/bindings.mdx
diff --git a/fern/products/asyncapi-def/pages/channels/messages.mdx b/fern/products/api-def/asyncapi-pages/channels/messages.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/channels/messages.mdx
rename to fern/products/api-def/asyncapi-pages/channels/messages.mdx
diff --git a/fern/products/asyncapi-def/pages/channels/pubsub.mdx b/fern/products/api-def/asyncapi-pages/channels/pubsub.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/channels/pubsub.mdx
rename to fern/products/api-def/asyncapi-pages/channels/pubsub.mdx
diff --git a/fern/products/asyncapi-def/pages/extensions/audiences.mdx b/fern/products/api-def/asyncapi-pages/extensions/audiences.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/extensions/audiences.mdx
rename to fern/products/api-def/asyncapi-pages/extensions/audiences.mdx
diff --git a/fern/products/asyncapi-def/pages/extensions/method-names.mdx b/fern/products/api-def/asyncapi-pages/extensions/method-names.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/extensions/method-names.mdx
rename to fern/products/api-def/asyncapi-pages/extensions/method-names.mdx
diff --git a/fern/products/asyncapi-def/pages/extensions/others.mdx b/fern/products/api-def/asyncapi-pages/extensions/others.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/extensions/others.mdx
rename to fern/products/api-def/asyncapi-pages/extensions/others.mdx
diff --git a/fern/products/asyncapi-def/pages/extensions/parameter-names.mdx b/fern/products/api-def/asyncapi-pages/extensions/parameter-names.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/extensions/parameter-names.mdx
rename to fern/products/api-def/asyncapi-pages/extensions/parameter-names.mdx
diff --git a/fern/products/asyncapi-def/pages/overrides.mdx b/fern/products/api-def/asyncapi-pages/overrides.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/overrides.mdx
rename to fern/products/api-def/asyncapi-pages/overrides.mdx
diff --git a/fern/products/asyncapi-def/pages/overview.mdx b/fern/products/api-def/asyncapi-pages/overview.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/overview.mdx
rename to fern/products/api-def/asyncapi-pages/overview.mdx
diff --git a/fern/products/asyncapi-def/pages/servers.mdx b/fern/products/api-def/asyncapi-pages/servers.mdx
similarity index 100%
rename from fern/products/asyncapi-def/pages/servers.mdx
rename to fern/products/api-def/asyncapi-pages/servers.mdx
diff --git a/fern/products/fern-def/pages/api-yml/environments.mdx b/fern/products/api-def/ferndef-pages/api-yml/environments.mdx
similarity index 100%
rename from fern/products/fern-def/pages/api-yml/environments.mdx
rename to fern/products/api-def/ferndef-pages/api-yml/environments.mdx
diff --git a/fern/products/fern-def/pages/api-yml/errors.mdx b/fern/products/api-def/ferndef-pages/api-yml/errors.mdx
similarity index 100%
rename from fern/products/fern-def/pages/api-yml/errors.mdx
rename to fern/products/api-def/ferndef-pages/api-yml/errors.mdx
diff --git a/fern/products/fern-def/pages/api-yml/global-configuration.mdx b/fern/products/api-def/ferndef-pages/api-yml/global-configuration.mdx
similarity index 100%
rename from fern/products/fern-def/pages/api-yml/global-configuration.mdx
rename to fern/products/api-def/ferndef-pages/api-yml/global-configuration.mdx
diff --git a/fern/products/fern-def/pages/api-yml/overview.mdx b/fern/products/api-def/ferndef-pages/api-yml/overview.mdx
similarity index 100%
rename from fern/products/fern-def/pages/api-yml/overview.mdx
rename to fern/products/api-def/ferndef-pages/api-yml/overview.mdx
diff --git a/fern/products/fern-def/pages/audiences.mdx b/fern/products/api-def/ferndef-pages/audiences.mdx
similarity index 100%
rename from fern/products/fern-def/pages/audiences.mdx
rename to fern/products/api-def/ferndef-pages/audiences.mdx
diff --git a/fern/products/fern-def/pages/auth.mdx b/fern/products/api-def/ferndef-pages/auth.mdx
similarity index 100%
rename from fern/products/fern-def/pages/auth.mdx
rename to fern/products/api-def/ferndef-pages/auth.mdx
diff --git a/fern/products/fern-def/pages/availability.mdx b/fern/products/api-def/ferndef-pages/availability.mdx
similarity index 100%
rename from fern/products/fern-def/pages/availability.mdx
rename to fern/products/api-def/ferndef-pages/availability.mdx
diff --git a/fern/products/fern-def/pages/depending-on-other-apis.mdx b/fern/products/api-def/ferndef-pages/depending-on-other-apis.mdx
similarity index 100%
rename from fern/products/fern-def/pages/depending-on-other-apis.mdx
rename to fern/products/api-def/ferndef-pages/depending-on-other-apis.mdx
diff --git a/fern/products/fern-def/pages/endpoints.mdx b/fern/products/api-def/ferndef-pages/endpoints.mdx
similarity index 100%
rename from fern/products/fern-def/pages/endpoints.mdx
rename to fern/products/api-def/ferndef-pages/endpoints.mdx
diff --git a/fern/products/fern-def/pages/endpoints/bytes.mdx b/fern/products/api-def/ferndef-pages/endpoints/bytes.mdx
similarity index 100%
rename from fern/products/fern-def/pages/endpoints/bytes.mdx
rename to fern/products/api-def/ferndef-pages/endpoints/bytes.mdx
diff --git a/fern/products/fern-def/pages/endpoints/multipart.mdx b/fern/products/api-def/ferndef-pages/endpoints/multipart.mdx
similarity index 100%
rename from fern/products/fern-def/pages/endpoints/multipart.mdx
rename to fern/products/api-def/ferndef-pages/endpoints/multipart.mdx
diff --git a/fern/products/fern-def/pages/endpoints/rest.mdx b/fern/products/api-def/ferndef-pages/endpoints/rest.mdx
similarity index 100%
rename from fern/products/fern-def/pages/endpoints/rest.mdx
rename to fern/products/api-def/ferndef-pages/endpoints/rest.mdx
diff --git a/fern/products/fern-def/pages/endpoints/sse.mdx b/fern/products/api-def/ferndef-pages/endpoints/sse.mdx
similarity index 100%
rename from fern/products/fern-def/pages/endpoints/sse.mdx
rename to fern/products/api-def/ferndef-pages/endpoints/sse.mdx
diff --git a/fern/products/fern-def/pages/errors.mdx b/fern/products/api-def/ferndef-pages/errors.mdx
similarity index 100%
rename from fern/products/fern-def/pages/errors.mdx
rename to fern/products/api-def/ferndef-pages/errors.mdx
diff --git a/fern/products/fern-def/pages/examples.mdx b/fern/products/api-def/ferndef-pages/examples.mdx
similarity index 100%
rename from fern/products/fern-def/pages/examples.mdx
rename to fern/products/api-def/ferndef-pages/examples.mdx
diff --git a/fern/products/fern-def/pages/export-openapi.mdx b/fern/products/api-def/ferndef-pages/export-openapi.mdx
similarity index 100%
rename from fern/products/fern-def/pages/export-openapi.mdx
rename to fern/products/api-def/ferndef-pages/export-openapi.mdx
diff --git a/fern/products/fern-def/pages/imports.mdx b/fern/products/api-def/ferndef-pages/imports.mdx
similarity index 100%
rename from fern/products/fern-def/pages/imports.mdx
rename to fern/products/api-def/ferndef-pages/imports.mdx
diff --git a/fern/products/fern-def/pages/overview.mdx b/fern/products/api-def/ferndef-pages/overview.mdx
similarity index 100%
rename from fern/products/fern-def/pages/overview.mdx
rename to fern/products/api-def/ferndef-pages/overview.mdx
diff --git a/fern/products/fern-def/pages/packages.mdx b/fern/products/api-def/ferndef-pages/packages.mdx
similarity index 100%
rename from fern/products/fern-def/pages/packages.mdx
rename to fern/products/api-def/ferndef-pages/packages.mdx
diff --git a/fern/products/fern-def/pages/types.mdx b/fern/products/api-def/ferndef-pages/types.mdx
similarity index 100%
rename from fern/products/fern-def/pages/types.mdx
rename to fern/products/api-def/ferndef-pages/types.mdx
diff --git a/fern/products/fern-def/pages/webhooks.mdx b/fern/products/api-def/ferndef-pages/webhooks.mdx
similarity index 100%
rename from fern/products/fern-def/pages/webhooks.mdx
rename to fern/products/api-def/ferndef-pages/webhooks.mdx
diff --git a/fern/products/fern-def/pages/websocket.png b/fern/products/api-def/ferndef-pages/websocket.png
similarity index 100%
rename from fern/products/fern-def/pages/websocket.png
rename to fern/products/api-def/ferndef-pages/websocket.png
diff --git a/fern/products/fern-def/pages/websockets.mdx b/fern/products/api-def/ferndef-pages/websockets.mdx
similarity index 100%
rename from fern/products/fern-def/pages/websockets.mdx
rename to fern/products/api-def/ferndef-pages/websockets.mdx
diff --git a/fern/products/fern-def/pages/wss-reference.png b/fern/products/api-def/ferndef-pages/wss-reference.png
similarity index 100%
rename from fern/products/fern-def/pages/wss-reference.png
rename to fern/products/api-def/ferndef-pages/wss-reference.png
diff --git a/fern/products/grpc-def/pages/auth.mdx b/fern/products/api-def/grpc-pages/auth.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/auth.mdx
rename to fern/products/api-def/grpc-pages/auth.mdx
diff --git a/fern/products/grpc-def/pages/automation.mdx b/fern/products/api-def/grpc-pages/automation.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/automation.mdx
rename to fern/products/api-def/grpc-pages/automation.mdx
diff --git a/fern/products/grpc-def/pages/extensions/audiences.mdx b/fern/products/api-def/grpc-pages/extensions/audiences.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/extensions/audiences.mdx
rename to fern/products/api-def/grpc-pages/extensions/audiences.mdx
diff --git a/fern/products/grpc-def/pages/extensions/method-names.mdx b/fern/products/api-def/grpc-pages/extensions/method-names.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/extensions/method-names.mdx
rename to fern/products/api-def/grpc-pages/extensions/method-names.mdx
diff --git a/fern/products/grpc-def/pages/extensions/others.mdx b/fern/products/api-def/grpc-pages/extensions/others.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/extensions/others.mdx
rename to fern/products/api-def/grpc-pages/extensions/others.mdx
diff --git a/fern/products/grpc-def/pages/extensions/parameter-names.mdx b/fern/products/api-def/grpc-pages/extensions/parameter-names.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/extensions/parameter-names.mdx
rename to fern/products/api-def/grpc-pages/extensions/parameter-names.mdx
diff --git a/fern/products/grpc-def/pages/overrides.mdx b/fern/products/api-def/grpc-pages/overrides.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/overrides.mdx
rename to fern/products/api-def/grpc-pages/overrides.mdx
diff --git a/fern/products/grpc-def/pages/overview.mdx b/fern/products/api-def/grpc-pages/overview.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/overview.mdx
rename to fern/products/api-def/grpc-pages/overview.mdx
diff --git a/fern/products/grpc-def/pages/servers.mdx b/fern/products/api-def/grpc-pages/servers.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/servers.mdx
rename to fern/products/api-def/grpc-pages/servers.mdx
diff --git a/fern/products/grpc-def/pages/services/errors.mdx b/fern/products/api-def/grpc-pages/services/errors.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/services/errors.mdx
rename to fern/products/api-def/grpc-pages/services/errors.mdx
diff --git a/fern/products/grpc-def/pages/services/grpc-services.mdx b/fern/products/api-def/grpc-pages/services/grpc-services.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/services/grpc-services.mdx
rename to fern/products/api-def/grpc-pages/services/grpc-services.mdx
diff --git a/fern/products/grpc-def/pages/services/streaming.mdx b/fern/products/api-def/grpc-pages/services/streaming.mdx
similarity index 100%
rename from fern/products/grpc-def/pages/services/streaming.mdx
rename to fern/products/api-def/grpc-pages/services/streaming.mdx
diff --git a/fern/products/openapi-def/pages/auth.mdx b/fern/products/api-def/openapi-pages/auth.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/auth.mdx
rename to fern/products/api-def/openapi-pages/auth.mdx
diff --git a/fern/products/openapi-def/pages/automation.mdx b/fern/products/api-def/openapi-pages/automation.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/automation.mdx
rename to fern/products/api-def/openapi-pages/automation.mdx
diff --git a/fern/products/openapi-def/pages/endpoints/multipart.mdx b/fern/products/api-def/openapi-pages/endpoints/multipart.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/endpoints/multipart.mdx
rename to fern/products/api-def/openapi-pages/endpoints/multipart.mdx
diff --git a/fern/products/openapi-def/pages/endpoints/rest.mdx b/fern/products/api-def/openapi-pages/endpoints/rest.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/endpoints/rest.mdx
rename to fern/products/api-def/openapi-pages/endpoints/rest.mdx
diff --git a/fern/products/openapi-def/pages/endpoints/sse.mdx b/fern/products/api-def/openapi-pages/endpoints/sse.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/endpoints/sse.mdx
rename to fern/products/api-def/openapi-pages/endpoints/sse.mdx
diff --git a/fern/products/openapi-def/pages/examples.mdx b/fern/products/api-def/openapi-pages/examples.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/examples.mdx
rename to fern/products/api-def/openapi-pages/examples.mdx
diff --git a/fern/products/openapi-def/pages/extensions/audiences.mdx b/fern/products/api-def/openapi-pages/extensions/audiences.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/extensions/audiences.mdx
rename to fern/products/api-def/openapi-pages/extensions/audiences.mdx
diff --git a/fern/products/openapi-def/pages/extensions/method-names.mdx b/fern/products/api-def/openapi-pages/extensions/method-names.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/extensions/method-names.mdx
rename to fern/products/api-def/openapi-pages/extensions/method-names.mdx
diff --git a/fern/products/openapi-def/pages/extensions/others.mdx b/fern/products/api-def/openapi-pages/extensions/others.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/extensions/others.mdx
rename to fern/products/api-def/openapi-pages/extensions/others.mdx
diff --git a/fern/products/openapi-def/pages/extensions/parameter-names.mdx b/fern/products/api-def/openapi-pages/extensions/parameter-names.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/extensions/parameter-names.mdx
rename to fern/products/api-def/openapi-pages/extensions/parameter-names.mdx
diff --git a/fern/products/openapi-def/pages/overrides.mdx b/fern/products/api-def/openapi-pages/overrides.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/overrides.mdx
rename to fern/products/api-def/openapi-pages/overrides.mdx
diff --git a/fern/products/openapi-def/pages/overview.mdx b/fern/products/api-def/openapi-pages/overview.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/overview.mdx
rename to fern/products/api-def/openapi-pages/overview.mdx
diff --git a/fern/products/openapi-def/pages/server-frameworks/fastapi.mdx b/fern/products/api-def/openapi-pages/server-frameworks/fastapi.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/server-frameworks/fastapi.mdx
rename to fern/products/api-def/openapi-pages/server-frameworks/fastapi.mdx
diff --git a/fern/products/openapi-def/pages/servers.mdx b/fern/products/api-def/openapi-pages/servers.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/servers.mdx
rename to fern/products/api-def/openapi-pages/servers.mdx
diff --git a/fern/products/openapi-def/pages/webhooks.mdx b/fern/products/api-def/openapi-pages/webhooks.mdx
similarity index 100%
rename from fern/products/openapi-def/pages/webhooks.mdx
rename to fern/products/api-def/openapi-pages/webhooks.mdx
diff --git a/fern/products/openrpc-def/pages/auth.mdx b/fern/products/api-def/openrpc-pages/auth.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/auth.mdx
rename to fern/products/api-def/openrpc-pages/auth.mdx
diff --git a/fern/products/openrpc-def/pages/automation.mdx b/fern/products/api-def/openrpc-pages/automation.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/automation.mdx
rename to fern/products/api-def/openrpc-pages/automation.mdx
diff --git a/fern/products/openrpc-def/pages/extensions/audiences.mdx b/fern/products/api-def/openrpc-pages/extensions/audiences.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/extensions/audiences.mdx
rename to fern/products/api-def/openrpc-pages/extensions/audiences.mdx
diff --git a/fern/products/openrpc-def/pages/extensions/method-names.mdx b/fern/products/api-def/openrpc-pages/extensions/method-names.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/extensions/method-names.mdx
rename to fern/products/api-def/openrpc-pages/extensions/method-names.mdx
diff --git a/fern/products/openrpc-def/pages/extensions/others.mdx b/fern/products/api-def/openrpc-pages/extensions/others.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/extensions/others.mdx
rename to fern/products/api-def/openrpc-pages/extensions/others.mdx
diff --git a/fern/products/openrpc-def/pages/extensions/parameter-names.mdx b/fern/products/api-def/openrpc-pages/extensions/parameter-names.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/extensions/parameter-names.mdx
rename to fern/products/api-def/openrpc-pages/extensions/parameter-names.mdx
diff --git a/fern/products/openrpc-def/pages/methods/batch.mdx b/fern/products/api-def/openrpc-pages/methods/batch.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/methods/batch.mdx
rename to fern/products/api-def/openrpc-pages/methods/batch.mdx
diff --git a/fern/products/openrpc-def/pages/methods/notifications.mdx b/fern/products/api-def/openrpc-pages/methods/notifications.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/methods/notifications.mdx
rename to fern/products/api-def/openrpc-pages/methods/notifications.mdx
diff --git a/fern/products/openrpc-def/pages/methods/rpc-methods.mdx b/fern/products/api-def/openrpc-pages/methods/rpc-methods.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/methods/rpc-methods.mdx
rename to fern/products/api-def/openrpc-pages/methods/rpc-methods.mdx
diff --git a/fern/products/openrpc-def/pages/overrides.mdx b/fern/products/api-def/openrpc-pages/overrides.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/overrides.mdx
rename to fern/products/api-def/openrpc-pages/overrides.mdx
diff --git a/fern/products/openrpc-def/pages/overview.mdx b/fern/products/api-def/openrpc-pages/overview.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/overview.mdx
rename to fern/products/api-def/openrpc-pages/overview.mdx
diff --git a/fern/products/openrpc-def/pages/servers.mdx b/fern/products/api-def/openrpc-pages/servers.mdx
similarity index 100%
rename from fern/products/openrpc-def/pages/servers.mdx
rename to fern/products/api-def/openrpc-pages/servers.mdx
diff --git a/fern/products/api-def/pages/project-structure.mdx b/fern/products/api-def/pages/project-structure.mdx
new file mode 100644
index 000000000..ad2c09bd5
--- /dev/null
+++ b/fern/products/api-def/pages/project-structure.mdx
@@ -0,0 +1,73 @@
+---
+title: The Fern Folder
+description: Describes the Fern folder structure
+---
+
+Configuring fern starts with the `fern` folder. The fern folder contains your API definitions,
+SDK generators, and your CLI version.
+
+## Directory structure
+
+When you run `fern init` (for the Fern Definition) or `fern init --spec-type path/to/spec` (for other specs), your fern folder is initialized with the following files:
+
+```bash
+fern/
+ ├─ fern.config.json # Root-level config for entire Fern project
+ ├─ generators.yml # Defines SDKs and docs to generate
+ └─ spec-folder/ # definition, openapi, asyncapi, etc.
+ └─ spec-file.yml # API specification file
+```
+
+
+ For Fern Definition, your API configuration is split across two files: `api.yml` for API-wide configuration and separate `.yml` files for your actual endpoint and type definitions. See [What is a Fern Definition?](/api-definitions/ferndef/overview) for more information.
+
+ For the other specification formats ([OpenAPI](/api-definitions/openapi/overview), [AsyncAPI](/api-definitions/asyncapi/overview), [OpenRPC](/api-definitions/openrpc/overview), and [gRPC](/api-definitions/grpc/overview)), you'll have a single self-contained specification file.
+
+
+
+
+
+Every fern folder has a single `fern.config.json` file. This file stores the organization and
+the version of the Fern CLI that you are using.
+
+```json
+{
+ "organization": "your-organization",
+ "version": "0.31.2"
+}
+```
+
+Every time you run a fern CLI command, the CLI downloads itself at the correct version to ensure
+determinism.
+
+
+
+The `generators.yml` file includes information about where your API definition file is located. It also configures the SDKs you're generating for your API.
+
+```yaml
+api:
+ path: ./path/to/openapi.yml
+```
+
+
+
+## Multiple APIs
+
+The fern folder can house multiple API definitions. When you have multiple APIs, nest your definition files within an `apis` folder.
+
+Each API must also have a separate `generators.yml` file that specifies the location of the API definition and configures SDK generation.
+
+```bash
+fern/
+ ├─ fern.config.json
+ ├─ generators.yml # Optional: top-level configuration for all APIs
+ └─ apis/
+ └─ first-api/ # First API
+ ├─ generators.yml # Required: points to API spec
+ └─ openapi/
+ ├─ openapi.yml # API Definition file
+ └─ second-api/ # Second API
+ ├─ generators.yml # Required: points to API spec
+ └─ openapi/
+ ├─ openapi.yml # API Definition file
+```
diff --git a/fern/products/api-def/pages/what-is-an-api-definition.mdx b/fern/products/api-def/pages/what-is-an-api-definition.mdx
new file mode 100644
index 000000000..ff7dd3f1a
--- /dev/null
+++ b/fern/products/api-def/pages/what-is-an-api-definition.mdx
@@ -0,0 +1,358 @@
+---
+title: What is an API definition?
+description: Describes the contract between the API provider and API consumer
+---
+
+An API definition is a machine-readable specification of your API's structure, including **endpoints**, **request and response schemas**, and **authentication** requirements. Instead of manually keeping SDKs and documentation in sync with API changes, an API definition enables automatic generation of these artifacts.
+
+Fern integrates with several API definition formats:
+
+
+
+ Formerly known as Swagger, [OpenAPI](https://swagger.io/specification/) is the most popular API definition format.
+ OpenAPI can be used to document RESTful APIs and is defined in a YAML or JSON file.
+
+ Check out an example OpenAPI Specification for the Petstore API [here](https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml)
+
+ ```yaml maxLines={0}
+ openapi: 3.0.2
+ tags:
+ - name: pet
+ description: Everything about your Pets
+ paths:
+ /pet:
+ post:
+ tags:
+ - pet
+ summary: Add a new pet to the store
+ description: Add a new pet to the store
+ operationId: addPet
+ requestBody:
+ description: Create a new pet in the store
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ application/xml:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ application/x-www-form-urlencoded:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ responses:
+ '200':
+ description: Successful operation
+ content:
+ application/xml:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Pet'
+ '405':
+ description: Invalid input
+ components:
+ schemas:
+ Pet:
+ required:
+ - name
+ - photoUrls
+ properties:
+ id:
+ type: integer
+ format: int64
+ example: 10
+ name:
+ type: string
+ example: doggie
+ category:
+ $ref: '#/components/schemas/Category'
+ photoUrls:
+ type: array
+ xml:
+ wrapped: true
+ items:
+ type: string
+ xml:
+ name: photoUrl
+ tags:
+ type: array
+ xml:
+ wrapped: true
+ items:
+ $ref: '#/components/schemas/Tag'
+ xml:
+ name: tag
+ status:
+ type: string
+ description: pet status in the store
+ enum:
+ - available
+ - pending
+ - sold
+ xml:
+ name: pet
+ type: object
+ ```
+
+
+ [AsyncAPI](https://v2.asyncapi.com/docs) is a specification for defining event-driven APIs. It is used to document APIs that use
+ WebSockets, MQTT, and other messaging protocols.
+
+ Check out an example AsyncAPI spec for a chat application below:
+
+ ```yaml maxLines={0}
+ asyncapi: 2.0.0
+ info:
+ title: Chat server
+ version: 1.0.0
+
+ servers:
+ Production:
+ url: chat.com
+ protocol: ws
+
+ channels:
+ "/application":
+ bindings:
+ ws:
+ query:
+ type: object
+ properties:
+ apiKey:
+ type: string
+ description: The API key for the client
+ minimum: 1
+ bindingVersion: 0.1.0
+ subscribe:
+ operationId: sendMessage
+ message:
+ $ref: '#/components/messages/SendMessage'
+ publish:
+ operationId: receiveMessage
+ message:
+ $ref: '#/components/messages/ReceiveMessage'
+
+ components:
+ messages:
+ SendMessage:
+ payload:
+ message: string
+ ReceiveMessage:
+ payload:
+ message: string
+ from:
+ type: string
+ description: The userId for the sender of the message
+ ```
+
+
+
+ [OpenRPC](https://open-rpc.org/) is a spec for describing JSON-RPC 2.0 APIs. It enables interactive docs and code generation tooling to the JSON-RPC ecosystem.
+
+ Check out an example OpenRPC Specification for a crypto wallet service below:
+
+ ```yaml maxLines=0
+ # yaml-language-server: $schema=https://meta.open-rpc.org/
+ $schema: https://meta.open-rpc.org/
+ openrpc: 1.2.4
+ info:
+ title: Basic Wallet API JSON-RPC Specification
+ description: A simple JSON-RPC API for querying wallet balances.
+ version: 0.0.1
+ servers:
+ - url: https://wallet.example.com/json-rpc
+ name: Mainnet
+ methods:
+ - name: getBalance
+ description: Get the balance of a wallet address.
+ params:
+ - name: address
+ required: true
+ description: The wallet address to query.
+ schema:
+ type: string
+ result:
+ name: balance
+ description: The balance of the wallet address.
+ schema:
+ type: number
+ examples:
+ - name: getBalance example
+ params:
+ - name: address
+ value: "0x1234567890abcdef1234567890abcdef12345678"
+ result:
+ name: balance
+ value: 42.5
+ ```
+
+
+ [gRPC](https://grpc.io/) is a modern, open-source RPC framework developed by Google. It uses Protocol Buffers as its interface definition language and supports multiple programming languages with efficient binary serialization.
+
+ gRPC APIs are defined using Protocol Buffer (.proto) files that specify services and message types. Check out an example gRPC service definition below:
+
+ ```proto maxLines={0}
+ syntax = "proto3";
+
+ package petstore;
+
+ // The pet store service definition
+ service PetStoreService {
+ // Get a pet by ID
+ rpc GetPet(GetPetRequest) returns (Pet);
+
+ // Add a new pet to the store
+ rpc AddPet(AddPetRequest) returns (Pet);
+
+ // List all pets with optional filtering
+ rpc ListPets(ListPetsRequest) returns (ListPetsResponse);
+ }
+
+ // Request message for getting a pet
+ message GetPetRequest {
+ int64 pet_id = 1;
+ }
+
+ // Request message for adding a pet
+ message AddPetRequest {
+ string name = 1;
+ string category = 2;
+ repeated string photo_urls = 3;
+ PetStatus status = 4;
+ }
+
+ // Request message for listing pets
+ message ListPetsRequest {
+ int32 page_size = 1;
+ string page_token = 2;
+ PetStatus status = 3;
+ }
+
+ // Response message for listing pets
+ message ListPetsResponse {
+ repeated Pet pets = 1;
+ string next_page_token = 2;
+ }
+
+ // Pet message definition
+ message Pet {
+ int64 id = 1;
+ string name = 2;
+ string category = 3;
+ repeated string photo_urls = 4;
+ PetStatus status = 5;
+ }
+
+ // Pet status enumeration
+ enum PetStatus {
+ PET_STATUS_UNSPECIFIED = 0;
+ PET_STATUS_AVAILABLE = 1;
+ PET_STATUS_PENDING = 2;
+ PET_STATUS_SOLD = 3;
+ }
+ ```
+
+
+ The Fern Definition is our take on a simpler API definition format. It is designed with **best-practices**,
+ supports **both RESTful and event-driven APIs**, and is optimized for **SDK generation**.
+
+
+ The Fern Definition is inspired from internal API Definition formats built at companies like
+ [Amazon](https://smithy.io/2.0/index.html), [Google](https://grpc.io/), [Palantir](https://blog.palantir.com/introducing-conjure-palantirs-toolchain-for-http-json-apis-2175ec172d32),
+ Twilio and Stripe. These companies **rejected** OpenAPI and built their own version.
+
+
+ Check out an example Fern Definition below:
+
+ ```yaml maxLines={0}
+ types:
+ MovieId: string
+
+ Movie:
+ properties:
+ id: MovieId
+ title: string
+ rating:
+ type: double
+ docs: The rating scale is one to five stars
+
+ CreateMovieRequest:
+ properties:
+ title: string
+ rating: double
+
+ service:
+ auth: false
+ base-path: /movies
+ endpoints:
+ createMovie:
+ docs: Add a movie to the database
+ method: POST
+ path: /create-movie
+ request: CreateMovieRequest
+ response: MovieId
+
+ getMovie:
+ method: GET
+ path: /{movieId}
+ path-parameters:
+ movieId: MovieId
+ response: Movie
+ errors:
+ - MovieDoesNotExistError
+
+ errors:
+ MovieDoesNotExistError:
+ status-code: 404
+ type: MovieId
+ ```
+
+
+
+
+## Why create an API definition?
+
+Once you have an API definition, Fern uses it as an input to generate artifacts
+like SDKs and API Reference documentation. Every time you update the API definition,
+you can regenerate these artifacts to ensure they are always up-to-date.
+
+
+
+ Client libraries in multiple languages that automatically stay in sync with your API.
+
+
+ Interactive API docs with code examples and live testing capabilities.
+
+ }
+ href="/docs/integrations/postman"
+ >
+ Ready-to-use collection with pre-filled example requests and responses.
+
+ }
+ href="/api-definitions/openapi/frameworks/fastapi"
+ >
+ Pydantic models for FastAPI or controllers for your Spring Boot application.
+
+
diff --git a/fern/products/asyncapi-def/asyncapi-def.yml b/fern/products/asyncapi-def/asyncapi-def.yml
deleted file mode 100644
index a59539c60..000000000
--- a/fern/products/asyncapi-def/asyncapi-def.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-navigation:
- - page: Overview
- path: ./pages/overview.mdx
- - page: Authentication
- path: ./pages/auth.mdx
- - page: Servers
- path: ./pages/servers.mdx
- - section: Channels
- slug: channels
- contents:
- - page: Publish/Subscribe Operations
- path: ./pages/channels/pubsub.mdx
- slug: pubsub
- - page: Message Formats
- path: ./pages/channels/messages.mdx
- slug: messages
- - page: Message Bindings
- path: ./pages/channels/bindings.mdx
- slug: bindings
- - section: Extensions
- slug: extensions
- contents:
- - page: Audiences
- path: ./pages/extensions/audiences.mdx
- - page: SDK Method Names
- path: ./pages/extensions/method-names.mdx
- slug: method-names
- - page: Parameter Names
- path: ./pages/extensions/parameter-names.mdx
- - page: Other
- path: ./pages/extensions/others.mdx
- slug: others
- - section: Workflow & Automation
- skip-slug: true
- contents:
- - page: Overlay Customizations
- path: ./pages/overrides.mdx
- - page: Sync your AsyncAPI Specification
- path: ./pages/automation.mdx
\ No newline at end of file
diff --git a/fern/products/docs/docs.yml b/fern/products/docs/docs.yml
index e41f50e5e..ddb3dbc7b 100644
--- a/fern/products/docs/docs.yml
+++ b/fern/products/docs/docs.yml
@@ -9,6 +9,8 @@ navigation:
path: ./pages/getting-started/project-structure.mdx
- link: Customer Showcase
href: https://buildwithfern.com/showcase#docs-customers.alldocs-features
+ - changelog: ./pages/changelog
+ icon: fa-regular fa-clock-rotate-left
- section: Writing Content
contents:
- page: Markdown
@@ -84,19 +86,18 @@ navigation:
- page: Conditionally Rendered Content
hidden: true
path: ./pages/component-library/custom-components/conditional-rendering.mdx
- - section: Customization
- collapsed: true
+ - section: Configuration
contents:
- page: What is docs.yml
path: ./pages/customization/what-is-docs-yml.mdx
- - page: Frontmatter
+ - page: Navigation
+ path: ./pages/navigation/overview.mdx
+ - page: Versions
+ path: ./pages/navigation/versions.mdx
+ - page: Products
+ path: ./pages/navigation/products.mdx
+ - page: Page-level settings
path: ./pages/customization/frontmatter.mdx
- - page: Search
- path: ./pages/customization/search.mdx
- - page: User Feedback
- path: ./pages/customization/user-feedback.mdx
- - page: Custom CSS & JS
- path: ./pages/component-library/custom-components/custom-css-js.mdx
- section: Preview & Publish
collapsed: true
contents:
@@ -108,21 +109,21 @@ navigation:
path: ./pages/getting-started/publishing-your-docs.mdx
- page: Setting up your domain
path: ./pages/getting-started/setting-up-your-domain.mdx
- - section: Navigation
+ - section: Customization
collapsed: true
contents:
- - page: Overview
- path: ./pages/navigation/overview.mdx
- - page: Versions
- path: ./pages/navigation/versions.mdx
- - page: Products
- path: ./pages/navigation/products.mdx
- page: Announcement Banner
path: ./pages/navigation/announcement-banner.mdx
- page: Changelogs
path: ./pages/navigation/changelogs.mdx
- page: Hiding Content
path: ./pages/navigation/hiding-content.mdx
+ - page: Search
+ path: ./pages/customization/search.mdx
+ - page: User Feedback
+ path: ./pages/customization/user-feedback.mdx
+ - page: Custom CSS & JS
+ path: ./pages/component-library/custom-components/custom-css-js.mdx
- section: API References
collapsed: true
contents:
@@ -222,6 +223,4 @@ navigation:
path: ./pages/developer-tools/vale.mdx
- page: View Markdown
path: ./pages/developer-tools/view-markdown.mdx
- - changelog: ./pages/changelog
- icon: fa-regular fa-clock-rotate-left
\ No newline at end of file
diff --git a/fern/products/fern-def/fern-def.yml b/fern/products/fern-def/fern-def.yml
deleted file mode 100644
index 2d576a0ad..000000000
--- a/fern/products/fern-def/fern-def.yml
+++ /dev/null
@@ -1,62 +0,0 @@
-navigation:
- - page: Overview
- path: ./pages/overview.mdx
- - page: Authentication
- path: ./pages/auth.mdx
- - page: Types
- path: ./pages/types.mdx
- - section: Endpoints
- contents:
- - page: Overview
- path: ./pages/endpoints.mdx
- - page: HTTP JSON Endpoints
- path: ./pages/endpoints/rest.mdx
- slug: http
- - page: Multipart Form Uploads
- path: ./pages/endpoints/multipart.mdx
- slug: multipart
- - page: Bytes
- path: ./pages/endpoints/bytes.mdx
- slug: bytes
- - page: Server-Sent Events
- path: ./pages/endpoints/sse.mdx
- slug: sse
- - section: Advanced
- skip-slug: true
- contents:
- - page: Webhooks
- path: ./pages/webhooks.mdx
- - page: WebSockets
- path: ./pages/websockets.mdx
- slug: websockets
- - page: Errors
- path: ./pages/errors.mdx
- - page: Imports
- path: ./pages/imports.mdx
- - page: Examples
- path: ./pages/examples.mdx
- - page: Audiences
- path: ./pages/audiences.mdx
- - page: Availability
- path: ./pages/availability.mdx
- - section: api.yml Reference
- slug: api-yml
- contents:
- - page: Overview
- path: ./pages/api-yml/overview.mdx
- - page: Environments
- path: ./pages/api-yml/environments.mdx
- - page: Global Headers
- path: ./pages/api-yml/global-configuration.mdx
- - page: Errors
- path: ./pages/api-yml/errors.mdx
- - section: Integrations
- skip-slug: true
- contents:
- - page: Packages
- path: ./pages/packages.mdx
- - page: Depending on Other APIs
- path: ./pages/depending-on-other-apis.mdx
- - page: Export to OpenAPI
- slug: export-openapi
- path: ./pages/export-openapi.mdx
diff --git a/fern/products/fern-def/pages-archived/defining-your-api/audiences.mdx b/fern/products/fern-def/pages-archived/defining-your-api/audiences.mdx
deleted file mode 100644
index 27a9a970f..000000000
--- a/fern/products/fern-def/pages-archived/defining-your-api/audiences.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Audiences
----
-
-Define different audiences for your API.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/defining-your-api/availability.mdx b/fern/products/fern-def/pages-archived/defining-your-api/availability.mdx
deleted file mode 100644
index 2fdc73302..000000000
--- a/fern/products/fern-def/pages-archived/defining-your-api/availability.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Availability
----
-
-Configure availability settings for your API.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/defining-your-api/doc.mdx b/fern/products/fern-def/pages-archived/defining-your-api/doc.mdx
deleted file mode 100644
index 4f467bad4..000000000
--- a/fern/products/fern-def/pages-archived/defining-your-api/doc.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Doc
----
-
-Documentation configuration.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/defining-your-api/endpoints.mdx b/fern/products/fern-def/pages-archived/defining-your-api/endpoints.mdx
deleted file mode 100644
index 8a40e2430..000000000
--- a/fern/products/fern-def/pages-archived/defining-your-api/endpoints.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Endpoints
----
-
-How to define API endpoints in your specification.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/defining-your-api/errors.mdx b/fern/products/fern-def/pages-archived/defining-your-api/errors.mdx
deleted file mode 100644
index 3bd416a65..000000000
--- a/fern/products/fern-def/pages-archived/defining-your-api/errors.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Errors
----
-
-Define error responses for your API.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/defining-your-api/examples.mdx b/fern/products/fern-def/pages-archived/defining-your-api/examples.mdx
deleted file mode 100644
index 057f09c6b..000000000
--- a/fern/products/fern-def/pages-archived/defining-your-api/examples.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Examples
----
-
-How to add examples to your API definition.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/defining-your-api/imports.mdx b/fern/products/fern-def/pages-archived/defining-your-api/imports.mdx
deleted file mode 100644
index 2e72db4d0..000000000
--- a/fern/products/fern-def/pages-archived/defining-your-api/imports.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Imports
----
-
-How to import external definitions into your API.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/defining-your-api/types.mdx b/fern/products/fern-def/pages-archived/defining-your-api/types.mdx
deleted file mode 100644
index b9611b38b..000000000
--- a/fern/products/fern-def/pages-archived/defining-your-api/types.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Types
----
-
-Documentation on the data types used in the API.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/defining-your-api/webhooks.mdx b/fern/products/fern-def/pages-archived/defining-your-api/webhooks.mdx
deleted file mode 100644
index e1144b2b5..000000000
--- a/fern/products/fern-def/pages-archived/defining-your-api/webhooks.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Webhooks
----
-
-How to define webhook endpoints in your API.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/defining-your-api/websockets.mdx b/fern/products/fern-def/pages-archived/defining-your-api/websockets.mdx
deleted file mode 100644
index 23d62baa9..000000000
--- a/fern/products/fern-def/pages-archived/defining-your-api/websockets.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: WebSockets
----
-
-Configure WebSocket connections in your API.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/getting-started/customer-showcase.mdx b/fern/products/fern-def/pages-archived/getting-started/customer-showcase.mdx
deleted file mode 100644
index 6084c326c..000000000
--- a/fern/products/fern-def/pages-archived/getting-started/customer-showcase.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Customer showcase
----
-
-See how other customers are using Fern successfully.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/getting-started/overview.mdx b/fern/products/fern-def/pages-archived/getting-started/overview.mdx
deleted file mode 100644
index df0f4cb1f..000000000
--- a/fern/products/fern-def/pages-archived/getting-started/overview.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Overview
----
-
-Welcome to the Getting Started section! This page provides an introduction to the API and how to begin using it.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/getting-started/philosophy.mdx b/fern/products/fern-def/pages-archived/getting-started/philosophy.mdx
deleted file mode 100644
index 5202a8997..000000000
--- a/fern/products/fern-def/pages-archived/getting-started/philosophy.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Philosophy
----
-
-The principles and philosophy behind Fern API definitions.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/getting-started/quickstart.mdx b/fern/products/fern-def/pages-archived/getting-started/quickstart.mdx
deleted file mode 100644
index d789ff993..000000000
--- a/fern/products/fern-def/pages-archived/getting-started/quickstart.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Quickstart
----
-
-Get started with Fern quickly with this guide.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/global-settings/api-versions.mdx b/fern/products/fern-def/pages-archived/global-settings/api-versions.mdx
deleted file mode 100644
index 72af50968..000000000
--- a/fern/products/fern-def/pages-archived/global-settings/api-versions.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: API versions
----
-
-How to manage different versions of your API.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/global-settings/authentication.mdx b/fern/products/fern-def/pages-archived/global-settings/authentication.mdx
deleted file mode 100644
index a62c4dfbb..000000000
--- a/fern/products/fern-def/pages-archived/global-settings/authentication.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Authentication
----
-
-Configure authentication methods for your API.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/global-settings/environments.mdx b/fern/products/fern-def/pages-archived/global-settings/environments.mdx
deleted file mode 100644
index dd4106bef..000000000
--- a/fern/products/fern-def/pages-archived/global-settings/environments.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Environments
----
-
-Configure different environments for your API (development, staging, production).
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/global-settings/global-headers.mdx b/fern/products/fern-def/pages-archived/global-settings/global-headers.mdx
deleted file mode 100644
index bcc581902..000000000
--- a/fern/products/fern-def/pages-archived/global-settings/global-headers.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Global headers
----
-
-Define headers that apply to all API endpoints.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/guides/creating-namespaces.mdx b/fern/products/fern-def/pages-archived/guides/creating-namespaces.mdx
deleted file mode 100644
index ed970b397..000000000
--- a/fern/products/fern-def/pages-archived/guides/creating-namespaces.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Creating namespaces
----
-
-Instructions for creating and organizing namespaces in your API.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/guides/define-multiple-apis.mdx b/fern/products/fern-def/pages-archived/guides/define-multiple-apis.mdx
deleted file mode 100644
index 57c6b7543..000000000
--- a/fern/products/fern-def/pages-archived/guides/define-multiple-apis.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Define multiple APIs
----
-
-How to define and manage multiple APIs in one project.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/guides/depending-on-other-apis.mdx b/fern/products/fern-def/pages-archived/guides/depending-on-other-apis.mdx
deleted file mode 100644
index e92b4376d..000000000
--- a/fern/products/fern-def/pages-archived/guides/depending-on-other-apis.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Depending on other APIs
----
-
-How to manage dependencies between different APIs.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/guides/export-to-openapi.mdx b/fern/products/fern-def/pages-archived/guides/export-to-openapi.mdx
deleted file mode 100644
index a3f85ef9c..000000000
--- a/fern/products/fern-def/pages-archived/guides/export-to-openapi.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Export to OpenAPI
----
-
-How to export your API definition to OpenAPI format.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/fern-def/pages-archived/guides/validate-your-fern-definition.mdx b/fern/products/fern-def/pages-archived/guides/validate-your-fern-definition.mdx
deleted file mode 100644
index 07b6d978e..000000000
--- a/fern/products/fern-def/pages-archived/guides/validate-your-fern-definition.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Validate your Fern definition
----
-
-Learn how to validate your Fern definition to ensure it's correct.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/fern/overview).
\ No newline at end of file
diff --git a/fern/products/grpc-def/grpc-def.yml b/fern/products/grpc-def/grpc-def.yml
deleted file mode 100644
index be00164c1..000000000
--- a/fern/products/grpc-def/grpc-def.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-navigation:
- - page: Overview
- path: ./pages/overview.mdx
- - page: Authentication
- path: ./pages/auth.mdx
- - page: Servers
- path: ./pages/servers.mdx
- - section: Services
- slug: services
- contents:
- - page: gRPC Services
- path: ./pages/services/grpc-services.mdx
- slug: grpc-services
- - page: Streaming
- path: ./pages/services/streaming.mdx
- slug: streaming
- - page: Error Handling
- path: ./pages/services/errors.mdx
- slug: errors
- - section: Extensions
- slug: extensions
- contents:
- - page: Audiences
- path: ./pages/extensions/audiences.mdx
- - page: SDK Method Names
- path: ./pages/extensions/method-names.mdx
- slug: method-names
- - page: Parameter Names
- path: ./pages/extensions/parameter-names.mdx
- - page: Other
- path: ./pages/extensions/others.mdx
- slug: others
- - section: Workflow & Automation
- skip-slug: true
- contents:
- - page: Overlay Customizations
- path: ./pages/overrides.mdx
- - page: Sync your gRPC Specification
- path: ./pages/automation.mdx
\ No newline at end of file
diff --git a/fern/products/home/pages/welcome.mdx b/fern/products/home/pages/welcome.mdx
index 250627388..7fb686764 100644
--- a/fern/products/home/pages/welcome.mdx
+++ b/fern/products/home/pages/welcome.mdx
@@ -280,8 +280,8 @@ import { FernFooter } from "../../../components/FernFooter";
-

-

+

+
Slack
@@ -332,6 +332,12 @@ import { FernFooter } from "../../../components/FernFooter";
Email us
+
+
+
+
+ Book a demo
+
diff --git a/fern/products/openapi-def/openapi-def.yml b/fern/products/openapi-def/openapi-def.yml
deleted file mode 100644
index 2cae8cd5f..000000000
--- a/fern/products/openapi-def/openapi-def.yml
+++ /dev/null
@@ -1,47 +0,0 @@
-navigation:
- - page: Overview
- path: ./pages/overview.mdx
- - page: Authentication
- path: ./pages/auth.mdx
- - page: Servers
- path: ./pages/servers.mdx
- - section: Endpoints
- slug: endpoints
- contents:
- - page: HTTP JSON Endpoints
- path: ./pages/endpoints/rest.mdx
- slug: http
- - page: Webhooks
- path: ./pages/webhooks.mdx
- - page: Multipart Form Uploads
- path: ./pages/endpoints/multipart.mdx
- slug: multipart
- - page: Server-Sent Events
- path: ./pages/endpoints/sse.mdx
- slug: sse
- - section: Extensions
- slug: extensions
- contents:
- - page: Audiences
- path: ./pages/extensions/audiences.mdx
- - page: SDK Method Names
- path: ./pages/extensions/method-names.mdx
- slug: method-names
- - page: Parameter Names
- path: ./pages/extensions/parameter-names.mdx
- - page: Other
- path: ./pages/extensions/others.mdx
- slug: others
- - section: Workflow & Automation
- skip-slug: true
- contents:
- - page: Overlay Customizations
- path: ./pages/overrides.mdx
- - page: Sync your OpenAPI Specification
- path: ./pages/automation.mdx
- - section: Integrate your Server Framework
- slug: frameworks
- contents:
- - page: FastAPI
- path: ./pages/server-frameworks/fastapi.mdx
- slug: fastapi
diff --git a/fern/products/openapi-def/pages-archived/getting-started/customer-showcase.mdx b/fern/products/openapi-def/pages-archived/getting-started/customer-showcase.mdx
deleted file mode 100644
index c5b866835..000000000
--- a/fern/products/openapi-def/pages-archived/getting-started/customer-showcase.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Customer Showcase
----
-
-Examples and case studies of customers using OpenAPI definitions successfully.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi.mdx b/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi.mdx
deleted file mode 100644
index fb94e0757..000000000
--- a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Get to OpenAPI
----
-
-How to create or obtain your OpenAPI definition through various methods.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/fastapi.mdx b/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/fastapi.mdx
deleted file mode 100644
index c86fc2990..000000000
--- a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/fastapi.mdx
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: FastAPI
----
-
-# Generate OpenAPI from FastAPI
-
-Instructions for generating an OpenAPI definition from a FastAPI project.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/nestjs.mdx b/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/nestjs.mdx
deleted file mode 100644
index a8d652966..000000000
--- a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/nestjs.mdx
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: NestJS
----
-
-# Generate OpenAPI from NestJS
-
-Instructions for generating an OpenAPI definition from a NestJS project.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/request-new-framework.mdx b/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/request-new-framework.mdx
deleted file mode 100644
index caff15386..000000000
--- a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/request-new-framework.mdx
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Request New Framework
----
-
-# Request a New Framework
-
-Don't see your framework? Let us know which framework you'd like to see supported for OpenAPI generation.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/swaggo.mdx b/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/swaggo.mdx
deleted file mode 100644
index bfce61181..000000000
--- a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/generate-it/swaggo.mdx
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Swaggo
----
-
-# Generate OpenAPI from Swaggo
-
-Instructions for generating an OpenAPI definition from a Swaggo (Go) project.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/handwrite-it.mdx b/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/handwrite-it.mdx
deleted file mode 100644
index 369b2a221..000000000
--- a/fern/products/openapi-def/pages-archived/getting-started/get-to-openapi/handwrite-it.mdx
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Handwrite It
----
-
-# Handwrite Your OpenAPI Definition
-
-Step-by-step guide to manually writing your OpenAPI definition from scratch.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/getting-started/overlay-customizations.mdx b/fern/products/openapi-def/pages-archived/getting-started/overlay-customizations.mdx
deleted file mode 100644
index 014c14d01..000000000
--- a/fern/products/openapi-def/pages-archived/getting-started/overlay-customizations.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Overlay Customizations
----
-
-Learn how to customize your OpenAPI overlays to fit your unique requirements.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/getting-started/overview.mdx b/fern/products/openapi-def/pages-archived/getting-started/overview.mdx
deleted file mode 100644
index 6be870a5d..000000000
--- a/fern/products/openapi-def/pages-archived/getting-started/overview.mdx
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: Overview
----
-
-# Overview
-
-This is the overview page for Getting Started with your OpenAPI definition. Here you will find a high-level introduction and guidance on how to begin.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/getting-started/philosophy.mdx b/fern/products/openapi-def/pages-archived/getting-started/philosophy.mdx
deleted file mode 100644
index 87806f749..000000000
--- a/fern/products/openapi-def/pages-archived/getting-started/philosophy.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Philosophy
----
-
-The philosophy and principles behind OpenAPI definitions and how they enhance API development.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/schemas/allof.mdx b/fern/products/openapi-def/pages-archived/schemas/allof.mdx
deleted file mode 100644
index e358568a9..000000000
--- a/fern/products/openapi-def/pages-archived/schemas/allof.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: All Of
----
-
-How to use the `allOf` keyword to compose schemas in OpenAPI.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/schemas/anyof.mdx b/fern/products/openapi-def/pages-archived/schemas/anyof.mdx
deleted file mode 100644
index 49b1741a8..000000000
--- a/fern/products/openapi-def/pages-archived/schemas/anyof.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Any Of
----
-
-How to use the `anyOf` keyword to allow multiple possible schemas in OpenAPI.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/schemas/enums.mdx b/fern/products/openapi-def/pages-archived/schemas/enums.mdx
deleted file mode 100644
index 91e6534f9..000000000
--- a/fern/products/openapi-def/pages-archived/schemas/enums.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Enums
----
-
-How to use enum types to define a fixed set of values in OpenAPI.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/schemas/inlined-schemas.mdx b/fern/products/openapi-def/pages-archived/schemas/inlined-schemas.mdx
deleted file mode 100644
index ef85bd503..000000000
--- a/fern/products/openapi-def/pages-archived/schemas/inlined-schemas.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Inlined Schemas
----
-
-How to define schemas inline within your OpenAPI specification.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/schemas/objects.mdx b/fern/products/openapi-def/pages-archived/schemas/objects.mdx
deleted file mode 100644
index 11c642e50..000000000
--- a/fern/products/openapi-def/pages-archived/schemas/objects.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Objects
----
-
-How to define object schemas with properties in OpenAPI.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/schemas/oneof.mdx b/fern/products/openapi-def/pages-archived/schemas/oneof.mdx
deleted file mode 100644
index 9cbd54b08..000000000
--- a/fern/products/openapi-def/pages-archived/schemas/oneof.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: One Of
----
-
-How to use the `oneOf` keyword to define alternative schemas in OpenAPI.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/schemas/override-type.mdx b/fern/products/openapi-def/pages-archived/schemas/override-type.mdx
deleted file mode 100644
index 232be2f74..000000000
--- a/fern/products/openapi-def/pages-archived/schemas/override-type.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Override Type
----
-
-How to override the default type inference for schemas in OpenAPI.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/security-schemes/multiple-security-schemes.mdx b/fern/products/openapi-def/pages-archived/security-schemes/multiple-security-schemes.mdx
deleted file mode 100644
index e309f5c61..000000000
--- a/fern/products/openapi-def/pages-archived/security-schemes/multiple-security-schemes.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Multiple Security Schemes
----
-
-Learn how to define and use multiple security schemes in your OpenAPI definition.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/security-schemes/overriding-security-scheme.mdx b/fern/products/openapi-def/pages-archived/security-schemes/overriding-security-scheme.mdx
deleted file mode 100644
index c15237faa..000000000
--- a/fern/products/openapi-def/pages-archived/security-schemes/overriding-security-scheme.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Overriding Security Scheme
----
-
-How to override security schemes in specific operations or contexts.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/security-schemes/overview.mdx b/fern/products/openapi-def/pages-archived/security-schemes/overview.mdx
deleted file mode 100644
index aee1d93c0..000000000
--- a/fern/products/openapi-def/pages-archived/security-schemes/overview.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Security Schemes Overview
----
-
-Overview of security schemes and authentication methods in OpenAPI.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/servers/multiple-server-urls.mdx b/fern/products/openapi-def/pages-archived/servers/multiple-server-urls.mdx
deleted file mode 100644
index 75b1c9a73..000000000
--- a/fern/products/openapi-def/pages-archived/servers/multiple-server-urls.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Multiple Server URLs
----
-
-How to configure multiple server URLs for different environments.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/servers/naming-your-servers.mdx b/fern/products/openapi-def/pages-archived/servers/naming-your-servers.mdx
deleted file mode 100644
index e8156e654..000000000
--- a/fern/products/openapi-def/pages-archived/servers/naming-your-servers.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Naming Your Servers
----
-
-Best practices for naming your server configurations.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/servers/overriding-servers.mdx b/fern/products/openapi-def/pages-archived/servers/overriding-servers.mdx
deleted file mode 100644
index b73791cd4..000000000
--- a/fern/products/openapi-def/pages-archived/servers/overriding-servers.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Overriding Servers
----
-
-How to override server configurations in specific contexts.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openapi-def/pages-archived/servers/overview.mdx b/fern/products/openapi-def/pages-archived/servers/overview.mdx
deleted file mode 100644
index 57a9148b3..000000000
--- a/fern/products/openapi-def/pages-archived/servers/overview.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
----
-title: Servers Overview
----
-
-Overview of server configuration options in OpenAPI.
-
-This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/api-definition/openapi/overview).
\ No newline at end of file
diff --git a/fern/products/openrpc-def/openrpc-def.yml b/fern/products/openrpc-def/openrpc-def.yml
deleted file mode 100644
index 2235fb2a9..000000000
--- a/fern/products/openrpc-def/openrpc-def.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-navigation:
- - page: Overview
- path: ./pages/overview.mdx
- - page: Authentication
- path: ./pages/auth.mdx
- - page: Servers
- path: ./pages/servers.mdx
- - section: Methods
- slug: methods
- contents:
- - page: JSON-RPC Methods
- path: ./pages/methods/rpc-methods.mdx
- slug: rpc-methods
- - page: Notifications
- path: ./pages/methods/notifications.mdx
- slug: notifications
- - page: Batch Requests
- path: ./pages/methods/batch.mdx
- slug: batch
- - section: Extensions
- slug: extensions
- contents:
- - page: Audiences
- path: ./pages/extensions/audiences.mdx
- - page: SDK Method Names
- path: ./pages/extensions/method-names.mdx
- slug: method-names
- - page: Parameter Names
- path: ./pages/extensions/parameter-names.mdx
- - page: Other
- path: ./pages/extensions/others.mdx
- slug: others
- - section: Workflow & Automation
- skip-slug: true
- contents:
- - page: Overlay Customizations
- path: ./pages/overrides.mdx
- - page: Sync your OpenRPC Specification
- path: ./pages/automation.mdx