{
  "$id": "https://schemas.ump.dev/v1/transition-request.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "context": {
      "additionalProperties": true,
      "title": "Context",
      "type": "object"
    },
    "on_gate_fail": {
      "anyOf": [
        {
          "enum": [
            "fallback",
            "strict"
          ],
          "type": "string"
        },
        {
          "patternProperties": {
            "^(\\*|G-[A-Z]+-[0-9]{2})$": {
              "enum": [
                "fallback",
                "strict"
              ],
              "type": "string"
            }
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "On Gate Fail"
    },
    "reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Reason"
    },
    "to": {
      "enum": [
        "draft",
        "checks_running",
        "checks_passed",
        "checks_failed",
        "awaiting_approval",
        "validated",
        "rejected",
        "deprecated"
      ],
      "title": "To",
      "type": "string"
    }
  },
  "required": [
    "to"
  ],
  "title": "TransitionRequest",
  "type": "object"
}
