{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://artifacts.apis.io/impri-dev/json-schema/impri-dev-create-action-body-schema.json",
  "title": "CreateActionBody",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/impri-dev-openapi.json#/components/schemas/CreateActionBody",
  "$ref": "#/$defs/CreateActionBody",
  "definitions": {
    "CreateActionBody": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "title": {
          "type": "string",
          "minLength": 1,
          "maxLength": 500,
          "pattern": "^[^\\r\\n]+$"
        },
        "preview": {
          "type": "object",
          "properties": {
            "format": {
              "type": "string",
              "enum": [
                "markdown",
                "plain",
                "diff"
              ],
              "default": "plain"
            },
            "body": {
              "type": "string",
              "maxLength": 262144
            }
          },
          "required": [
            "body"
          ],
          "additionalProperties": false
        },
        "payload": {},
        "target_url": {
          "type": "string",
          "format": "uri"
        },
        "callback_url": {
          "type": "string",
          "format": "uri"
        },
        "expires_in": {
          "type": "integer",
          "minimum": 300,
          "maximum": 2592000,
          "default": 259200
        },
        "idempotency_key": {
          "type": "string",
          "maxLength": 255
        },
        "editable": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "default": []
        },
        "idempotent": {
          "type": "boolean"
        },
        "undo": {
          "type": "string",
          "maxLength": 2000
        }
      },
      "required": [
        "kind",
        "title",
        "preview"
      ],
      "additionalProperties": false
    }
  },
  "$defs": {
    "CreateActionBody": {
      "$ref": "#/$defs/CreateActionBody",
      "definitions": {
        "CreateActionBody": {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            },
            "title": {
              "type": "string",
              "minLength": 1,
              "maxLength": 500,
              "pattern": "^[^\\r\\n]+$"
            },
            "preview": {
              "type": "object",
              "properties": {
                "format": {
                  "type": "string",
                  "enum": [
                    "markdown",
                    "plain",
                    "diff"
                  ],
                  "default": "plain"
                },
                "body": {
                  "type": "string",
                  "maxLength": 262144
                }
              },
              "required": [
                "body"
              ],
              "additionalProperties": false
            },
            "payload": {},
            "target_url": {
              "type": "string",
              "format": "uri"
            },
            "callback_url": {
              "type": "string",
              "format": "uri"
            },
            "expires_in": {
              "type": "integer",
              "minimum": 300,
              "maximum": 2592000,
              "default": 259200
            },
            "idempotency_key": {
              "type": "string",
              "maxLength": 255
            },
            "editable": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "default": []
            },
            "idempotent": {
              "type": "boolean"
            },
            "undo": {
              "type": "string",
              "maxLength": 2000
            }
          },
          "required": [
            "kind",
            "title",
            "preview"
          ],
          "additionalProperties": false
        }
      },
      "$schema": "http://json-schema.org/draft-07/schema#"
    }
  }
}