# 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}

```
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
Mintlify supports [HTML tags in Markdown](https://www.markdownguide.org/basic-syntax/#html). This is helpful if you prefer HTML tags to Markdown syntax, and lets you create documentation with infinite flexibility.
### iFrames
Loads another HTML page within the document. Most commonly used for embedding videos.
```html theme={null}
```
# 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
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.
## 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