{ "swagger": "2.0", "info": { "version": "1.0.0", "title": "plentymarkets REST-API", "x-logo": { "url": "https:\/\/www.plentymarkets.eu\/layout\/plenty_responsive\/img\/plentymarkets-logo-claim.svg", "backgroundColor": "#FFFFFF" }, "description": "The plentymarkets REST API expands the functionality of the plentymarkets CMS and allows access to resources, i.e. data records, via unique URI paths", "contact": { "name": "plentymarkets", "url": "https:\/\/forum.plentymarkets.com\/c\/rest-api" } }, "schemes": [ "https" ], "consumes": [ "application\/json" ], "host": "example.com", "basePath": "\/", "tags": [ { "name": "Account", "description": "Routes for Account", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/account" } }, { "name": "Accounting", "description": "Routes for Accounting", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/accounting" } }, { "name": "AddressDesign", "description": "Routes for AddressDesign", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/address_design" } }, { "name": "Authentication", "description": "Routes for Authentication", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/authentication" } }, { "name": "Authorization", "description": "Routes for Authorization", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/authorization" } }, { "name": "Basket", "description": "Routes for Basket", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/basket" } }, { "name": "Batch", "description": "Routes for Batch", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/batch" } }, { "name": "Blog", "description": "Routes for Blog", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/blog" } }, { "name": "Board", "description": "Routes for Board", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/board" } }, { "name": "Boards", "description": "Routes for Boards", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/boards" } }, { "name": "Category", "description": "Routes for Category", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/category" } }, { "name": "Cloud", "description": "Routes for Cloud", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/cloud" } }, { "name": "Comment", "description": "Routes for Comment", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/comment" } }, { "name": "Configuration", "description": "Routes for Configuration", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/configuration" } }, { "name": "Contact", "description": "Routes for Contact", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/contact" } }, { "name": "ContactAnonymization", "description": "Routes for ContactAnonymization", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/contact_anonymization" } }, { "name": "ConvertGuests", "description": "Routes for ConvertGuests", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/convert_guests" } }, { "name": "CustomerContract", "description": "Routes for CustomerContract", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/customer_contract" } }, { "name": "Document", "description": "Routes for Document", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/document" } }, { "name": "ElasticSync", "description": "Routes for ElasticSync", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/elastic_sync" } }, { "name": "Export", "description": "Routes for Export", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/export" } }, { "name": "ExportSettings", "description": "Routes for ExportSettings", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/export_settings" } }, { "name": "Feedback", "description": "Routes for Feedback", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/feedback" } }, { "name": "Fulfillment", "description": "Routes for Fulfillment", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/fulfillment" } }, { "name": "Item", "description": "Routes for Item", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/item" } }, { "name": "LegalInformation", "description": "Routes for LegalInformation", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/legal_information" } }, { "name": "Listing", "description": "Routes for Listing", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/listing" } }, { "name": "Log", "description": "Routes for Log", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/log" } }, { "name": "Market", "description": "Routes for Market", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/market" } }, { "name": "Messenger", "description": "Routes for Messenger", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/messenger" } }, { "name": "Newsletter", "description": "Routes for Newsletter", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/newsletter" } }, { "name": "Order", "description": "Routes for Order", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/order" } }, { "name": "OrderSummary", "description": "Routes for OrderSummary", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/order_summary" } }, { "name": "Payment", "description": "Routes for Payment", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/payment" } }, { "name": "PluginMultilingualism", "description": "Routes for PluginMultilingualism", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/plugin_multilingualism" } }, { "name": "PluginSet", "description": "Routes for PluginSet", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/plugin_set" } }, { "name": "Plugins", "description": "Routes for Plugins", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/plugins" } }, { "name": "Property", "description": "Routes for Property", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/property" } }, { "name": "Report", "description": "Routes for Report", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/report" } }, { "name": "Returns", "description": "Routes for Returns", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/returns" } }, { "name": "SalesRepresentativeRegion", "description": "Routes for SalesRepresentativeRegion", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/sales_representative_region" } }, { "name": "Shop", "description": "Routes for Shop", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/shop" } }, { "name": "StockManagement", "description": "Routes for StockManagement", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/stock_management" } }, { "name": "Sync", "description": "Routes for Sync", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/sync" } }, { "name": "Tag", "description": "Routes for Tag", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/tag" } }, { "name": "Ticket", "description": "Routes for Ticket", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/ticket" } }, { "name": "TicketMessage", "description": "Routes for TicketMessage", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/ticket_message" } }, { "name": "User", "description": "Routes for User", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/user" } }, { "name": "Warehouse", "description": "Routes for Warehouse", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/warehouse" } }, { "name": "Webstore", "description": "Routes for Webstore", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/webstore" } }, { "name": "Wizard", "description": "Routes for Wizard", "externalDocs": { "description": "For the old documentation click here", "url": "https:\/\/developers.plentymarkets.com\/rest-doc\/wizard" } }, { "name": "plentyMarketplace", "description": "Routes for plentyMarketplace" } ], "paths": { "\/export\/{exportKey}": { "get": { "summary": "", "description": "", "tags": [ "Export" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#\/definitions\/mixed" } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "name": "exportKey", "type": "integer", "required": true, "description": "", "format": "integer", "in": "path" } ] } }, "\/export\/{exportKey}\/{token}": { "get": { "summary": "", "description": "", "tags": [ "Export" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#\/definitions\/mixed" } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "name": "exportKey", "type": "integer", "required": true, "description": "", "format": "integer", "in": "path" }, { "name": "token", "type": "integer", "required": true, "description": "", "format": "integer", "in": "path" } ] } }, "\/rest\/account\/login": { "post": { "summary": "Login", "description": "Logs in to the online store with front end user credentials. The login call returns a JSON object that contains information, such as the access token and the refresh token.", "tags": [ "Account" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#\/definitions\/Plenty\\Modules\\Authentication\\Models\\TokenData" } } }, "parameters": [ { "in": "body", "name": "\/rest\/account\/login", "schema": { "type": "object", "required": [ "password" ], "properties": { "password": { "type": "string", "description": "Password of the front end user" }, "email": { "type": "string", "description": "Email address of the front end user" }, "id": { "type": "integer", "description": "ID of the front end user" } } } } ] } }, "\/rest\/account\/login\/refresh": { "post": { "summary": "Refresh", "description": "Refreshes the access token using the refresh token. The refresh token is part of the login call response.", "tags": [ "Account" ], "responses": { "200": { "description": "OK" } } } }, "\/rest\/account\/logout": { "post": { "summary": "Logout", "description": "Logs out the front end user from the online store. The access token expires.", "tags": [ "Account" ], "responses": { "200": { "description": "OK" } } } }, "\/rest\/accounting\/locations": { "post": { "summary": "Create an accounting location", "description": "Creates an accounting location for a client. The plenty ID of the client must be specified.", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#\/definitions\/Plenty\\Modules\\Accounting\\Models\\AccountingLocation" } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "in": "body", "name": "\/rest\/accounting\/locations", "schema": { "type": "object", "required": [ "countryId", "name", "plentyId" ], "properties": { "countryId": { "type": "integer", "description": "The ID of the country of the accounting location" }, "name": { "type": "string", "description": "The name of the accounting location" }, "plentyId": { "type": "integer", "description": "The plenty ID of the client that the accounting location belongs to" } } } } ] } }, "\/rest\/accounting\/locations\/existing_accounts": { "get": { "summary": "Get all unique posting accounts", "description": "", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#\/definitions\/Plenty\\Modules\\Accounting\\Models\\PostingAccounts" } } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } } } }, "\/rest\/accounting\/locations\/posting_accounts": { "get": { "summary": "Get all posting accounts", "description": "", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#\/definitions\/Plenty\\Modules\\Accounting\\Models\\PostingAccounts" } } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } } }, "post": { "summary": "Save posting accounts", "description": "", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#\/definitions\/Plenty\\Modules\\Accounting\\Models\\PostingAccounts" } } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } } } }, "\/rest\/accounting\/locations\/posting_accounts\/{id}": { "delete": { "summary": "Delete an posting account", "description": "", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK" }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "name": "id", "type": "integer", "required": true, "description": "The ID of the posting account", "format": "integer", "in": "path" } ] }, "get": { "summary": "Gets posting account by the unique id", "description": "", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#\/definitions\/Plenty\\Modules\\Accounting\\Models\\PostingAccounts" } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "name": "id", "type": "integer", "required": true, "description": "", "format": "integer", "in": "path" } ] } }, "\/rest\/accounting\/locations\/revenue_account_configurations": { "get": { "summary": "List revenue account configurations", "description": "Lists revenue account configurations of a system. The revenue accounts are returned as paginated result. By default 50 revenue accounts are on one page.", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "page": { "type": "integer", "description": "Current page of the response" }, "totalsCount": { "type": "integer", "description": "The total number of entries in the response" }, "isLastPage": { "type": "boolean", "description": "Flag that indicates if the page shown is the last page of the response" }, "lastPageNumber": { "type": "integer", "description": "The last page number" }, "firstOnPage": { "type": "integer", "description": "The index of the first item of the current page result" }, "lastOnPage": { "type": "integer", "description": "The index of the last item of the current page result" }, "itemsPerPage": { "type": "integer", "description": "The requested amount of items per result page" }, "entries": { "type": "array", "description": "List of RevenueAccountLocationConfiguration", "items": { "$ref": "#\/definitions\/Plenty\\Modules\\Accounting\\Models\\RevenueAccountLocationConfiguration" } } } } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "name": "page", "type": "integer", "required": false, "description": "The page to get. The default page that will be returned is page 1.", "format": "integer", "in": "query" }, { "name": "itemsPerPage", "type": "integer", "required": false, "description": "The number of revenue accounts to be displayed per page. The default number of orders per page is 50.", "format": "integer", "in": "query" } ] } }, "\/rest\/accounting\/locations\/{locationId}": { "delete": { "summary": "Delete an accounting location", "description": "Deletes an accounting location. The ID of the accounting location must be specified. Standard accounting locations can not be deleted.", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK" }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "name": "locationId", "type": "integer", "required": true, "description": "The ID of the accounting location", "format": "integer", "in": "path" } ] }, "get": { "summary": "Get an accounting location", "description": "Gets an accounting location. The ID of the accounting location must be specified.", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#\/definitions\/Plenty\\Modules\\Accounting\\Models\\AccountingLocation" } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "name": "locationId", "type": "integer", "required": true, "description": "The ID of the accounting location", "format": "integer", "in": "path" } ] }, "put": { "summary": "Update an accounting location", "description": "Updates an accounting location. The ID of the accounting location must be specified.", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#\/definitions\/Plenty\\Modules\\Accounting\\Models\\AccountingLocation" } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "name": "locationId", "type": "integer", "required": true, "description": "The ID of the accounting location", "format": "integer", "in": "path" }, { "in": "body", "name": "\/rest\/accounting\/locations\/{locationId}", "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the accounting location optional" } } } } ] } }, "\/rest\/accounting\/locations\/{locationId}\/countries\/{countryId}\/revenue_accounts": { "get": { "summary": "Get the revenue account configuration of a country", "description": "Get the revenue account configuration of a country. The ID of the accounting location that the country is associated with as well as the ID of the country must be specified.", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#\/definitions\/Plenty\\Modules\\Accounting\\Models\\RevenueAccountCountryConfiguration" } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "name": "locationId", "type": "integer", "required": true, "description": "The ID of the accounting location.", "format": "integer", "in": "path" }, { "name": "countryId", "type": "integer", "required": true, "description": "The ID of the country.", "format": "integer", "in": "path" } ] } }, "\/rest\/accounting\/locations\/{locationId}\/debtor_account_configurations": { "get": { "summary": "Get debtor account configuration of an accounting location", "description": "Gets the debtor account configuration of an accounting location. The ID of the accounting location has to be specified. The debtor account configuration can contain one standard debtor account only or e.g. several accounts for each country of delivery.", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#\/definitions\/Plenty\\Modules\\Accounting\\Models\\DebtorAccountConfiguration" } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "name": "locationId", "type": "integer", "required": true, "description": "The ID of the accounting location.", "format": "integer", "in": "path" } ] } }, "\/rest\/accounting\/locations\/{locationId}\/debtor_accounts\/{mode}": { "get": { "summary": "Lists the debtor accounts by mode.", "description": "Lists the debtor accounts of an accounting location by mode. The ID of the accounting location and the mode have to be specified.", "tags": [ "Accounting" ], "security": [ { "oAuth2": [] } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#\/definitions\/Illuminate\\Support\\Collection" } }, "401": { "description": "The resource owner or authorization server denied the request. - The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the \"access token\" parameter." } }, "parameters": [ { "name": "locationId", "type": "integer", "required": true, "description": "The ID of the accounting location.", "format": "integer", "in": "path" }, { "name": "mode", "type": "string", "required": true, "description": "The mode defines how pending amounts are assigned to debtor accounts. The following modes are available:\n