{ "openapi": "3.0.0", "paths": { "/": { "get": { "operationId": "AppController_root", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "App" ] } }, "/stores": { "post": { "operationId": "StoresController_create", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateStoreDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Stores" ] }, "get": { "operationId": "StoresController_findAllForAdmin", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object" } } } } } }, "tags": [ "Stores" ] } }, "/stores/by-slug/{slug}": { "get": { "operationId": "StoresController_findBySlug", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Stores" ] } }, "/stores/{storeId}": { "patch": { "operationId": "StoresController_update", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Stores" ] }, "delete": { "operationId": "StoresController_delete", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Stores" ] } }, "/stores/public": { "get": { "operationId": "StoresController_findAllPublic", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Stores" ] } }, "/stores/collections/public": { "get": { "operationId": "StoresController_findCollectionsPublic", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Stores" ] } }, "/stores/featured": { "get": { "operationId": "StoresController_findFeatured", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Stores" ] } }, "/stores/directory": { "get": { "operationId": "StoresController_findDirectory", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Stores" ] } }, "/stores/{slug}/public": { "get": { "operationId": "StoresController_findPublic", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Stores" ] } }, "/stores/{slug}/categories/public": { "get": { "operationId": "StoresController_findCategoriesPublic", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Stores" ] } }, "/stores/{slug}/products/{productId}/public": { "get": { "operationId": "StoresController_findPublicProduct", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Stores" ] } }, "/stores/{storeId}/logo": { "post": { "operationId": "StoresController_uploadLogo", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "201": { "description": "" } }, "tags": [ "Stores" ] } }, "/me/stores": { "get": { "operationId": "MyStoresController_findMine", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "MyStores" ] } }, "/stores/{storeId}/products": { "post": { "operationId": "ProductsController_create", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateProductDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "type": "object" } } } } }, "tags": [ "Products" ] }, "get": { "operationId": "ProductsController_findAll", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object" } } } } } }, "tags": [ "Products" ] } }, "/stores/{storeId}/products/{productId}": { "get": { "operationId": "ProductsController_findOne", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Products" ] }, "patch": { "operationId": "ProductsController_update", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateProductDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Products" ] }, "delete": { "operationId": "ProductsController_softDelete", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Products" ] } }, "/stores/{storeId}/products/{productId}/publish": { "patch": { "operationId": "ProductsController_publish", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Products" ] } }, "/stores/{storeId}/products/{productId}/variants": { "post": { "operationId": "ProductsController_addVariant", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateVariantDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Products" ] }, "get": { "operationId": "ProductsController_listVariants", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Products" ] } }, "/stores/{storeId}/products/{productId}/variants/{variantId}": { "patch": { "operationId": "ProductsController_updateVariant", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "variantId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateVariantDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Products" ] }, "delete": { "operationId": "ProductsController_deleteVariant", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "variantId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Products" ] } }, "/stores/{storeId}/products/{productId}/images": { "post": { "operationId": "ProductsController_uploadImage", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "replace", "required": true, "in": "query", "schema": { "type": "string" } } ], "responses": { "201": { "description": "" } }, "tags": [ "Products" ] } }, "/stores/{storeId}/products/{productId}/variants/{variantId}/images": { "post": { "operationId": "ProductsController_uploadVariantImage", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "variantId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "201": { "description": "" } }, "tags": [ "Products" ] } }, "/products/search": { "get": { "operationId": "ProductSearchController_search", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "ProductSearch" ] } }, "/stores/{storeId}/notifications": { "get": { "operationId": "NotificationsController_findAll", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Notifications" ] } }, "/stores/{storeId}/notifications/unread-count": { "get": { "operationId": "NotificationsController_unreadCount", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Notifications" ] } }, "/stores/{storeId}/notifications/{notificationId}/read": { "patch": { "operationId": "NotificationsController_markRead", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "notificationId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Notifications" ] } }, "/stores/{storeId}/notifications/read-all": { "post": { "operationId": "NotificationsController_markAllRead", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "type": "object" } } } } }, "tags": [ "Notifications" ] } }, "/stores/{storeId}/notifications/{notificationId}/archive": { "patch": { "operationId": "NotificationsController_archive", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "notificationId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Notifications" ] } }, "/admin/users/store-counts": { "get": { "operationId": "UsersController_getStoreCounts", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Users" ] } }, "/health": { "get": { "operationId": "HealthController_check", "parameters": [], "responses": { "200": { "description": "" } }, "tags": [ "Health" ] } }, "/stores/{storeId}/orders": { "get": { "operationId": "OrderController_findAll", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object" } } } } } }, "tags": [ "Order" ] } }, "/stores/{storeId}/orders/{orderId}": { "get": { "operationId": "OrderController_findOne", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "orderId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object" } } } } }, "tags": [ "Order" ] } }, "/stores/{storeId}/orders/{orderId}/payments": { "post": { "operationId": "OrderController_addPayment", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "orderId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "type": "object" } } } } }, "tags": [ "Order" ] } }, "/stores/{storeId}/orders/{orderId}/review": { "patch": { "operationId": "OrderController_review", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "orderId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReviewPaymentDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Order" ] } }, "/stores/{storeId}/orders/{orderId}/fulfillment": { "patch": { "operationId": "OrderController_advance", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "orderId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AdvanceFulfillmentDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Order" ] } }, "/stores/{storeId}/orders/{orderId}/cancel": { "patch": { "operationId": "OrderController_cancel", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "orderId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CancelOrderDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Order" ] } }, "/stores/{slug}/checkout": { "post": { "operationId": "CheckoutController_create", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateOrderDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Checkout" ] } }, "/stores/{slug}/account/confirm": { "get": { "operationId": "CustomerAccountController_confirm", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "CustomerAccount" ] } }, "/stores/{storeId}/customers": { "get": { "operationId": "CustomersController_findAll", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Customers" ] } }, "/stores/{storeId}/customers/{customerId}": { "get": { "operationId": "CustomersController_findOne", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "customerId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Customers" ] } }, "/stores/{storeId}/delivery-methods": { "get": { "operationId": "DeliveryConfigController_findAll", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "DeliveryConfig" ] }, "post": { "operationId": "DeliveryConfigController_upsert", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpsertDeliveryMethodDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "DeliveryConfig" ] } }, "/stores/{storeId}/delivery-methods/{type}": { "delete": { "operationId": "DeliveryConfigController_remove", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "type", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "DeliveryConfig" ] } }, "/stores/{slug}/public/delivery-methods": { "get": { "operationId": "PublicDeliveryConfigController_findEnabled", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "PublicDeliveryConfig" ] } }, "/stores/{storeId}/pickup-points": { "get": { "operationId": "PickupPointsController_findAll", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "PickupPoints" ] }, "post": { "operationId": "PickupPointsController_create", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreatePickupPointDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "PickupPoints" ] } }, "/stores/{storeId}/pickup-points/{pointId}": { "patch": { "operationId": "PickupPointsController_update", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "pointId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePickupPointDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "PickupPoints" ] }, "delete": { "operationId": "PickupPointsController_remove", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "pointId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "PickupPoints" ] } }, "/stores/{slug}/public/pickup-points": { "get": { "operationId": "PublicPickupPointsController_findEnabled", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "PublicPickupPoints" ] } }, "/stores/{storeId}/payment-methods": { "get": { "operationId": "PaymentConfigController_findAll", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "enabled", "required": true, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "PaymentConfig" ] }, "post": { "operationId": "PaymentConfigController_upsert", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpsertPaymentMethodDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "PaymentConfig" ] } }, "/stores/{slug}/public/payment-methods": { "get": { "operationId": "PublicPaymentConfigController_findEnabled", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "PublicPaymentConfig" ] } }, "/contact": { "post": { "operationId": "ContactController_create", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInquiryDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Contact" ] }, "get": { "operationId": "ContactController_findAll", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object" } } } } }, "tags": [ "Contact" ] } }, "/contact/{id}/review": { "patch": { "operationId": "ContactController_markReviewed", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Contact" ] } }, "/stores/{storeId}/categories": { "post": { "operationId": "CategoriesController_create", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCategoryDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Categories" ] }, "get": { "operationId": "CategoriesController_findAll", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Categories" ] } }, "/stores/{storeId}/categories/{categoryId}": { "patch": { "operationId": "CategoriesController_update", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "categoryId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCategoryDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "Categories" ] }, "delete": { "operationId": "CategoriesController_delete", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "categoryId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Categories" ] } }, "/stores/{storeId}/collections": { "post": { "operationId": "CollectionsController_create", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateCollectionDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionResponseDto" } } } } }, "tags": [ "Collections" ] }, "get": { "operationId": "CollectionsController_findAll", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionWithProductsResponseDto" } } } } } }, "tags": [ "Collections" ] } }, "/stores/{storeId}/collections/{collectionId}": { "patch": { "operationId": "CollectionsController_update", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "collectionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCollectionDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionResponseDto" } } } } }, "tags": [ "Collections" ] }, "delete": { "operationId": "CollectionsController_delete", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "collectionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionResponseDto" } } } } }, "tags": [ "Collections" ] } }, "/stores/{storeId}/collections/{collectionId}/products": { "post": { "operationId": "CollectionsController_addProduct", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "collectionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddCollectionProductDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionProductResponseDto" } } } } }, "tags": [ "Collections" ] } }, "/stores/{storeId}/collections/{collectionId}/products/{productId}": { "delete": { "operationId": "CollectionsController_removeProduct", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "collectionId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "productId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionProductResponseDto" } } } } }, "tags": [ "Collections" ] } }, "/stores/{storeId}/collections/{collectionId}/products/reorder": { "patch": { "operationId": "CollectionsController_reorderProducts", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "collectionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReorderCollectionProductsDto" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionProductResponseDto" } } } } } }, "tags": [ "Collections" ] } }, "/stores/{storeId}/sections": { "post": { "operationId": "StoreSectionsController_create", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateStoreSectionDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "StoreSections" ] }, "get": { "operationId": "StoreSectionsController_findAll", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "StoreSections" ] } }, "/stores/{storeId}/sections/reorder": { "patch": { "operationId": "StoreSectionsController_reorder", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReorderStoreSectionsDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "StoreSections" ] } }, "/stores/{storeId}/sections/{sectionId}": { "patch": { "operationId": "StoreSectionsController_update", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "sectionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStoreSectionDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "StoreSections" ] }, "delete": { "operationId": "StoreSectionsController_delete", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "sectionId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "StoreSections" ] } }, "/stores/{storeId}/stats/overview": { "get": { "operationId": "StatsController_overview", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "Stats" ] } }, "/stores/{storeId}/stats/analytics": { "get": { "operationId": "StatsController_analytics", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object" } } } } }, "tags": [ "Stats" ] } }, "/stores/{storeId}/suggestions": { "get": { "operationId": "SuggestionsController_findAll", "parameters": [ { "name": "storeId", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object" } } } } } }, "tags": [ "Suggestions" ] } }, "/stores/{slug}/account/register": { "post": { "operationId": "CustomerAuthController_register", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterCustomerDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "CustomerAuth" ] } }, "/stores/{slug}/account/login": { "post": { "operationId": "CustomerAuthController_login", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginCustomerDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "CustomerAuth" ] } }, "/stores/{slug}/account/forgot-password": { "post": { "operationId": "CustomerAuthController_forgotPassword", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ForgotPasswordDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "CustomerAuth" ] } }, "/stores/{slug}/account/change-password": { "post": { "operationId": "CustomerAuthController_changePassword", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChangeCustomerPasswordDto" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "CustomerAuth" ] } }, "/stores/{slug}/account/me": { "get": { "operationId": "CustomerAuthController_me", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" } }, "tags": [ "CustomerAuth" ] }, "patch": { "operationId": "CustomerAuthController_updateMe", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCustomerProfileDto" } } } }, "responses": { "200": { "description": "" } }, "tags": [ "CustomerAuth" ] } }, "/stores/{slug}/account/logout": { "post": { "operationId": "CustomerAuthController_logout", "parameters": [], "responses": { "201": { "description": "" } }, "tags": [ "CustomerAuth" ] } } }, "info": { "title": "Bias Market API", "description": "Bias Market — niche-first store builder API", "version": "1.0", "contact": {} }, "tags": [], "servers": [], "components": { "schemas": { "CreateStoreDto": { "type": "object", "properties": { "name": { "type": "string", "minLength": 2 }, "slug": { "type": "string" }, "whatsappNumber": { "type": "string", "minLength": 6 }, "defaultCurrency": { "type": "string" }, "themeConfig": { "type": "object", "additionalProperties": true } }, "required": [ "name", "slug", "whatsappNumber" ] }, "UpdateStoreDto": { "type": "object", "properties": { "name": { "type": "string" }, "whatsappNumber": { "type": "string" }, "paymentInstructions": { "type": "string" }, "defaultCurrency": { "type": "string" }, "themeConfig": { "type": "object", "additionalProperties": true }, "lowStockAlertsEnabled": { "type": "boolean" }, "lowStockThreshold": { "type": "number", "minimum": 0 } } }, "CreateVariantDto": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "stock": { "type": "number" }, "priceOverride": { "type": "number" }, "imageOverride": { "type": "string" }, "attributes": { "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "name" ] }, "CreateProductDto": { "type": "object", "properties": { "name": { "type": "string", "minLength": 2 }, "categoryIds": { "type": "array", "items": { "type": "string" } }, "description": { "type": "string" }, "price": { "type": "number" }, "soldOut": { "type": "boolean" }, "images": { "type": "array", "items": { "type": "string" } }, "availableUntil": { "type": "string" }, "currency": { "type": "string" }, "stock": { "type": "number", "minimum": 0 }, "variants": { "type": "array", "items": { "$ref": "#/components/schemas/CreateVariantDto" } } }, "required": [ "name", "price" ] }, "UpdateProductDto": { "type": "object", "properties": { "name": { "type": "string", "minLength": 2 }, "categoryIds": { "type": "array", "items": { "type": "string" } }, "description": { "type": "string" }, "price": { "type": "number" }, "soldOut": { "type": "boolean" }, "images": { "type": "array", "items": { "type": "string" } }, "availableUntil": { "type": "string" }, "currency": { "type": "string" } } }, "UpdateVariantDto": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "stock": { "type": "number", "nullable": true }, "priceOverride": { "type": "number", "nullable": true }, "imageOverride": { "type": "string", "nullable": true }, "attributes": { "type": "object", "additionalProperties": { "type": "string" } } } }, "ReviewPaymentDto": { "type": "object", "properties": { "decision": { "type": "string", "enum": [ "approve", "reject" ] }, "reason": { "type": "string", "maxLength": 500 } }, "required": [ "decision" ] }, "AdvanceFulfillmentDto": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "IN_TRANSIT", "READY", "COMPLETED" ] } }, "required": [ "status" ] }, "CancelOrderDto": { "type": "object", "properties": { "resolution": { "type": "string", "enum": [ "REFUNDED", "RETAINED", "STORE_CREDIT" ] }, "reason": { "type": "string", "maxLength": 500 } }, "required": [ "resolution" ] }, "CreateOrderItemDto": { "type": "object", "properties": { "productId": { "type": "string" }, "variantId": { "type": "string" }, "quantity": { "type": "number", "minimum": 1 } }, "required": [ "productId", "quantity" ] }, "CreateOrderDto": { "type": "object", "properties": { "deliveryMethodType": { "type": "string", "enum": [ "PICKUP", "COURIER" ] }, "pickupPointId": { "type": "string" }, "customerPhone": { "type": "string", "minLength": 6 }, "customerName": { "type": "string" }, "customerEmail": { "type": "string", "format": "email" }, "items": { "minItems": 1, "type": "array", "items": { "$ref": "#/components/schemas/CreateOrderItemDto" } } }, "required": [ "deliveryMethodType", "customerPhone", "items" ] }, "UpsertDeliveryMethodDto": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "PICKUP", "COURIER" ] }, "enabled": { "type": "boolean" }, "details": { "type": "object", "additionalProperties": true } }, "required": [ "type" ] }, "CreatePickupPointDto": { "type": "object", "properties": { "label": { "type": "string", "minLength": 1 }, "enabled": { "type": "boolean" }, "sortOrder": { "type": "number" } }, "required": [ "label" ] }, "UpdatePickupPointDto": { "type": "object", "properties": { "label": { "type": "string", "minLength": 1 }, "enabled": { "type": "boolean" }, "sortOrder": { "type": "number" } } }, "UpsertPaymentMethodDto": { "type": "object", "properties": { "method": { "type": "string", "enum": [ "YAPE", "PLIN", "TRANSFER", "CASH" ] }, "enabled": { "type": "boolean" } }, "required": [ "method" ] }, "CreateInquiryDto": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "email": { "type": "string", "format": "email" }, "company": { "type": "string" }, "inquiryType": { "type": "string" }, "message": { "type": "string", "minLength": 1 } }, "required": [ "name", "email", "message" ] }, "CreateCategoryDto": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "parentId": { "type": "string" } }, "required": [ "name" ] }, "UpdateCategoryDto": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "parentId": { "type": "string" } } }, "CreateCollectionDto": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "description": { "type": "string" } }, "required": [ "name" ] }, "CollectionResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "storeId": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "description": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "storeId", "name", "slug", "description", "createdAt" ] }, "ProductInCollectionResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "storeId": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "price": { "type": "string" }, "currency": { "type": "string" }, "images": { "type": "array", "items": { "type": "string" } }, "availableUntil": { "type": "string", "nullable": true, "format": "date-time" }, "status": { "enum": [ "DRAFT", "PUBLISHED" ], "type": "string" }, "soldOut": { "type": "boolean" }, "deletedAt": { "type": "string", "nullable": true, "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" } }, "required": [ "id", "storeId", "name", "description", "price", "currency", "images", "availableUntil", "status", "soldOut", "deletedAt", "createdAt" ] }, "CollectionProductWithProductResponseDto": { "type": "object", "properties": { "collectionId": { "type": "string" }, "productId": { "type": "string" }, "position": { "type": "number" }, "product": { "$ref": "#/components/schemas/ProductInCollectionResponseDto" } }, "required": [ "collectionId", "productId", "position", "product" ] }, "CollectionWithProductsResponseDto": { "type": "object", "properties": { "id": { "type": "string" }, "storeId": { "type": "string" }, "name": { "type": "string" }, "slug": { "type": "string" }, "description": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "products": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionProductWithProductResponseDto" } } }, "required": [ "id", "storeId", "name", "slug", "description", "createdAt", "products" ] }, "UpdateCollectionDto": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "description": { "type": "string" } } }, "AddCollectionProductDto": { "type": "object", "properties": { "productId": { "type": "string" }, "position": { "type": "number" } }, "required": [ "productId" ] }, "CollectionProductResponseDto": { "type": "object", "properties": { "collectionId": { "type": "string" }, "productId": { "type": "string" }, "position": { "type": "number" } }, "required": [ "collectionId", "productId", "position" ] }, "ReorderCollectionProductsDto": { "type": "object", "properties": { "productIds": { "type": "array", "items": { "type": "string" } } }, "required": [ "productIds" ] }, "CreateStoreSectionDto": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "COLLECTION", "BANNER", "TEXT_BLOCK" ] }, "collectionId": { "type": "string" }, "content": { "type": "object", "additionalProperties": true }, "position": { "type": "number" } }, "required": [ "type" ] }, "ReorderStoreSectionsDto": { "type": "object", "properties": { "sectionIds": { "type": "array", "items": { "type": "string" } } }, "required": [ "sectionIds" ] }, "UpdateStoreSectionDto": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "COLLECTION", "BANNER", "TEXT_BLOCK" ] }, "collectionId": { "type": "string" }, "content": { "type": "object", "additionalProperties": true }, "position": { "type": "number" } } }, "RegisterCustomerDto": { "type": "object", "properties": { "token": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 8 } }, "required": [ "token", "password" ] }, "LoginCustomerDto": { "type": "object", "properties": { "phone": { "type": "string", "minLength": 1 }, "password": { "type": "string", "minLength": 1 } }, "required": [ "phone", "password" ] }, "ForgotPasswordDto": { "type": "object", "properties": { "phone": { "type": "string", "minLength": 1 } }, "required": [ "phone" ] }, "ChangeCustomerPasswordDto": { "type": "object", "properties": { "currentPassword": { "type": "string", "minLength": 1 }, "newPassword": { "type": "string", "minLength": 8 } }, "required": [ "currentPassword", "newPassword" ] }, "UpdateCustomerProfileDto": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "email": { "type": "string", "format": "email" }, "phone": { "type": "string", "minLength": 1 } }, "required": [ "name" ] } } } }