Prisma · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Prisma Client CRUD API

8 actions 8 updates phrasing extends openapi/prisma-crud-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Prisma's API. It is a proposal applied on top of the contract, not a document Prisma publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 8

$.info
$.paths['/{model}'].get
$.paths['/{model}'].post
$.paths['/{model}/{id}'].get
$.paths['/{model}/{id}'].put
$.paths['/{model}/{id}'].delete
$.paths['/{model}/upsert'].post
$.paths['/{model}/first'].get

OpenAPI Overlay

Raw ↑
# 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 CRUD API
  version: 1.0.0
extends: openapi/prisma-crud-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: 7
- target: $.paths['/{model}'].get
  update:
    x-apievangelist-phrasing:
      intent: Find records with filters, sorting and paging
      effect: read
      questions:
      - How do I query records with filters, sorting and pagination?
      - Can I load related records together with the results?
      - Is there a way to return only distinct values of a field?
      instructions:
      - text: Find {model} records where {where}, ordered by {orderBy}.
        slots:
          model: path.model
          where: query.where
          orderBy: query.orderBy
      - text: Get {take} {model} records, skipping the first {skip}.
        slots:
          take: query.take
          model: path.model
          skip: query.skip
      - text: List all {model} records including {include}.
        slots:
          model: path.model
          include: query.include
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{model}'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new record
      effect: write
      questions:
      - How do I create a new record in a model?
      - Can I create related records in the same request as the parent?
      instructions:
      - text: Create a {model} record with {data}.
        slots:
          model: path.model
          data: requestBody.data
      - text: Add a new {model} with {data} and return {include}.
        slots:
          model: path.model
          data: requestBody.data
          include: requestBody.include
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{model}/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one record by its unique ID
      effect: read
      questions:
      - What's the way to fetch a single record by its ID?
      - What comes back if no record has that unique ID?
      instructions:
      - text: Get {model} record {id}.
        slots:
          model: path.model
          id: path.id
      - text: Fetch {model} {id} with {include} loaded.
        slots:
          model: path.model
          id: path.id
          include: query.include
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{model}/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a record by its ID
      effect: write
      questions:
      - Can I increment a numeric field atomically when updating a record?
      - How do I change fields on an existing record by its ID?
      instructions:
      - text: Update {model} {id} with {data}.
        slots:
          model: path.model
          id: path.id
          data: requestBody.data
      - text: Change record {id} in {model} to {data} and return {select}.
        slots:
          id: path.id
          model: path.model
          data: requestBody.data
          select: requestBody.select
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{model}/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete one record by its ID
      effect: destructive
      questions:
      - Will deleting a record cascade to its related rows?
      - Does deleting a single record return what was removed?
      instructions:
      - text: Delete {model} record {id}.
        slots:
          model: path.model
          id: path.id
      - text: Remove {id} from {model} permanently.
        slots:
          id: path.id
          model: path.model
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{model}/upsert'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a record or update it if it exists
      effect: write
      questions:
      - Can I create a record only if it doesn't exist and update it otherwise?
      - What do I need to send for an upsert?
      instructions:
      - text: Upsert a {model} where {where}, creating {create} or updating {update}.
        slots:
          model: path.model
          where: requestBody.where
          create: requestBody.create
          update: requestBody.update
      - text: If a {model} matches {where} apply {update}, else insert {create}.
        slots:
          model: path.model
          where: requestBody.where
          update: requestBody.update
          create: requestBody.create
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{model}/first'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the first record that matches a filter
      effect: read
      questions:
      - Which call returns just the first record that matches a filter?
      - Can I control which record counts as first by ordering?
      instructions:
      - text: Find the first {model} where {where}.
        slots:
          model: path.model
          where: query.where
      - text: Get the top {model} record when sorted by {orderBy}.
        slots:
          model: path.model
          orderBy: query.orderBy
      method: generated
      generated: '2026-09-26'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/prisma-crud-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.