{"files":{"SKILL.md":"---\nname: brandlovers-marketplace-api-v1\ndescription: \"BrandLovers Marketplace API V1 API skill. Use when working with BrandLovers Marketplace API V1 for products, product, orders. Covers 36 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# BrandLovers Marketplace API V1\nAPI version: 1.0.0\n\n## Auth\nApiKey authorization in header\n\n## Base URL\nhttps://api.brandlovers.com/marketplace/v1\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /products -- returns a list of products loaded into brandlovers marketplace\n3. POST /products -- create first product\n\n## Endpoints\n36 endpoints across 6 groups. See references/api-spec.lap for full details.\n\n### Products\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /products | Allows new products from the seller to be loaded into the marketplace |\n| GET | /products | Returns a list of products loaded into BrandLovers Marketplace |\n| GET | /products/status | Returns seller products status in the marketplace |\n| PUT | /products/status | Bulk enable/disable products in the marketplace |\n| PUT | /products/prices | Allows bulk update of product prices. |\n| PUT | /products/stocks | Bulk product stock update |\n| GET | /products/status/selling | Returns products that are successfully listed for sale. |\n\n### Product\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /product/{skuSellerId} | Returns details of a single product using the seller `skuSellerId` |\n| PUT | /product/{skuSellerId} | Update product details |\n| POST | /product | Create a new product to the marketplace |\n| PUT | /product/{skuSellerId}/status | Enable/disable a single product in the Marketplace |\n| PUT | /product/{skuSellerId}/stock | Update a single product stock |\n| PUT | /product/{skuSellerId}/prices | Allows seller to update prices of a single SKU |\n\n### Orders\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /orders | Returns orders details |\n| POST | /orders/shipments/delivered | Bulk update of order shipments |\n| GET | /orders/shipments/delivered | Returns list of shipments |\n| POST | /orders/shipments/shipped | Bulk update of order shipments |\n| GET | /orders/shipments/shipped | Returns a list of shipments shipped |\n| GET | /orders/status/approved | Return list of approved orders |\n| GET | /orders/status/canceled | Returns lists of canceled orders |\n| GET | /orders/status/delivered | Returns a list of orders successfully delivered associated with this seller. |\n| GET | /orders/status/new | Returns a list of orders flagged as new. |\n| GET | /orders/status/partiallyDelivered | Returns a list of partially deliverd orders |\n| GET | /orders/status/partiallySent | Returns a list of orders partially fullfiled |\n| GET | /orders/status/sent | Returns a list with orders fully sent |\n\n### Order\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /order/{orderId} | Returns all details of a order |\n| POST | /order/{orderId}/shipment/cancel | Confirm shipment canceletion (when requested by the customer) or failure to deliver |\n| POST | /order/{orderId}/shipment/delivered | Confirms that a shipment was delivered |\n| POST | /order/{orderId}/shipment/exchange | Confirm item exchange |\n| POST | /order/{orderId}/shipment/return | Confirm order item return and refund |\n| POST | /order/{orderId}/shipment/sent | Update new order to include shipment information |\n\n### Tickets\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /tickets | Get customers trouble tickets |\n\n### Ticket\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /ticket | Creates a new trouble ticket |\n| GET | /ticket/{ticketId}/messages | Get trouble ticket messages |\n| POST | /ticket/{ticketId}/message | Add new message to trouble ticket |\n| PUT | /ticket/{ticketId}/status | Update trouble ticket status |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a product?\" -> POST /products\n- \"List all products?\" -> GET /products\n- \"Get product details?\" -> GET /product/{skuSellerId}\n- \"Update a product?\" -> PUT /product/{skuSellerId}\n- \"List all status?\" -> GET /products/status\n- \"List all selling?\" -> GET /products/status/selling\n- \"List all orders?\" -> GET /orders\n- \"Create a delivered?\" -> POST /orders/shipments/delivered\n- \"List all delivered?\" -> GET /orders/shipments/delivered\n- \"Create a shipped?\" -> POST /orders/shipments/shipped\n- \"List all shipped?\" -> GET /orders/shipments/shipped\n- \"List all approved?\" -> GET /orders/status/approved\n- \"List all canceled?\" -> GET /orders/status/canceled\n- \"List all new?\" -> GET /orders/status/new\n- \"List all partiallyDelivered?\" -> GET /orders/status/partiallyDelivered\n- \"List all partiallySent?\" -> GET /orders/status/partiallySent\n- \"List all sent?\" -> GET /orders/status/sent\n- \"Get order details?\" -> GET /order/{orderId}\n- \"Create a cancel?\" -> POST /order/{orderId}/shipment/cancel\n- \"Create a exchange?\" -> POST /order/{orderId}/shipment/exchange\n- \"Create a return?\" -> POST /order/{orderId}/shipment/return\n- \"Create a sent?\" -> POST /order/{orderId}/shipment/sent\n- \"List all tickets?\" -> GET /tickets\n- \"Create a ticket?\" -> POST /ticket\n- \"List all messages?\" -> GET /ticket/{ticketId}/messages\n- \"Create a message?\" -> POST /ticket/{ticketId}/message\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api BrandLovers Marketplace API V1\n@base https://api.brandlovers.com/marketplace/v1\n@version 1.0.0\n@auth ApiKey authorization in header\n@common_fields {authorization: any # Authorization token. The Authorization token can be found in your Admin console.}\n@endpoints 36\n@hint download_for_search\n@toc products(7), product(6), orders(12), order(6), tickets(1), ticket(4)\n\n@group products\n@endpoint POST /products\n@desc Allows new products from the seller to be loaded into the marketplace\n@required {products: [any] # JSON with a list of new products to be updloaded to the platform}\n@returns(200) Sucess! Server received your request and will start background processing.\n@errors {400: Bad Request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required.}\n\n@endpoint GET /products\n@desc Returns a list of products loaded into BrandLovers Marketplace\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number of items to retun. Defaults to 100. Max alowed is 200. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endgroup\n\n@group product\n@endpoint GET /product/{skuSellerId}\n@desc Returns details of a single product using the seller `skuSellerId`\n@required {skuSellerId: any # SKU ID do Lojista.}\n@returns(200) Success!\n@errors {401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second., 404: Object not found. In general this means a invalid skuSellerId.}\n\n@endpoint PUT /product/{skuSellerId}\n@desc Update product details\n@required {skuSellerId: any # Unique Product Id (SKU) in the seller system that will be updated., body: any # New product information.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second., 404: Object not found.}\n\n@endpoint POST /product\n@desc Create a new product to the marketplace\n@required {product: any # New Produt that will be create}\n@returns(200) Sucess! Server received your request and will start background processing.\n@errors {400: Bad Request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required.}\n\n@endgroup\n\n@group products\n@endpoint GET /products/status\n@desc Returns seller products status in the marketplace\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number of items to return in this query. Defaults to 250. Maximum 1000. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success fetching results.\n@errors {403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint PUT /products/status\n@desc Bulk enable/disable products in the marketplace\n@required {body: [any] # List of seller products with new status information}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required.}\n\n@endpoint PUT /products/prices\n@desc Allows bulk update of product prices.\n@required {body: [any] # Data for bulk product price update}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required.}\n\n@endpoint PUT /products/stocks\n@desc Bulk product stock update\n@required {body: [any] # Array of product SKUs.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required.}\n\n@endgroup\n\n@group product\n@endpoint PUT /product/{skuSellerId}/status\n@desc Enable/disable a single product in the Marketplace\n@required {skuSellerId: any # Unique Product Id (SKU) in the seller system, body: any # Seller SKU that will be enabled or disabled}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required.}\n\n@endpoint PUT /product/{skuSellerId}/stock\n@desc Update a single product stock\n@required {skuSellerId: any # Unique Product Id (SKU) in the seller system that will be updated, body: any # New product inventory information}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required.}\n\n@endpoint PUT /product/{skuSellerId}/prices\n@desc Allows seller to update prices of a single SKU\n@required {skuSellerId: any # Product SKU, body: any # JSON document with the SKU price}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required.}\n\n@endgroup\n\n@group products\n@endpoint GET /products/status/selling\n@desc Returns products that are successfully listed for sale.\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endgroup\n\n@group orders\n@endpoint GET /orders\n@desc Returns orders details\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint POST /orders/shipments/delivered\n@desc Bulk update of order shipments\n@required {ordersshipments: any # JSON body with list of shipments to be updated.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint GET /orders/shipments/delivered\n@desc Returns list of shipments\n@optional {status: any # Query by shippment status., offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint POST /orders/shipments/shipped\n@desc Bulk update of order shipments\n@required {ordersshipments: any # JSON payload with list of shippments of orders.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint GET /orders/shipments/shipped\n@desc Returns a list of shipments shipped\n@optional {status: any # Product status., offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint GET /orders/status/approved\n@desc Return list of approved orders\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 100, max 200. Use this in conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint GET /orders/status/canceled\n@desc Returns lists of canceled orders\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Default 100, max 250. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint GET /orders/status/delivered\n@desc Returns a list of orders successfully delivered associated with this seller.\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint GET /orders/status/new\n@desc Returns a list of orders flagged as new.\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 100. Max 250. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint GET /orders/status/partiallyDelivered\n@desc Returns a list of partially deliverd orders\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 100. Max 250. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint GET /orders/status/partiallySent\n@desc Returns a list of orders partially fullfiled\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 100. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endpoint GET /orders/status/sent\n@desc Returns a list with orders fully sent\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second.}\n\n@endgroup\n\n@group order\n@endpoint GET /order/{orderId}\n@desc Returns all details of a order\n@required {orderId: any # Unique Id of this order.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second., 404: Object not found. Was not able to find orderId}\n\n@endpoint POST /order/{orderId}/shipment/cancel\n@desc Confirm shipment canceletion (when requested by the customer) or failure to deliver\n@required {body: any, orderId: any # Unique Order Id}\n@returns(200) success.\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 404: Object not found. Was not able to find orderId}\n\n@endpoint POST /order/{orderId}/shipment/delivered\n@desc Confirms that a shipment was delivered\n@required {body: any, orderId: any # Unique Order Id}\n@returns(200) Sucess!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 404: Object not found. Was not able to find orderId}\n\n@endpoint POST /order/{orderId}/shipment/exchange\n@desc Confirm item exchange\n@required {body: any, orderId: any # Unique Order Id}\n@returns(200) Sucess!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 404: Object not found. Was not able to find orderId}\n\n@endpoint POST /order/{orderId}/shipment/return\n@desc Confirm order item return and refund\n@required {body: any, orderId: any # Order unique Id}\n@returns(200) Sucess!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 404: Object not found. Was not able to find orderId}\n\n@endpoint POST /order/{orderId}/shipment/sent\n@desc Update new order to include shipment information\n@required {body: any, orderId: any # Unique Order Id}\n@returns(200) Sucess!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 404: Object not found. Was not able to find orderId}\n\n@endgroup\n\n@group tickets\n@endpoint GET /tickets\n@desc Get customers trouble tickets\n@optional {status: any # Query by trouble ticket status, offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request.}\n\n@endgroup\n\n@group ticket\n@endpoint POST /ticket\n@desc Creates a new trouble ticket\n@required {newTicket: any # JSON object with new trouble ticket}\n@returns(200) Success!\n@errors {400: Bad request.}\n\n@endpoint GET /ticket/{ticketId}/messages\n@desc Get trouble ticket messages\n@required {ticketId: any # Trouble ticket ID.}\n@optional {offset: any # Number or items to skip when executing query. List starts at zero. If omitted will default to zero. Use this conjuction with `limit` to paginate across the results., limit: any # Number or items to return when executing query. Defaults to 10. Use this conjuction with `offset` to paginate across the results.}\n@returns(200) Success!\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Access denied. You can only access your trouble tickets}\n\n@endpoint POST /ticket/{ticketId}/message\n@desc Add new message to trouble ticket\n@required {ticketId: any # Trouble ticket ID., message: any # New message object to append to trouble ticket.}\n@returns(200) Success!\n@errors {400: Bad request., 404: Object not found.}\n\n@endpoint PUT /ticket/{ticketId}/status\n@desc Update trouble ticket status\n@required {ticketId: any # Trouble ticket unique identification, body: any # New trouble ticket status}\n@returns(200) successfully received transaction\n@errors {400: Bad request., 401: Access denied. You're not authenticated or token expired. Check your request header the `authorization` field is required., 403: Server refused to process your request. Please check the API SLA and reduce number of requests per second., 404: Object not found.}\n\n@endgroup\n\n@end\n"}}