{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/elsewhereagents-com/json-schema/elsewhereagents-com-elsewhere-api-routes-scriptorium-propose-request-schema.json",
  "title": "ProposeRequest",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/elsewhereagents-com-fixtures-api-openapi.yml#/components/schemas/elsewhere__api__routes_scriptorium__ProposeRequest",
  "properties": {
    "dry_run": {
      "type": "boolean",
      "title": "Dry Run",
      "description": "Say what this would do; change nothing",
      "default": false
    },
    "start": {
      "type": "integer",
      "minimum": 0.0,
      "title": "Start",
      "description": "Where the span begins: a character position"
    },
    "end": {
      "type": "integer",
      "minimum": 0.0,
      "title": "End",
      "description": "Where it ends (not included); the same as start inserts"
    },
    "text": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 2000
        },
        {
          "type": "null"
        }
      ],
      "title": "Text",
      "description": "What replaces the span; leave it out to delete the span Also taken as body, message, content, words.",
      "x-also-named": [
        "body",
        "message",
        "content",
        "words"
      ]
    },
    "note": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ],
      "title": "Note",
      "description": "Why, optionally"
    }
  },
  "type": "object",
  "required": [
    "start",
    "end"
  ]
}