{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Zambo workflow recipe v1",
  "description": "Versioned recipe format used by pages in the Zambo workflow library.",
  "type": "object",
  "required": [
    "format",
    "version",
    "title",
    "slug",
    "status",
    "validated_against",
    "mapping_legend",
    "client_compatibility",
    "user_inputs",
    "steps",
    "safety",
    "pricing"
  ],
  "properties": {
    "format": {
      "const": "zambo.workflow-recipe"
    },
    "version": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "slug": {
      "type": "string"
    },
    "status": {
      "enum": [
        "illustrative_not_executed"
      ]
    },
    "mapping_legend": {
      "type": "object"
    },
    "user_inputs": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "steps": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "action",
          "arguments_template",
          "authorization",
          "expected_output",
          "stop_and_resume"
        ]
      }
    },
    "client_compatibility": {
      "type": "object",
      "required": [
        "protocol",
        "endpoint",
        "tested_clients",
        "note"
      ]
    },
    "safety": {
      "type": "object"
    },
    "pricing": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": true
}
