{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/zenml/main/json-schema/zenml-pipeline-schema.json",
  "title": "ZenML Pipeline",
  "description": "A ZenML pipeline definition representing a directed acyclic graph (DAG) of steps that can be executed against a registered ZenML stack.",
  "type": "object",
  "required": ["id", "name"],
  "properties": {
    "id": { "type": "string", "format": "uuid", "description": "Unique pipeline identifier" },
    "name": { "type": "string", "description": "Pipeline name (unique within the project)" },
    "description": { "type": "string" },
    "version": { "type": "string", "description": "Semantic or numeric version string" },
    "spec": {
      "type": "object",
      "description": "Pipeline configuration including steps, parameters, and DAG edges",
      "additionalProperties": true
    },
    "project_id": { "type": "string", "format": "uuid" },
    "user_id": { "type": "string", "format": "uuid" },
    "created": { "type": "string", "format": "date-time" },
    "updated": { "type": "string", "format": "date-time" }
  }
}
