{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://json.schemastore.org/prisma.json",
  "additionalProperties": false,
  "definitions": {
    "subscription": {
      "description": "A piece of code that you should run.",
      "type": "object",
      "properties": {
        "query": {
          "type": "string"
        },
        "webhook": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "headers": {
                  "type": "object"
                }
              },
              "required": ["url"]
            }
          ]
        }
      },
      "required": ["query", "webhook"]
    }
  },
  "properties": {
    "datamodel": {
      "description": "Type definitions for database models, relations, enums and other types\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference",
      "type": ["string", "array"],
      "examples": ["types.prisma", "enums.prisma"],
      "uniqueItems": true,
      "items": {
        "type": "string"
      }
    },
    "secret": {
      "description": "A secure secret for the current API endpoint\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference",
      "type": "string"
    },
    "disableAuth": {
      "description": "Disable authentication for the current API endpoint\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference",
      "type": "boolean"
    },
    "generate": {
      "description": "How and where generate client\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference",
      "type": "array",
      "items": {
        "title": "file",
        "description": "Files to be generated for the current API endpoint",
        "type": "object",
        "properties": {
          "generator": {
            "description": "A client name\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference",
            "type": "string",
            "enum": [
              "javascript-client",
              "typescript-client",
              "flow-client",
              "go-client",
              "graphql-schema"
            ]
          },
          "output": {
            "$ref": "https://json.schemastore.org/base.json#/definitions/path",
            "description": "An output path\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference"
          }
        }
      }
    },
    "seed": {
      "title": "seed",
      "description": "A database seed\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference",
      "type": "object",
      "properties": {
        "import": {
          "description": "Commands to run while seeding a service for the current API endpoint",
          "type": "string"
        },
        "run": {
          "description": "Instructions to run while seeding a service for the current API endpoint",
          "type": "string"
        }
      }
    },
    "subscriptions": {
      "description": "Server-side subscriptions\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference",
      "type": "object",
      "additionalProperties": {
        "$ref": "#/definitions/subscription"
      }
    },
    "custom": {
      "title": "fields",
      "description": "Fields to use in variable interpolations via `${self:custom.field}`\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference",
      "type": "object"
    },
    "hooks": {
      "title": "hooks",
      "description": "Hooks\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference",
      "type": "object"
    },
    "endpoint": {
      "description": "An endpoint the service will be reachable at\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference",
      "type": "string"
    },
    "databaseType": {
      "description": "A relational or document database\nhttps://v1.prisma.io/docs/1.34/prisma-cli-and-configuration/prisma-yml-5cy7/#reference",
      "type": "string",
      "enum": ["relational", "document"]
    }
  },
  "required": ["datamodel"],
  "title": "JSON schema for Prisma prisma.yml files"
}
