Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
32e915e
feat: shifted over docs guides
Jul 16, 2025
626da7b
feat: shifted over docs guides
Jul 16, 2025
fef7ecf
feat: shifted over docs guides
Jul 16, 2025
e78966b
feat: moving more docs over
Jul 16, 2025
d676e49
feat: removed overview
Jul 16, 2025
c02db98
feat: moved content for eusable snippets
Jul 16, 2025
eca376d
feat: added content
Jul 16, 2025
ea4e8a9
feat: moving more docs over
Jul 16, 2025
95f1d72
feat: moved over all docs content
Jul 16, 2025
69c6637
feat: removed sso and self-hosted
Jul 16, 2025
621d78e
feat: removed sso and self-hosted
Jul 16, 2025
f76b923
feat: removed sso and self-hosted
Jul 16, 2025
64fd25c
feat: moved over changelog assets
Jul 16, 2025
7c2c369
feat: moved over changelog assets
Jul 16, 2025
75c2a17
feat: moved over changelog assets
Jul 16, 2025
5887746
feat: moved over changelog assets
Jul 16, 2025
3979ba8
feat: fixed footer width
Jul 16, 2025
3614c63
feat: added icons for api def and cli
Jul 16, 2025
49284de
feat: added icons for api def and cli
Jul 16, 2025
cb8cd59
Merge remote-tracking branch 'origin/main' into 07-16-migrate-sdk-guides
Jul 16, 2025
6129e82
feat: moved over as many sdk guides as possible
Jul 16, 2025
bf6ab54
feat: moved over as many sdk guides as possible
Jul 16, 2025
4421cf0
feat: adding social logos
Jul 17, 2025
bc66eee
feat: adding social logos
Jul 17, 2025
367022d
feat: adding social logos
Jul 17, 2025
993b6aa
feat: adding social logos
Jul 17, 2025
63a5704
feat: adding flare to docs homepage
Jul 17, 2025
5260661
feat: adding flare to docs homepage
Jul 17, 2025
4f67c30
feat: updated sdk-snippets dosc
Jul 17, 2025
9a4663b
feat: updated sdk-snippets dosc
Jul 17, 2025
c4764a5
feat: updated sdk-snippets dosc
Jul 17, 2025
18c86f1
feat: added sdk home page
Jul 17, 2025
05efbda
feat: added sdk home page
Jul 17, 2025
0c55bd5
feat: updated sdks hoem
Jul 17, 2025
c3a8c04
feat: updated sdks hoem
Jul 17, 2025
271a781
feat: updated sdks hoem
Jul 17, 2025
b8c596c
feat: updated sdks home
Jul 17, 2025
dc40161
feat: updated sdks home
Jul 17, 2025
7e02a76
feat: added dark mode
Jul 17, 2025
229216c
feat: added dark mode
Jul 17, 2025
a0119b1
feat: testing out svg
Jul 17, 2025
c500470
feat: testing out svg
Jul 17, 2025
9144f95
feat: adding social logos
Jul 17, 2025
1b7f65d
feat: updated lines on homepage & docs page
Jul 18, 2025
d326da4
feat: updated footer
Jul 18, 2025
bfa8d85
feat: updated sdks home
Jul 18, 2025
95685eb
feat: merged with master
Jul 18, 2025
d7988dd
feat: merged with master
Jul 18, 2025
4200402
feat: fixed links
Jul 18, 2025
3c2541b
feat: updated graphis
Jul 18, 2025
46578e4
feat: updated graphics for sdk home page
Jul 18, 2025
692ce4d
feat: updated naming on kcards
Jul 18, 2025
c9a1b02
feat: updated naming on kcards
Jul 18, 2025
8dbab6d
feat: fixed links to genreators langunages
Jul 18, 2025
7a9ff00
Merge remote-tracking branch 'origin/main' into 07-18-links
Jul 18, 2025
e26c009
feat: added css to fix footer
Jul 18, 2025
140d5d4
feat: added css to fix footer
Jul 18, 2025
0c9af8e
feat: added css to fix footer
Jul 18, 2025
8fcb2c1
feat: fixed footer links
Jul 18, 2025
3ee940d
feat: added redirects for most of sdk pages
Jul 18, 2025
7abffdc
Merge remote-tracking branch 'origin/main' into 07-21-redirects-1
Jul 21, 2025
eb194fc
feat: added folders for fern definition and openapi definition
Jul 21, 2025
c37a7d4
feat: fixed broken link on TS card
Jul 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 13 additions & 14 deletions fern/assets/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
grid-row: 2;
}

> a[href*="api-definition"]:before {
/* > a[href*="api-definition"]:before {
content: "Utilities";
font-weight: 500;
position: absolute;
Expand All @@ -108,19 +108,7 @@
width: 1.5rem;
height: 1.5rem;
}
}


> a[href*="cli-api-reference"] {
grid-column: 3;
grid-row: 2;
transform: translateY(-32px);

.fern-selection-item-icon {
width: 1.5rem;
height: 1.5rem;
}
}
} */

> a[href*="openapi"]:before {
content: "Supported Specs";
Expand Down Expand Up @@ -151,6 +139,17 @@
}
}

> a[href*="cli-api-reference"] {
grid-column: 3;
grid-row: 3;
transform: translateY(-64px);

.fern-selection-item-icon {
width: 1.5rem;
height: 1.5rem;
}
}

> a[href*="asyncapi"] {
grid-column: 3;
grid-row: 3;
Expand Down
82 changes: 61 additions & 21 deletions fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,35 +27,36 @@ products:

- display-name: Ask Fern
path: ./products/ask-fern/ask-fern.yml
icon: fa-regular fa-magnifying-glass
icon: fa-regular fa-magnifying-glass
image: ./images/product-switcher/product-switcher-askfern-light.png
slug: ask-fern
subtitle: Let users find answers in your documentation instantly

- display-name: API Definition
path: ./products/api-definition/api-definition.yml

# - display-name: API Definition
# path: ./products/api-definition/api-definition.yml
# icon: fa-regular fa-book
# image: ./images/product-switcher/api-definitions-light.png
# slug: api-definition

- display-name: OpenAPI
path: ./products/openapi-def/openapi-def.yml
icon: fa-regular fa-book
image: ./images/product-switcher/api-definitions-light.png
slug: api-definition
image: ./images/product-switcher/openapi-def.png
slug: openapi

- display-name: Fern Definition
path: ./products/fern-def/fern-def.yml
icon: fa-regular fa-seedling
image: ./images/product-switcher/fern-def.png
slug: fern-def

- display-name: CLI & API Reference
path: ./products/cli-api-reference/cli-api-reference.yml
icon: fa-regular fa-terminal
image: ./images/product-switcher/cli-api-reference-light.png
slug: cli-api-reference

# - display-name: OpenAPI
# path: ./products/openapi-def/openapi-def.yml
# icon: fa-regular fa-book
# image: ./images/product-switcher/openapi-def.png
# slug: openapi

# - display-name: Fern Definition
# path: ./products/fern-def/fern-def.yml
# icon: fa-regular fa-seedling
# image: ./images/product-switcher/fern-def.png
# slug: fern-def

# - display-name: AsyncAPI
# path: ./products/asyncapi-def/asyncapi-def.yml
# icon: fa-regular fa-bolt
Expand Down Expand Up @@ -152,27 +153,66 @@ redirects:
- source: /learn/welcome
destination: /learn
permanent: true
- source: /learn/home
destination: /learn
- source: /learn
destination: /learn/home
permanent: true
- source: /learn/api-definition/fern/api-yml-reference
destination: /learn/api-definition/fern/api-yml/overview
permanent: true
- source: /learn/docs/api-references/api-explorer
destination: /learn/docs/api-references/api-explorer/overview
- source: /learn/docs/api-references/api-playground/:slug*
destination: /learn/docs/api-references/api-explorer/:slug*
destination: learn/docs/api-references/api-explorer/:slug*
permanent: true
- source: /learn/docs/api-references/api-playground
destination: /learn/docs/api-references/api-explorer
destination: /learn/docs/api-references/api-explorer/overview
permanent: true
- source: /learn/sdks/features/:slug*
destination: /learn/sdks/capabilities/:slug*
permanent: true
- source: /learn/sdks/capabilities/method-names
destination: /learn/sdks/deep-dives/customize-method-names
permanent: true
- source: /learn/sdks/guides/preview-your-sdk-locally
destination: /learn/sdks/deep-dives/setup-local-sdk-previews
permanent: true
- source: /learn/sdks/capabilities/auto-pagination
destination: /learn/v2/sdks/deep-dives/configure-auto-pagination
permanent: true
- source: /learn/sdks/capabilities/idempotency-headers
destination: /learn/sdks/deep-dives/configure-idempotency
permanent: true
- source: /learn/sdks/package-managers/:slug*
destination: /learn/sdks/guides/publish-to-package-managers/:slug*
permanent: true
- source: /learn/sdks/guides/publish-to-package-managers/npm-type-script
destination: /learn/sdks/generators/type-script/publishing-to-npm
permanent: true
- source: /learn/sdks/guides/publish-to-package-managers/pypi
destination: /learn/sdks/generators/python/publishing-to-py-pi
permanent: true
- source: /learn/sdks/guides/publish-to-package-managers/nuget
destination: /learn/sdks/generators/net/publishing-to-nu-get
permanent: true
- source: /learn/sdks/guides/publish-to-package-managers/pkgsite
destination: /learn/sdks/generators/go/publishing-as-a-go-module
permanent: true
- source: /learn/sdks/guides/publish-to-package-managers/maven-central
destination: /learn/sdks/generators/java/publishing-to-maven-central
permanent: true
- source: /learn/sdks/guides/publish-to-package-managers/rubygems
destination: /learn/sdks/generators/ruby/publishing-to-rubygems
permanent: true
- source: /learn/sdks/guides/publish-to-package-managers/packagist
destination: /learn/sdks/generators/php/publishing-to-packagist
permanent: true
- source: /learn/sdks/introduction/configuration
destination: /learn/sdks/introduction/language-support
permanent: true
- source: /learn/sdks/introduction/language-support
destination: /learn/sdks/overview/introduction
permanent: true
## PAUSED HERE
- source: /learn/sdks/getting-started/:slug*
destination: /learn/sdks/guides/:slug*
permanent: true
Expand Down
3 changes: 2 additions & 1 deletion fern/products/docs/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,9 @@ navigation:
path: ./pages/api-references/http-snippets.mdx
- section: API Explorer
slug: api-explorer
path: ./pages/api-references/api-explorer.mdx
contents:
- page: Overview
path: ./pages/api-references/api-explorer.mdx
- page: Auto-populate API Keys
path: ./pages/api-references/autopopulate-api-key.mdx
- page: Endpoint Errors
Expand Down
100 changes: 50 additions & 50 deletions fern/products/fern-def/fern-def.yml
Original file line number Diff line number Diff line change
@@ -1,55 +1,55 @@
navigation:
- section: Getting Started
- page: Overview
path: ./pages/overview.mdx
- page: Authentication
path: ./pages/auth.mdx
- page: Types
path: ./pages/types.mdx
- section: Endpoints
path: ./pages/endpoints.mdx
contents:
- 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
- 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/getting-started/overview.mdx
- page: Quickstart
path: ./pages/getting-started/quickstart.mdx
- page: Philosophy
path: ./pages/getting-started/philosophy.mdx
- page: Customer Showcase
path: ./pages/getting-started/customer-showcase.mdx
- section: Global Settings
contents:
- page: Authentication
path: ./pages/global-settings/authentication.mdx
- page: Global Headers
path: ./pages/global-settings/global-headers.mdx
path: ./pages/api-yml/overview.mdx
- page: Environments
path: ./pages/global-settings/environments.mdx
- page: API Versions
path: ./pages/global-settings/api-versions.mdx
- section: Defining your API
contents:
- page: Types
path: ./pages/defining-your-api/types.mdx
- page: Imports
path: ./pages/defining-your-api/imports.mdx
- page: Endpoints
path: ./pages/defining-your-api/endpoints.mdx
- page: Webhooks
path: ./pages/defining-your-api/webhooks.mdx
- page: WebSockets
path: ./pages/defining-your-api/websockets.mdx
- page: Examples
path: ./pages/defining-your-api/examples.mdx
path: ./pages/api-yml/environments.mdx
- page: Global Headers
path: ./pages/api-yml/global-configuration.mdx
- page: Errors
path: ./pages/defining-your-api/errors.mdx
- page: Doc
path: ./pages/defining-your-api/doc.mdx
- page: Availability
path: ./pages/defining-your-api/availability.mdx
- page: Audiences
path: ./pages/defining-your-api/audiences.mdx
- section: Guides
contents:
- page: Validate your Fern Definition
path: ./pages/guides/validate-your-fern-definition.mdx
- page: Define multiple APIs
path: ./pages/guides/define-multiple-apis.mdx
- page: Export to OpenAPI
path: ./pages/guides/export-to-openapi.mdx
- page: Depending on other APIs
path: ./pages/guides/depending-on-other-apis.mdx
- page: Creating namespaces
path: ./pages/guides/creating-namespaces.mdx
path: ./pages/api-yml/errors.mdx
- 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
87 changes: 87 additions & 0 deletions fern/products/fern-def/pages/api-yml/environments.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
title: Environments
description: List environments like production, staging, and development.
---

You can specify the environments where your server is deployed.

## Single URL environments

```yaml title="api.yml"
name: api
environments:
Production: https://www.yoursite.com
Staging:
docs: This staging environment is helpful for testing!
url: https://www.staging.yoursite.com
```

## Multiple URLs per environment

You can specify multiple URLs per environment. This is helpful if you have a
microservice architecture, and you want a single SDK to interact with multiple
servers.

```yaml title="api.yml"
environments:
Production:
urls:
Auth: https://auth.yoursite.com
Plants: https://plants.yoursite.com
Staging:
urls:
Auth: https://auth.staging.yoursite.com
Plants: https://plants.staging.yoursite.com
```

If you choose to use this feature, you must specify a `url` for each service you define:

```yaml title="auth.yml"
service:
url: Auth
base-path: /auth
...
```

## Default environment

You can also provide a default environment:

```yaml title="api.yml"
name: api
environments:
Production: https://www.yoursite.com
Staging:
docs: This staging environment is helpful for testing!
url: https://www.staging.yoursite.com
default-environment: Production
```

<Note> By providing a default environment, the generated SDK will be setup to hit that URL out-of-the-box. </Note>

## Base path
If you would like all of your endpoints to be prefixed with a path, use `base-path`.

In the example below, every endpoint is prefixed with a `/v1`:
```yaml title="api.yml"
name: api
base-path: /v1
```

## Audiences

If you have listed environments that you want to filter, you can leverage audiences.

```yaml title="api.yml"
audiences:
- public

environments:
Dev:
url: https://api.dev.buildwithfern.com
Prod:
url: https://api.buildwithfern.com
audiences:
- external
```

Loading