| { | |
| "openapi": "3.1.0", | |
| "info": { | |
| "title": "OpenAPI Plant Store", | |
| "description": "A sample API that uses a plant store as an example to demonstrate features in the OpenAPI specification", | |
| "license": { | |
| "name": "MIT" | |
| }, | |
| "version": "1.0.0" | |
| }, | |
| "servers": [ | |
| { | |
| "url": "http://sandbox.mintlify.com" | |
| } | |
| ], | |
| "security": [ | |
| { | |
| "bearerAuth": [] | |
| } | |
| ], | |
| "paths": { | |
| "/plants": { | |
| "get": { | |
| "description": "Returns all plants from the system that the user has access to", | |
| "parameters": [ | |
| { | |
| "name": "limit", | |
| "in": "query", | |
| "description": "The maximum number of results to return", | |
| "schema": { | |
| "type": "integer", | |
| "format": "int32" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "200": { | |
| "description": "Plant response", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/components/schemas/Plant" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "400": { | |
| "description": "Unexpected error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/Error" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "post": { | |
| "description": "Creates a new plant in the store", | |
| "requestBody": { | |
| "description": "Plant to add to the store", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/NewPlant" | |
| } | |
| } | |
| }, | |
| "required": true | |
| }, | |
| "responses": { | |
| "200": { | |
| "description": "plant response", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/Plant" | |
| } | |
| } | |
| } | |
| }, | |
| "400": { | |
| "description": "unexpected error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/Error" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "/plants/{id}": { | |
| "delete": { | |
| "description": "Deletes a single plant based on the ID supplied", | |
| "parameters": [ | |
| { | |
| "name": "id", | |
| "in": "path", | |
| "description": "ID of plant to delete", | |
| "required": true, | |
| "schema": { | |
| "type": "integer", | |
| "format": "int64" | |
| } | |
| } | |
| ], | |
| "responses": { | |
| "204": { | |
| "description": "Plant deleted", | |
| "content": {} | |
| }, | |
| "400": { | |
| "description": "unexpected error", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/Error" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "webhooks": { | |
| "/plant/webhook": { | |
| "post": { | |
| "description": "Information about a new plant added to the store", | |
| "requestBody": { | |
| "description": "Plant added to the store", | |
| "content": { | |
| "application/json": { | |
| "schema": { | |
| "$ref": "#/components/schemas/NewPlant" | |
| } | |
| } | |
| } | |
| }, | |
| "responses": { | |
| "200": { | |
| "description": "Return a 200 status to indicate that the data was received successfully" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "components": { | |
| "schemas": { | |
| "Plant": { | |
| "required": [ | |
| "name" | |
| ], | |
| "type": "object", | |
| "properties": { | |
| "name": { | |
| "description": "The name of the plant", | |
| "type": "string" | |
| }, | |
| "tag": { | |
| "description": "Tag to specify the type", | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "NewPlant": { | |
| "allOf": [ | |
| { | |
| "$ref": "#/components/schemas/Plant" | |
| }, | |
| { | |
| "required": [ | |
| "id" | |
| ], | |
| "type": "object", | |
| "properties": { | |
| "id": { | |
| "description": "Identification number of the plant", | |
| "type": "integer", | |
| "format": "int64" | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "Error": { | |
| "required": [ | |
| "error", | |
| "message" | |
| ], | |
| "type": "object", | |
| "properties": { | |
| "error": { | |
| "type": "integer", | |
| "format": "int32" | |
| }, | |
| "message": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| }, | |
| "securitySchemes": { | |
| "bearerAuth": { | |
| "type": "http", | |
| "scheme": "bearer" | |
| } | |
| } | |
| } | |
| } |