# Create Plant Source: https://maple.mintlify.app/api-reference/endpoint/create POST /plants Creates a new plant in the store # Delete Plant Source: https://maple.mintlify.app/api-reference/endpoint/delete DELETE /plants/{id} Deletes a single plant based on the ID supplied # Get Plants Source: https://maple.mintlify.app/api-reference/endpoint/get GET /plants Returns all plants from the system that the user has access to # Introduction Source: https://maple.mintlify.app/api-reference/introduction Example section for showcasing API endpoints If you're not looking to build API reference documentation, you can delete this section by removing the api-reference folder. ## Welcome There are two ways to build API documentation: [OpenAPI](https://www.mintlify.com/docs/api-playground/openapi-setup) and [MDX components](https://www.mintlify.com/docs/api-playground/mdx-overview). For the starter kit, we are using the following OpenAPI specification. View the OpenAPI specification file ## Authentication All API endpoints are authenticated using Bearer tokens and picked up from the specification file. ```json theme={null} "security": [ { "bearerAuth": [] } ] ``` # Development Source: https://maple.mintlify.app/development Learn how to preview changes locally **Prerequisite** You should have installed Node.js (version 18.10.0 or higher). Step 1. Install Mintlify on your OS: ```bash npm theme={null} npm i -g mintlify ``` ```bash yarn theme={null} yarn global add mintlify ``` Step 2. Go to the docs are located (where you can find `docs.json`) and run the following command: ```bash theme={null} mintlify dev ``` The documentation website is now available at `http://localhost:3000`. ### Custom Ports Mintlify uses port 3000 by default. You can use the `--port` flag to customize the port Mintlify runs on. For example, use this command to run in port 3333: ```bash theme={null} mintlify dev --port 3333 ``` You will see an error like this if you try to run Mintlify in a port that's already taken: ```md theme={null} Error: listen EADDRINUSE: address already in use :::3000 ``` ## Mintlify Versions Each CLI is linked to a specific version of Mintlify. Please update the CLI if your local website looks different than production. ```bash npm theme={null} npm i -g mintlify@latest ``` ```bash yarn theme={null} yarn global upgrade mintlify ``` ## Deployment Unlimited editors available under the [Startup Plan](https://mintlify.com/pricing) You should see the following if the deploy successfully went through: ## Troubleshooting Here's how to solve some common problems when working with the CLI. Update to Node v18. Run `mintlify install` and try again. Go to the `C:/Users/Username/.mintlify/` directory and remove the `mint` folder. Then Open the Git Bash in this location and run `git clone https://github.com/mintlify/mint.git`. Repeat step 3. Try navigating to the root of your device and delete the \~/.mintlify folder. Then run `mintlify dev` again. # Code Blocks Source: https://maple.mintlify.app/essentials/code Display inline code and code blocks ## Basic ### Inline Code To denote a `word` or `phrase` as code, enclose it in backticks (\`). ``` To denote a `word` or `phrase` as code, enclose it in backticks (`). ``` ### Code Block Use [fenced code blocks](https://www.markdownguide.org/extended-syntax/#fenced-code-blocks) by enclosing code in three backticks and follow the leading ticks with the programming language of your snippet to get syntax highlighting. Optionally, you can also write the name of your code after the programming language. ```java HelloWorld.java theme={null} class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` ````md theme={null} ```java HelloWorld.java class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` ```` # Images and Embeds Source: https://maple.mintlify.app/essentials/images Add image, video, and other HTML elements ## Image ### Using Markdown The [markdown syntax](https://www.markdownguide.org/basic-syntax/#images) lets you add images using the following code ```md theme={null} ![title](/path/image.jpg) ``` Note that the image file size must be less than 5MB. Otherwise, we recommend hosting on a service like [Cloudinary](https://cloudinary.com/) or [S3](https://aws.amazon.com/s3/). You can then use that URL and embed. ### Using Embeds To get more customizability with images, you can also use embeds to add images. ```html theme={null} ``` ## Embeds and HTML elements ``` # Markdown Syntax Source: https://maple.mintlify.app/essentials/markdown Text, title, and styling in standard markdown ## Titles Best used for section headers. ```md theme={null} ## Titles ``` ### Subtitles Best use to subsection headers. ```md theme={null} ### Subtitles ``` Each **title** and **subtitle** creates an anchor and also shows up on the table of contents on the right. ## Text Formatting We support most markdown formatting. Simply add `**`, `_`, or `~` around text to format it. | Style | How to write it | Result | | ------------- | ----------------- | ----------------- | | Bold | `**bold**` | **bold** | | Italic | `_italic_` | *italic* | | Strikethrough | `~strikethrough~` | ~~strikethrough~~ | You can combine these. For example, write `**_bold and italic_**` to get ***bold and italic*** text. You need to use HTML to write superscript and subscript text. That is, add `` or `` around your text. | Text Size | How to write it | Result | | ----------- | ------------------------ | ---------------------- | | Superscript | `superscript` | superscript | | Subscript | `subscript` | subscript | ## Linking to Pages You can add a link by wrapping text in `[]()`. You would write `[link to google](https://google.com)` to [link to google](https://google.com). Links to pages in your docs need to be root-relative. Basically, you should include the entire folder path. For example, `[link to text](/writing-content/text)` links to the page "Text" in our components section. Relative links like `[link to text](../text)` will open slower because we cannot optimize them as easily. ## Blockquotes ### Singleline To create a blockquote, add a `>` in front of a paragraph. > Dorothy followed her through many of the beautiful rooms in her castle. ```md theme={null} > Dorothy followed her through many of the beautiful rooms in her castle. ``` ### Multiline > Dorothy followed her through many of the beautiful rooms in her castle. > > The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood. ```md theme={null} > Dorothy followed her through many of the beautiful rooms in her castle. > > The Witch bade her clean the pots and kettles and sweep the floor and keep the fire fed with wood. ``` ### LaTeX Mintlify supports [LaTeX](https://www.latex-project.org) through the Latex component. 8 x (vk x H1 - H2) = (0,1) ```md theme={null} 8 x (vk x H1 - H2) = (0,1) ``` # Navigation Source: https://maple.mintlify.app/essentials/navigation The navigation field in docs.json defines the pages that go in the navigation menu The navigation menu is the list of links on every website. You will likely update `docs.json` every time you add a new page. Pages do not show up automatically. ## Navigation syntax Our navigation syntax is recursive which means you can make nested navigation groups. You don't need to include `.mdx` in page names. ```json Regular Navigation theme={null} "navigation": [ { "group": "Getting Started", "pages": ["quickstart"] } ] ``` ```json Nested Navigation theme={null} "navigation": [ { "group": "Getting Started", "pages": [ "quickstart", { "group": "Nested Reference Pages", "pages": ["nested-reference-page"] } ] } ] ``` ## Folders Simply put your MDX files in folders and update the paths in `docs.json`. For example, to have a page at `https://yoursite.com/your-folder/your-page` you would make a folder called `your-folder` containing an MDX file called `your-page.mdx`. You cannot use `api` for the name of a folder unless you nest it inside another folder. Mintlify uses Next.js which reserves the top-level `api` folder for internal server calls. A folder name such as `api-reference` would be accepted. ```json Navigation With Folder theme={null} "navigation": [ { "group": "Group Name", "pages": ["your-folder/your-page"] } ] ``` ## Hidden Pages MDX files not included in `docs.json` will not show up in the sidebar but are accessible through the search bar and by linking directly to them. # Reusable Snippets Source: https://maple.mintlify.app/essentials/reusable-snippets Reusable, custom snippets to keep content in sync One of the core principles of software development is DRY (Don't Repeat Yourself). This is a principle that apply to documentation as well. If you find yourself repeating the same content in multiple places, you should consider creating a custom snippet to keep your content in sync. ## Creating a custom snippet **Pre-condition**: You must create your snippet file in the `snippets` directory. Any page in the `snippets` directory will be treated as a snippet and will not be rendered into a standalone page. If you want to create a standalone page from the snippet, import the snippet into another file and call it as a component. ### Default export 1. Add content to your snippet file that you want to re-use across multiple locations. Optionally, you can add variables that can be filled in via props when you import the snippet. ```mdx snippets/my-snippet.mdx theme={null} Hello world! This is my content I want to reuse across pages. My keyword of the day is {word}. ``` The content that you want to reuse must be inside the `snippets` directory in order for the import to work. 2. Import the snippet into your destination file. ```mdx destination-file.mdx theme={null} --- title: My title description: My Description --- import MySnippet from '/snippets/path/to/my-snippet.mdx'; ## Header Lorem impsum dolor sit amet. ``` ### Reusable variables 1. Export a variable from your snippet file: ```mdx snippets/path/to/custom-variables.mdx theme={null} export const myName = 'my name'; export const myObject = { fruit: 'strawberries' }; ``` 2. Import the snippet from your destination file and use the variable: ```mdx destination-file.mdx theme={null} --- title: My title description: My Description --- import { myName, myObject } from '/snippets/path/to/custom-variables.mdx'; Hello, my name is {myName} and I like {myObject.fruit}. ``` ### Reusable components 1. Inside your snippet file, create a component that takes in props by exporting your component in the form of an arrow function. ```mdx snippets/custom-component.mdx theme={null} export const MyComponent = ({ title }) => (

{title}

... snippet content ...

); ``` MDX does not compile inside the body of an arrow function. Stick to HTML syntax when you can or use a default export if you need to use MDX. 2. Import the snippet into your destination file and pass in the props ```mdx destination-file.mdx theme={null} --- title: My title description: My Description --- import { MyComponent } from '/snippets/custom-component.mdx'; Lorem ipsum dolor sit amet. ``` # Settings Source: https://maple.mintlify.app/essentials/settings Configure the global settings for your documentation Skip to the reference Every documentation site requires a **docs.json** file. This file contains the global configuration settings and controls everything from styling and navigation to integrations. ## Reference This section contains the full reference for the docs.json file. ### Customization One of the following: `mint`, `maple`, `palm`, `willow`, `linden`, `almond`. The layout theme of the project. Check out the [Themes](/core-concepts/themes) page for more information. The name of the project, organization, or product The colors to use in your documentation. At the very least, you must define the primary color. For example: ```json theme={null} { "colors": { "primary": "#ff0000" } } ``` The primary color of the theme Must be a hex code beginning with `#` The light color of the theme. Used for dark mode Must be a hex code beginning with `#` The dark color of the theme. Used for light mode Must be a hex code beginning with `#` Optional description used for SEO and LLM indexing The logo (for both light and dark mode) Path pointing to the light logo file to use in dark mode, including the file extension. Example: `/logo.png` Path pointing to the dark logo file to use in light mode, including the file extension. Example: `/logo-dark.png` The URL to redirect to when clicking the logo. If not provided, the logo will link to the homepage. Example: `https://example.com` The path to your favicon file in the docs folder, including the file extension. The file will automatically be resized to appropriate favicon sizes. Can be a single file or a pair for light and dark mode. Example: `/favicon.png` Path pointing to the light favicon file to use in dark mode, including the file extension. Example: `/favicon.png` Path pointing to the dark favicon file to use in light mode, including the file extension. Example: `/favicon-dark.png` Styling configurations The eyebrows style of the content. Defaults to `section`. The codeblock theme. Defaults to `system`. Icon library settings The icon library to be used. Defaults to `fontawesome`. The font family, such as "Open Sans", "Playfair Display" The font weight, such as 400, 700. Precise font weights such as 550 are supported for variable fonts. The font source, such as [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2) The font format, can be one of woff, woff2 The font family, such as "Open Sans", "Playfair Display" The font weight, such as 400, 700. Precise font weights such as 550 are supported for variable fonts. The font source, such as [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2) The font format, can be one of woff, woff2 The font family, such as "Open Sans", "Playfair Display" The font weight, such as 400, 700. Precise font weights such as 550 are supported for variable fonts. The font source, such as [https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2](https://mintlify-assets.b-cdn.net/fonts/Hubot-Sans.woff2) The font format, can be one of woff, woff2 Light / dark mode toggle settings The default light/dark mode. Defaults to `system` Whether to hide the light / dark mode toggle. Defaults to `true`. Background color and decoration settings The background decoration of the theme The colors of the background The color in hex format to use in light mode Must match pattern: ^#(\[a-fA-F0-9]|\[a-fA-F0-9])\$ The color in hex format to use in dark mode Must match pattern: ^#(\[a-fA-F0-9]|\[a-fA-F0-9])\$ ### Structure Navbar content and settings The links in the navbar A valid path or external link The label for the primary button. This only applies when `type` is set to `button`. A valid path or external link. If `type` is set to `github`, this will be the URL to the repository. The navigation structure of the content Add external links that will appear on all sections and pages irregardless of navigation nesting The name of the language in the ISO 639-1 format Whether this language is the default language Whether the current option is default hidden A valid path or external link The name of the version Minimum length: 1 Whether this version is the default version Whether the current option is default hidden An external link The name of the tab Minimum length: 1 The icon to be displayed in the section Whether the current option is default hidden An external link The name of the anchor Minimum length: 1 The icon to be displayed in the section The color in hex format to use in light mode Must match pattern: ^#(\[a-fA-F0-9]|\[a-fA-F0-9])\$ The color in hex format to use in dark mode Must match pattern: ^#(\[a-fA-F0-9]|\[a-fA-F0-9])\$ Whether the current option is default hidden A valid path or external link The name of the dropdown Minimum length: 1 The icon to be displayed in the section Whether the current option is default hidden An external link Organizing by [languages](/core-concepts/navigation#localization) Organizing by [versions](/core-concepts/navigation#versions) Organizing by [tabs](/core-concepts/navigation#divisions#tabs) Organizing by [anchors](/core-concepts/navigation#divisions#anchors) Organizing by [dropdowns](/core-concepts/navigation#divisions#dropdowns) Organizing by [groups](/core-concepts/navigation#pages#pages) An array of [page paths or groups](/core-concepts/navigation#pages#groups) Footer configurations An object in which each key is the name of a social media platform, and each value is the url to your profile. For example: ```json theme={null} { "x": "https://x.com/mintlify" } ``` Valid property names: `x`, `website`, `facebook`, `youtube`, `discord`, `slack`, `github`, `linkedin`, `instagram`, `hacker-news`, `medium`, `telegram`, `twitter`, `x-twitter`, `earth-americas`, `bluesky`, `threads`, `reddit`, `podcast` The links to be displayed in the footer The header title of the column Minimum length: 1 The links to be displayed in the column The label of the link Minimum length: 1 The url of the link Banner configurations The content of the banner. This can be a string of text or a markdown string. For example: ```json theme={null} { "content": "🚀 Banner is live! [Learn more](mintlify.com)" } ``` Whether the banner is dismissible. Defaults to `false`. The options to be displayed in the contextual menu. The first option is the default option. * `copy`: Copy the current page as markdown to the clipboard * `view`: View the current page as markdown in a new tab * `chatgpt`: Feed the current page to ChatGPT * `claude`: Feed the current page to Claude Contextual Menu The contextual menu is only available on preview & production deployments. ### API Configurations API reference configuration and playground settings A string or an array of strings of absolute or relative urls pointing to the OpenAPI file(s) Minimum length: 1 no starting slash in the directory A string or an array of strings of absolute or relative urls pointing to the AsyncAPI file(s) Minimum length: 1 Configurations for the API playground The display mode of the API playground. Defaults to `interactive`. Whether to pass API requests through a proxy server. Defaults to `true`. Configurations for the autogenerated API examples Example languages for the autogenerated API snippets Whether to show optional parameters in api examples, defaults to `all` Configurations for API pages generated from MDX files Authentication configuration for the API Authentication method for the API Authentication name for the API ### SEO & Search SEO indexing configurations Meta tags added to every page. Must be a valid key-value pair. Possible options [here](https://www.mintlify.com/docs/settings/seo#supported-meta-tags) Specify which pages to be indexed by search engines. Setting `navigable` indexes pages that are set in navigation, `all` indexes all pages. Defaults to `navigable`. Search display settings The prompt to be displayed in the search bar placeholder ### Integrations Configurations for official integrations Minimum length: 6 Must match pattern: ^G Must match pattern: ^G Minimum length: 6 Minimum length: 2 Must match pattern: ^phc\_ ### Errors Whether to redirect to the home page, if the page is not found ## Validation It is advised to include the following schema reference at the top of your docs.json file to ensure proper validation while editing: ```json theme={null} { "$schema": "https://mintlify.com/docs.json", ... } ``` # Quickstart Source: https://maple.mintlify.app/quickstart Start building awesome documentation in under 5 minutes ## Setup your development Learn how to update your docs locally and and deploy them to the public. ### Edit and preview During the onboarding process, we created a repository on your Github with your docs content. You can find this repository on our [dashboard](https://dashboard.mintlify.com). To clone the repository locally, follow these [instructions](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) in your terminal. Previewing helps you make sure your changes look as intended. We built a command line interface to render these changes locally. 1. Install the [Mintlify CLI](https://www.npmjs.com/package/mintlify) to preview the documentation changes locally with this command: `npm i -g mintlify` 2\. Run the following command at the root of your documentation (where `docs.json` is): `mintlify dev` ### Deploy your changes Our Github app automatically deploys your changes to your docs site, so you don't need to manage deployments yourself. You can find the link to install on your [dashboard](https://dashboard.mintlify.com). Once the bot has been successfully installed, there should be a check mark next to the commit hash of the repo. [Commit and push your changes to Git](https://docs.github.com/en/get-started/using-git/pushing-commits-to-a-remote-repository#about-git-push) for your changes to update in your docs site. If you push and don't see that the Github app successfully deployed your changes, you can also manually update your docs through our [dashboard](https://dashboard.mintlify.com). ## Update your docs Add content directly in your files with MDX syntax and React components. You can use any of our components, or even build your own. Add flair to your docs with personalized branding. Implement your OpenAPI spec and enable API user interaction. Draw insights from user interactions with your documentation. Keep your docs on your own website's subdomain. # Welcome to Maple Source: https://maple.mintlify.app/welcome This guide covers the prerequisite system requirements, provides step-by-step instructions for downloading and setting up the platform, and offers guidance on configuring your environment for optimal performance. Hero Light Hero Dark ## Setting up The first step to world-class documentation is setting up your editing environments. Get your docs set up locally for easy development Preview your changes before you push to make sure they're perfect ## Make it yours Update your docs to your brand and add valuable content for the best user conversion. Customize your docs to your company's colors and brands Automatically generate endpoints from an OpenAPI spec Build interactive features and designs to guide your users Check out our showcase of our favorite documentation