Restofy Docs
Recetas POST

Listar recetas

POST /api/recipes/list-recipes

Descripción

Listado paginado de recetas públicas con búsqueda.

Detalles

Devuelve el listado paginado de recetas públicas del catálogo incluyendo cantidad de ingredientes, conteo de uso por productos y modificadores, nombre del primer producto/modificador que la usa y estado. Permite buscar por nombre o nombre interno.

Permisos requeridos

catalog.module

Request

Nombre Tipo Requerido Reglas
query string No
max:100

Paginación

defaultLimit 25
maxLimit 100
allowedSorts name, createdAt
defaultSort name
defaultDir asc
withTotal true

Ejemplo de request

curl -X POST https://app.restofy.co/api/recipes/list-recipes \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <accessToken>"

Los valores son demo: reemplázalos por datos reales del negocio.

Ejemplo de respuesta

Actualizado: 2026-07-15T13:20:48Z
HTTP 200

Request

[]

Response

{
    "success": true,
    "message": "Operación realizada correctamente",
    "data": {
        "recipes": [
            {
                "id": 1,
                "recipeUuid": "ddbe9dc2-4e3a-11f1-97bb-5a94900d81f5",
                "name": "Ajiaco Bogotano",
                "internalName": "recipe-ajiaco",
                "description": "Receta estándar ajiaco por porción individual",
                "quantity": "1.0000",
                "unitId": 8,
                "unitName": "Porción",
                "unitSymbol": "por",
                "isActive": 1,
                "linesCount": 5,
                "usedByProducts": 1,
                "usedByModifiers": 0,
                "usedByFirstName": "Ajiaco Bogotano"
            },
            {
                "id": 5,
                "recipeUuid": "ddbea1c4-4e3a-11f1-97bb-5a94900d81f5",
                "name": "Café Latte Base",
                "internalName": "recipe-latte",
                "description": "Base de café latte: espresso + leche vaporizada",
                "quantity": "1.0000",
                "unitId": 8,
                "unitName": "Porción",
                "unitSymbol": "por",
                "isActive": 1,
                "linesCount": 2,
                "usedByProducts": 1,
                "usedByModifiers": 0,
                "usedByFirstName": "Café Latte"
            },
            {
                "id": 2,
                "recipeUuid": "ddbea0ea-4e3a-11f1-97bb-5a94900d81f5",
                "name": "Cazuela de Mariscos",
                "internalName": "recipe-cazuela",
                "description": "Cazuela de mariscos en salsa de coco por porción",
                "quantity": "1.0000",
                "unitId": 8,
                "unitName": "Porción",
                "unitSymbol": "por",
                "isActive": 1,
                "linesCount": 5,
                "usedByProducts": 1,
                "usedByModifiers": 0,
                "usedByFirstName": "Cazuela de Mariscos"
            },
            {
                "id": 4,
                "recipeUuid": "ddbea189-4e3a-11f1-97bb-5a94900d81f5",
                "name": "Ensalada César",
                "internalName": "recipe-cesar",
                "description": "Ensalada César clásica por porción",
                "quantity": "1.0000",
                "unitId": 8,
                "unitName": "Porción",
                "unitSymbol": "por",
                "isActive": 1,
                "linesCount": 4,
                "usedByProducts": 1,
                "usedByModifiers": 0,
                "usedByFirstName": "Ensalada César"
            },
            {
                "id": 3,
                "recipeUuid": "ddbea14a-4e3a-11f1-97bb-5a94900d81f5",
                "name": "Tres Leches",
                "internalName": "recipe-tres-leches",
                "description": "Postre tres leches por porción de 200g",
                "quantity": "1.0000",
                "unitId": 8,
                "unitName": "Porción",
                "unitSymbol": "por",
                "isActive": 1,
                "linesCount": 4,
                "usedByProducts": 1,
                "usedByModifiers": 0,
                "usedByFirstName": "Tres Leches"
            }
        ],
        "pagination": {
            "page": 1,
            "limit": 25,
            "total": 5,
            "totalPages": 1,
            "hasNext": false,
            "hasPrev": false
        }
    }
}