{ "components": { "schemas": { "adventure": { "description": "Represents an adventure.", "properties": { "guid": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "description": { "type": "string" }, "location": { "type": "string" }, "participants": { "items": { "$ref": "#/components/schemas/participant" }, "type": "array" }, "pack_lists": { "items": { "$ref": "#/components/schemas/item" }, "type": "array" } }, "required": [ "guid", "name" ], "type": "object" }, "error": { "description": "Represents a validation error from the application.", "properties": { "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "code", "message" ], "type": "object" }, "guest": { "properties": { "email": { "type": "string" }, "name": { "type": "string" } }, "type": "object" }, "item": { "properties": { "name": { "type": "string" }, "size": { "type": "number", "format": "double" }, "description": { "type": "string" }, "type": { "$ref": "#/components/schemas/item_type" } }, "required": [ "name" ], "type": "object" }, "participant": { "description": "Represents a adventure participant and what items they will bring.", "properties": { "person": { "$ref": "#/components/schemas/person" }, "items": { "items": { "$ref": "#/components/schemas/item" }, "type": "array" } }, "required": [ "person" ], "type": "object" }, "user": { "properties": { "guid": { "type": "string", "format": "uuid" }, "email": { "type": "string" }, "name": { "type": "string" } }, "required": [ "guid" ], "type": "object" }, "item_type": { "description": "Possible values: Food,Clothes,Camp,Utensils,Gear.", "enum": [ "Food", "Clothes", "Camp", "Utensils", "Gear" ], "type": "string" }, "person": { "oneOf": [ { "$ref": "#/components/schemas/guest" }, { "$ref": "#/components/schemas/user" } ], "discriminator": { "mapping": { "guest": "#/components/schemas/guest", "user": "#/components/schemas/user" }, "propertyName": "discriminator" } } } }, "info": { "contact": { "name": "Alexander Poole", "url": "https://github.com/owodunni/questlog", "email": "alexander@poole.solutions" }, "description": "Adventure planing tool.", "license": { "name": "MIT", "url": "http://opensource.org/licenses/MIT" }, "termsOfService": "", "title": "questlog api", "version": "0.0.1-dev" }, "openapi": "3.0.2", "paths": { "/adventures": { "post": { "operationId": "post--adventures", "parameters": [ { "deprecated": false, "in": "header", "required": true, "schema": { "$ref": "#/components/schemas/adventure" }, "description": "undefinedApibuilder defined this parameter location as \"Form\" which is incompatible with the OpenAPI spec.", "name": "adventure" } ], "responses": { "201": { "description": "solutions.poole.questlog.api.v0.models.adventure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/adventure" } } }, "headers": {} }, "409": { "description": "[solutions.poole.questlog.api.v0.models.error]", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/error" }, "type": "array" } } }, "headers": {} } }, "tags": [ "adventure" ] }, "get": { "operationId": "get--adventures", "parameters": [ { "deprecated": false, "in": "query", "required": false, "schema": { "type": "string", "format": "uuid" }, "name": "guid" }, { "deprecated": false, "in": "query", "required": false, "schema": { "type": "string" }, "name": "name" } ], "responses": { "200": { "description": "[solutions.poole.questlog.api.v0.models.adventure]", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/adventure" }, "type": "array" } } }, "headers": {} } }, "tags": [ "adventure" ] } }, "/adventures/:guid": { "get": { "operationId": "get--adventures-guid", "parameters": [ { "deprecated": false, "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" }, "name": "guid" } ], "responses": { "200": { "description": "solutions.poole.questlog.api.v0.models.adventure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/adventure" } } }, "headers": {} } }, "tags": [ "adventure" ] } } }, "servers": [ { "url": "https://api.questlog.io" } ] }