{"note":"OpenAPI conversion -- returning structured metadata","name":"billbee-io","description":"Billbee API","version":"V1","base_url":"https://app.billbee.io","endpoints":87,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Billbee API\n@base https://app.billbee.io\n@version V1\n@auth basic | ApiKey X-Billbee-Api-Key in header\n@endpoints 87\n@hint download_for_search\n@toc api(87)\n\n@endpoint GET /api/v1/apiusage\n@desc Get summarised api usage statistics\n@optional {request.date: any # Only year and month of this is relevant}\n@returns(200) OK\n\n@endpoint GET /api/v1/apiusage/detail\n@desc Get detailed api usage statistics\n@optional {request.date: any # Only year and month of this is relevant}\n@returns(200) OK\n\n@endpoint GET /api/v1/cloudstorages\n@desc Gets a list of all connected cloud storage devices\n@returns(200) OK\n\n@endpoint GET /api/v1/customer-addresses\n@desc Get a list of all customer addresses\n@optional {page: any # The current page to request starting with 1 (default is 1), pageSize: any # The page size for the result list. Values between 1 and 250 are allowed. (default is 50)}\n@returns(200) OK\n\n@endpoint POST /api/v1/customer-addresses\n@desc Creates a new customer address\n@required {model: map}\n@returns(200) OK\n\n@endpoint GET /api/v1/customer-addresses/{id}\n@desc Queries a single customer address by id\n@required {id: any # The id of the address to query}\n@returns(200) OK\n\n@endpoint PUT /api/v1/customer-addresses/{id}\n@desc Updates a customer address by id\n@required {model: map, id: any # The id of the address}\n@returns(200) OK\n\n@endpoint GET /api/v1/customers\n@desc Get a list of all customers\n@optional {page: any # The current page to request starting with 1, pageSize: any # The pagesize for the result list. Values between 1 and 250 are allowed}\n@returns(200) OK\n\n@endpoint POST /api/v1/customers\n@desc Creates a new customer\n@required {model: map}\n@returns(200) OK\n\n@endpoint GET /api/v1/customers/{id}\n@desc Queries a single customer by id\n@required {id: any # The id of the customer to query}\n@returns(200) OK\n\n@endpoint PUT /api/v1/customers/{id}\n@desc Updates a customer by id\n@required {model: map, id: any # The id of the customer}\n@returns(200) OK\n\n@endpoint GET /api/v1/customers/{id}/orders\n@desc Queries a list of orders from a customer\n@required {id: any # The id of the customer}\n@optional {page: any # The current page to request starting with 1, pageSize: any # The pagesize for the result list. Values between 1 and 250 are allowed}\n@returns(200) OK\n\n@endpoint GET /api/v1/customers/{id}/addresses\n@desc Queries a list of addresses from a customer\n@required {id: any # The id of the customer}\n@optional {page: any # The current page to request starting with 1, pageSize: any # The pagesize for the result list. Values between 1 and 250 are allowed}\n@returns(200) OK\n\n@endpoint POST /api/v1/customers/{id}/addresses\n@desc Adds a new address to a customer\n@required {id: any # CustomerId to attach the new address to., model: map # Model containing the address, that should be attached.}\n@returns(200) OK\n\n@endpoint GET /api/v1/customers/addresses/{id}\n@desc Queries a single address from a customer\n@required {id: any # The id of the address}\n@returns(200) OK\n\n@endpoint PUT /api/v1/customers/addresses/{id}\n@desc Updates all fields of an address\n@required {model: map # The updated address. Please query an address via (todo) to see all fields. Note that Id and CustomerId cannot be changed., id: any # The id of the address}\n@returns(200) OK\n\n@endpoint PATCH /api/v1/customers/addresses/{id}\n@desc Updates one or more fields of an address\n@required {id: any # The id of the address, model: map # The address fields to be changed. Please query an address via (todo) to see all fields. Note that Id and CustomerId cannot be changed.}\n@returns(200) OK\n\n@endpoint GET /api/v1/enums/paymenttypes\n@desc Returns a list with all defined paymenttypes\n@returns(200) OK\n\n@endpoint GET /api/v1/enums/shippingcarriers\n@desc Returns a list with all defined shippingcarriers\n@returns(200) OK\n\n@endpoint GET /api/v1/enums/accountsyncstate\n@desc Returns a list with all defined account sync states\n@returns(200) OK\n\n@endpoint GET /api/v1/enums/shopaccounttype\n@desc Returns a list with all defined account types\n@returns(200) OK\n\n@endpoint GET /api/v1/enums/shipmenttypes\n@desc Returns a list with all defined shipmenttypes\n@returns(200) OK\n\n@endpoint GET /api/v1/enums/orderstates\n@desc Returns a list with all defined orderstates\n@returns(200) OK\n\n@endpoint GET /api/v1/events\n@desc Get a list of all events optionally filtered by date. This request is extra throttled to 2 calls per page per hour.\n@optional {minDate: any # Specifies the oldest date to include in the response, maxDate: any # Specifies the newest date to include in the response, page: any # Specifies the page to request, pageSize: any # Specifies the pagesize. Defaults to 50, max value is 250, typeId: any # Filter for specific event types, orderId: any # Filter for specific order id}\n@returns(200) OK\n\n@endpoint POST /api/v1/orders/createmultiple\n@required {models: [map]}\n@returns(200) OK\n\n@endpoint GET /api/v1/orders\n@desc Get a list of all orders optionally filtered by date\n@optional {minOrderDate: any # Specifies the oldest order date to include in the response, maxOrderDate: any # Specifies the newest order date to include in the response, page: any # Specifies the page to request, pageSize: any # Specifies the pagesize. Defaults to 50, max value is 250, shopId: any # Specifies a list of shop ids for which invoices should be included, orderStateId: any # Specifies a list of state ids to include in the response, tag: any # Specifies a list of tags the order must have attached to be included in the response, minimumBillBeeOrderId: any # If given, all delivered orders have an Id greater than or equal to the given minimumOrderId, modifiedAtMin: any # If given, the last modification has to be newer than the given date, modifiedAtMax: any # If given, the last modification has to be older or equal than the given date., articleTitleSource: any # The source field for the article title. 0 = Order Position (default), 1 = Article Title, 2 = Article Invoice Text, excludeTags: any # If true the list of tags passed to the call are used to filter orders to not include these tags}\n@returns(200) OK\n\n@endpoint POST /api/v1/orders\n@required {orderData: map}\n@optional {shopId: any}\n@returns(200) OK\n\n@endpoint PUT /api/v1/orders/{id}/tags\n@desc Sets the tags attached to an order\n@required {tagData: map # Tags to attach, id: any # The internal id of the order}\n@returns(200) OK\n\n@endpoint POST /api/v1/orders/{id}/tags\n@desc Attach one or more tags to an order\n@required {tagData: map # Tags to attach, id: any # The internal id of the order}\n@returns(200) OK\n\n@endpoint POST /api/v1/orders/tags\n@desc Add one or more tags to multiple orders\n@required {model: map # Contains lists of orderids and tags}\n@returns(200) OK\n\n@endpoint GET /api/v1/orders/{id}\n@desc Get a single order by its internal billbee id. This request is throttled to 6 calls per order in one minute\n@required {id: any # The internal billbee id of the order}\n@optional {articleTitleSource: any # The source field for the article title. 0 = Order Position (default), 1 = Article Title, 2 = Article Invoice Text}\n@returns(200) OK\n\n@endpoint PATCH /api/v1/orders/{id}\n@desc Updates one or more fields of an order\n@required {id: any, model: map}\n@returns(200) OK\n\n@endpoint GET /api/v1/orders/findbyextref/{extRef}\n@desc Get a single order by its external order number\n@required {extRef: any # The extern order number of the order}\n@returns(200) OK\n\n@endpoint PUT /api/v1/orders/{id}/orderstate\n@desc Changes the main state of a single order\n@required {id: any # The internal id of the order, model: map # The data used to change the state}\n@returns(200) OK\n\n@endpoint POST /api/v1/orders/{id}/shipment\n@desc Add a shipment to a given order\n@required {id: any # The internal billbee id of the order, model: map # The shipment data to create the shipment}\n@returns(200) OK\n\n@endpoint GET /api/v1/orders/invoices\n@desc Get a list of all invoices optionally filtered by date. This request ist throttled to 1 per 1 minute for same page and minInvoiceDate\n@optional {minInvoiceDate: any # Specifies the oldest invoice date to include, maxInvoiceDate: any # Specifies the newest invoice date to include, page: any # Specifies the page to request, pageSize: any # Specifies the pagesize. Defaults to 50, max value is 250, shopId: any # Specifies a list of shop ids for which invoices should be included, orderStateId: any # Specifies a list of state ids to include in the response, tag: any, minPayDate: any, maxPayDate: any, includePositions: any, excludeTags: any # If true the list of tags passed to the call are used to filter orders to not include these tags}\n@returns(200) OK\n\n@endpoint GET /api/v1/orders/find/{id}/{partner}\n@desc Find a single order by its external id (order number)\n@required {id: any # The order id from the external system, partner: any # Optional the name of the shop/marketplace the order was imported from}\n@returns(200) OK\n\n@endpoint POST /api/v1/orders/CreateDeliveryNote/{id}\n@desc Create an delivery note for an existing order. This request is extra throttled by order and api key to a maximum of 1 per 5 minutes.\n@required {id: any # The internal billbee id of the order}\n@optional {includePdf: any # If true, the PDF is included in the response as base64 encoded string, sendToCloudId: any # Optionally specify the id of a billbee connected cloud device to send the pdf to}\n@returns(200) OK\n\n@endpoint POST /api/v1/orders/CreateInvoice/{id}\n@desc Create an invoice for an existing order. This request is extra throttled by order and api key to a maximum of 1 per 5 minutes.\n@required {id: any # The internal billbee id of the order}\n@optional {includeInvoicePdf: any # If true, the PDF is included in the response as base64 encoded string, templateId: any # You can pass the id of an invoice template to overwrite the assigned template for invoice creation, sendToCloudId: any # You can pass the id of a connected cloud printer/storage to send the invoice to it}\n@returns(200) OK\n\n@endpoint GET /api/v1/orders/PatchableFields\n@desc Returns a list of fields which can be updated with the orders/{id} patch call\n@returns(200) OK\n\n@endpoint POST /api/v1/orders/{id}/send-message\n@desc Sends a message to the buyer\n@required {id: any # The id of the order, model: map # The message model}\n@returns(200) OK\n\n@endpoint POST /api/v1/orders/{id}/trigger-event\n@desc Triggers a rule event\n@required {id: any # The id of the order, model: map}\n@returns(200) OK\n\n@endpoint POST /api/v1/orders/{id}/parse-placeholders\n@desc Parses a text and replaces all placeholders\n@required {id: any # The id of the order, container: map}\n@returns(200) OK\n\n@endpoint POST /api/v1/orders/{id}/message\n@desc Adds a message to the order\n@required {id: any # The id of the order, orderMessage: map}\n@returns(200) OK\n\n@endpoint GET /api/v1/layouts\n@returns(200) OK\n\n@endpoint POST /api/v1/search\n@desc Search for products, customers and orders.\n@required {model: map}\n@returns(200) OK\n\n@endpoint GET /api/v1/products\n@desc Get a list of all products\n@optional {page: any # The current page to request starting with 1, pageSize: any # The pagesize for the result list. Values between 1 and 250 are allowed, minCreatedAt: any # Optional the oldest create date of the articles to be returned, minimumBillBeeArticleId: any, maximumBillBeeArticleId: any}\n@returns(200) OK\n\n@endpoint POST /api/v1/products\n@desc Creates a new product\n@required {model: map}\n@returns(200) OK\n\n@endpoint GET /api/v1/products/{id}\n@desc Queries a single article by id or by sku\n@required {id: any # The id or the sku of the article to query}\n@optional {lookupBy: any # Either the value id, ean or the value sku to specify the meaning of the id parameter.}\n@returns(200) OK\n\n@endpoint DELETE /api/v1/products/{id}\n@desc Deletes a product\n@required {id: any # The id of the Product}\n@returns(200) OK\n\n@endpoint PATCH /api/v1/products/{id}\n@desc Updates one or more fields of a product\n@required {id: any # The id of the Product, model: map}\n@returns(200) OK\n\n@endpoint GET /api/v1/products/stocks\n@desc Query all defined stock locations\n@returns(200) OK\n\n@endpoint GET /api/v1/products/PatchableFields\n@desc Returns a list of fields which can be updated with the patch call\n@returns(200) OK\n\n@endpoint GET /api/v1/products/category\n@desc GEts a list of all defined categories\n@returns(200) OK\n\n@endpoint POST /api/v1/products/updatestock\n@desc Update the stock qty of an article\n@required {model: map}\n@returns(200) OK\n\n@endpoint POST /api/v1/products/stockmultiple\n@desc Retrieve the stock qty for multiple articles at once\n@required {request: map}\n@optional {modifiedSince: any, page: any, pageSize: any}\n@returns(200) OK\n\n@endpoint POST /api/v1/products/updatestockmultiple\n@desc Update the stock qty for multiple articles at once\n@required {models: [map]}\n@returns(200) OK\n\n@endpoint GET /api/v1/products/reservedamount\n@desc Queries the reserved amount for a single article by id or by sku\n@required {id: any # The id or the sku of the article to query}\n@optional {lookupBy: any # Either the value id or the value sku to specify the meaning of the id parameter, stockId: any # Optional the stock id if the multi stock feature is enabled}\n@returns(200) OK\n\n@endpoint POST /api/v1/products/updatestockcode\n@desc Update the stock code of an article\n@required {model: map}\n@returns(200) OK\n\n@endpoint GET /api/v1/products/custom-fields\n@desc Queries a list of all custom fields\n@optional {page: any, pageSize: any}\n@returns(200) OK\n\n@endpoint GET /api/v1/products/custom-fields/{id}\n@desc Queries a single custom field\n@required {id: any # The id of the custom field to query}\n@returns(200) OK\n\n@endpoint GET /api/v1/products/{productId}/images\n@desc Returns a list of all images of the product\n@required {productId: any # The Id of the product}\n@returns(200) OK\n\n@endpoint PUT /api/v1/products/{productId}/images\n@desc Add multiple images to a product or replace the product images by the given images\n@required {productId: any # The id of the product, models: [map] # An array of ArticleApiImageModel}\n@optional {replace: any # If you pass true, the images will be replaced by the passed images. Otherwise the passed images will be appended to the product.}\n@returns(200) OK\n\n@endpoint GET /api/v1/products/{productId}/images/{imageId}\n@desc Returns a single image by id\n@required {productId: any # The Id of the product, imageId: any # The Id of the image}\n@returns(200) OK\n\n@endpoint PUT /api/v1/products/{productId}/images/{imageId}\n@desc Add or update an existing image of a product\n@required {productId: any # The product id, imageId: any # The image id. If you pass 0, the image will be added, model: map # The ArticleApiImageModel}\n@returns(200) OK\n\n@endpoint DELETE /api/v1/products/{productId}/images/{imageId}\n@desc Deletes a single image from a product\n@required {productId: any # The product id, imageId: any # The image id}\n@returns(200) OK\n\n@endpoint GET /api/v1/products/images/{imageId}\n@desc Returns a single image by id\n@required {imageId: any # The Id of the image}\n@returns(200) OK\n\n@endpoint DELETE /api/v1/products/images/{imageId}\n@desc Deletes a single image by id\n@required {imageId: any # The image id}\n@returns(200) OK\n\n@endpoint POST /api/v1/products/images/delete\n@required {imageIds: [int(int64)]}\n@returns(200) OK\n\n@endpoint POST /api/v1/automaticprovision/createaccount\n@desc Creates a new Billbee user account with the data passed\n@required {model: map}\n@returns(200) OK\n\n@endpoint GET /api/v1/automaticprovision/termsinfo\n@desc Returns infos about Billbee terms and conditions\n@returns(200) OK\n\n@endpoint POST /api/v1/shipment/shipmentmultiple\n@desc Creates multiple shipments\n@required {models: [map] # Data to specify shipment parameters}\n@returns(200) OK\n\n@endpoint POST /api/v1/shipment/shipment\n@desc Creates a new shipment with the selected Shippingprovider\n@required {model: map # Data to specify shipment parameters}\n@returns(200) OK\n\n@endpoint GET /api/v1/shipment/shippingproviders\n@desc Query all defined shipping providers\n@returns(200) OK\n\n@endpoint POST /api/v1/shipment/shipwithlabel\n@desc Creates a shipment for an order in billbee\n@required {shipmentInformation: map # Details on the order and the shipping methods, that should be used.}\n@returns(200) OK\n\n@endpoint POST /api/v1/shipment/shipwithlabelmultiple\n@desc Creates shipments for a list of orders in billbee\n@required {models: [map]}\n@returns(200) OK\n\n@endpoint GET /api/v1/shipment/shippingcarriers\n@desc Queries the currently available shipping carriers.\n@returns(200) OK\n\n@endpoint GET /api/v1/shipment/ping\n@returns(200) OK\n\n@endpoint GET /api/v1/shipment/shipments\n@desc Get a list of all shipments optionally filtered by date. All parameters are optional.\n@optional {page: any # Specifies the page to request., pageSize: any # Specifies the pagesize. Defaults to 50, max value is 250, createdAtMin: any # Specifies the oldest shipment date to include in the response, createdAtMax: any # Specifies the newest shipment date to include in the response, orderId: any # Get shipments for this order only., minimumShipmentId: any # Get Shipments with a shipment greater or equal than this id. New shipments have a greater id than older shipments., shippingProviderId: any # Get Shippings for the specified shipping provider only.}\n@returns(200) OK\n\n@endpoint GET /api/v1/shopaccounts\n@desc Queries a list of avaible shop accounts\n@optional {page: any # The current page to request starting with 1, pageSize: any # The pagesize for the result list. Values between 1 and 250 are allowed}\n@returns(200) OK\n\n@endpoint GET /api/v1/webhooks\n@desc Gets all registered WebHooks for a given user.\n@returns(200) OK\n\n@endpoint POST /api/v1/webhooks\n@desc Registers a new WebHook for a given user.\n@required {webHook: map # The webhook to create. Attach ?noecho to the uri to prevent echo test.}\n@returns(200) OK\n\n@endpoint DELETE /api/v1/webhooks\n@desc Deletes all existing WebHook registrations.\n@returns(200) OK\n\n@endpoint GET /api/v1/webhooks/{id}\n@desc Looks up a registered WebHook with the given {id} for a given user.\n@required {id: any}\n@returns(200) OK\n\n@endpoint PUT /api/v1/webhooks/{id}\n@desc Updates an existing WebHook registration.\n@required {id: any # The WebHook ID., webHook: map # The new webhook to use.}\n@returns(200) OK\n\n@endpoint DELETE /api/v1/webhooks/{id}\n@desc Deletes an existing WebHook registration.\n@required {id: any # The WebHook ID.}\n@returns(200) OK\n\n@endpoint GET /api/v1/webhooks/filters\n@desc Returns a list of all known filters you can use to register webhooks\n@returns(200) OK\n\n@end\n"}