# Filter products Returns a list of products. Endpoint: POST /products/filter Version: 1.0 ## Header parameters: - `x-api-key` (string, required) Api key provided on integrations tab in Easyflow platform. - `x-api-secret` (string, required) Api Secret provided on integrations tab in Easyflow platform. - `business-id` (string, required) Business Identifier ## Query parameters: - `page` (string, required) Page number to access - `limit` (string, required) Number of items to be loaded per page ## Request fields (application/json): - `status` (string) Filter by the specified status, such as: draft, available, unavailable - `type` (string) Filter by the specified type, such as: Online-Course, Mentoring, Consultancy, Subscription, Community, Online-Event, Face-to-face-Event, E-Book, Downloadable-File, App, Physical-Product, Others, Services - `productIds` (array) - `createdAt` (object) - `createdAt.startsAt` (string) - `createdAt.endsAt` (string) - `updatedAt` (object) ## Response 200 fields (application/json): - `statusCode` (integer) Example: 200 - `data` (object) - `data.docs` (array) - `data.docs.id` (string) - `data.docs.name` (string) - `data.docs.description` (string) - `data.docs.status` (string) status returning: draft, available, unavailable - `data.docs.type` (string) type returning: Online-Course, Mentoring, Consultancy, Subscription, Community, Online-Event, Face-to-face-Event, E-Book, Downloadable-File, App, Physical-Product, Others, Services - `data.docs.businessId` (string) - `data.docs.userId` (string) - `data.docs.image` (object) - `data.docs.image.path` (string) - `data.docs.image.url` (string) - `data.docs.image.isPublic` (boolean) - `data.docs.image.extension` (string) - `data.docs.createdAt` (string) - `data.docs.updatedAt` (string) - `data.docs.supportContact` (object) - `data.docs.supportContact.email` (string) - `data.docs.supportContact.validated` (boolean) - `data.docs.categories` (array) - `data.limit` (integer) - `data.currentPage` (integer) - `data.nextPage` (integer) - `data.totalPages` (integer) - `data.totalDocs` (integer) - `data.hasNext` (boolean) ## Response 400 fields (application/json): - `message` (string) Invalid param: [] Example: "Invalid param: []" - `error` (string) Bad Request Example: "Bad Request" - `statusCode` (integer) 400 Example: 400 ## Response 401 fields (application/json): - `message` (string) Invalid field Example: "Unauthorized" - `error` (string) Unauthorized Example: "Unauthorized" - `statusCode` (integer) 401 Example: 401 ## Response 403 fields (application/json): - `message` (string) Forbidden resource Example: "Forbidden resource" - `error` (string) Forbidden Example: "Forbidden" - `statusCode` (integer) 403 Example: 403 ## Response 500 fields (application/json): - `message` (string) Internal server error Example: "Internal server error" - `error` (string) Internal Server Error Example: "Internal Server Error" - `statusCode` (integer) 500 Example: 500