# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Prisma Client Aggregation API version: 1.0.0 extends: openapi/prisma-aggregation-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 3 - target: $.paths['/{model}/count'].get update: x-apievangelist-phrasing: intent: Count records that match a filter effect: read questions: - How many rows in my User model match a given filter? - Can I see how many non-null values each field has in a model? instructions: - text: Count the {model} records where {where}. slots: model: path.model where: query.where - text: Count non-null values of {select} in {model}. slots: select: query.select model: path.model method: generated generated: '2026-09-26' - target: $.paths['/{model}/aggregate'].get update: x-apievangelist-phrasing: intent: Compute sums, averages, min and max on a model effect: read questions: - What's the average and total of a numeric column across my records? - Can I get the minimum and maximum value of a field in one call? instructions: - text: Get the average of {avg_fields} across all {model} rows. slots: avg_fields: query._avg model: path.model - text: Sum {sum_fields} for {model} records matching {where}. slots: sum_fields: query._sum model: path.model where: query.where - text: Find the lowest {min_fields} and highest {max_fields} in {model}. slots: min_fields: query._min max_fields: query._max model: path.model method: generated generated: '2026-09-26' - target: $.paths['/{model}/groupBy'].get update: x-apievangelist-phrasing: intent: Group records and aggregate each group effect: read questions: - How do I group my orders by status and total each group? - Can I drop groups whose aggregate doesn't meet a threshold? - Which order do grouped results come back in, and can I sort them? instructions: - text: Group {model} records by {by}. slots: model: path.model by: query.by - text: Group {model} by {by}, keeping only groups where {having}. slots: model: path.model by: query.by having: query.having - text: Break {model} down by {by} and sort the groups by {orderBy}. slots: model: path.model by: query.by orderBy: query.orderBy method: generated generated: '2026-09-26'