> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.barayuda.web.id/api-reference/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.barayuda.web.id/_mcp/server. # API Reference ## API Docs - Swagger Plant Store - OpenAPI 3.1 > plant [Add a new plant to the store](https://docs.barayuda.web.id/api-reference/swagger-plant-store-open-api-3-1/plant/add-plant.md) - Swagger Plant Store - OpenAPI 3.1 > plant [Update an existing plant](https://docs.barayuda.web.id/api-reference/swagger-plant-store-open-api-3-1/plant/update-plant.md) - Swagger Plant Store - OpenAPI 3.1 > plant [Search plants by status](https://docs.barayuda.web.id/api-reference/swagger-plant-store-open-api-3-1/plant/search-plants-by-status.md) - Swagger Plant Store - OpenAPI 3.1 > plant [Search plants by tags](https://docs.barayuda.web.id/api-reference/swagger-plant-store-open-api-3-1/plant/search-plants-by-tags.md) - Swagger Plant Store - OpenAPI 3.1 > plant [Find plant by ID](https://docs.barayuda.web.id/api-reference/swagger-plant-store-open-api-3-1/plant/get-plant-by-id.md) - Swagger Plant Store - OpenAPI 3.1 > user [Logs user into the system](https://docs.barayuda.web.id/api-reference/swagger-plant-store-open-api-3-1/user/login-user.md) - Swagger Plant Store - OpenAPI 3.1 > user [Logs out current logged-in user session](https://docs.barayuda.web.id/api-reference/swagger-plant-store-open-api-3-1/user/logout-user.md) - Swagger Plant Store - OpenAPI 3.1 > user [Get user by username](https://docs.barayuda.web.id/api-reference/swagger-plant-store-open-api-3-1/user/get-user-by-name.md) - Plant Store AsyncAPI > Plant Events [plantEvents](https://docs.barayuda.web.id/api-reference/plant-store-async-api/plant-events/plant-events.md) ## OpenAPI Specification The raw OpenAPI 3.1 specification for this API is available at: - [OpenAPI JSON](https://docs.barayuda.web.id/api-reference/openapi.json) - [OpenAPI YAML](https://docs.barayuda.web.id/api-reference/openapi.yaml) ## AsyncAPI Specification The raw AsyncAPI 2.6.0 specification for the WebSocket channels is available at: - [AsyncAPI JSON](https://docs.barayuda.web.id/api-reference/asyncapi.json) - [AsyncAPI YAML](https://docs.barayuda.web.id/api-reference/asyncapi.yaml) > **Note:** This page contains both a page directory (above) and the landing page content (below). The page directory is generated for agent use and does not appear on the landing page. > For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.barayuda.web.id/api-reference/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.barayuda.web.id/_mcp/server. # API reference Fern automatically generates interactive API reference documentation from your API specification. This starter template includes a sample Plant Store API to demonstrate the feature. ## Supported specifications Fern supports multiple API specification formats: | Format | Description | Documentation | | ------------ | ------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | | **OpenAPI** | The most widely used REST API specification format (versions 2.0, 3.0, and 3.1) | [OpenAPI docs](https://buildwithfern.com/learn/api-definitions/openapi/overview) | | **AsyncAPI** | For event-driven and message-based APIs | [AsyncAPI docs](https://buildwithfern.com/learn/api-definitions/asyncapi) | | **gRPC** | Protocol buffer definitions for gRPC services | [gRPC docs](https://buildwithfern.com/learn/api-definitions/protobuf) | ## How it works Place your API specification file in the `fern/` directory and reference it in your `docs.yml` navigation: **`docs.yml`** ```yaml title="docs.yml" navigation: - section: Documentation contents: - page: Overview path: docs/pages/overview.mdx - api: API Reference ``` Fern parses your specification and generates: * Endpoint documentation with request/response schemas * Interactive API Explorer for testing endpoints * Code snippets in multiple languages * Type definitions and examples ## API Explorer The API Explorer lets users test API endpoints directly in the documentation. Users can fill in parameters, send requests, and see responses without leaving the page. > **Note** > > For advanced API Explorer features like auto-populating API keys, see the [API Explorer documentation](https://buildwithfern.com/learn/docs/api-references/api-explorer/overview). ## Customizing the API reference Control how your API reference appears using the `api` configuration in `docs.yml`: **`docs.yml`** ```yaml title="docs.yml" navigation: - api: API Reference api-name: plantstore paginated: true ``` You can also add custom content to API reference pages, organize endpoints into groups, customize section names, and control which endpoints are visible. > **Note** > > For detailed customization options, see the [API reference documentation](https://buildwithfern.com/learn/docs/api-references/generate-api-ref). ## SDK code snippets If you generate SDKs with Fern, code snippets automatically appear in your API reference showing how to call each endpoint using your SDK: **`generators.yml`** ```yaml title="generators.yml" groups: python-sdk: generators: - name: fernapi/fern-python-sdk version: 4.3.1 output: location: pypi package-name: plantstore ``` > **Note** > > For more information on SDK generation, see the [SDK documentation](https://buildwithfern.com/learn/sdks/overview/introduction).