{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://tylereno.me/oidf/schemas/state/transition_requested.json",
  "title": "TransitionRequestedPayload",
  "x-keel-schema-version": "1.0.0",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "subject_kind",
    "subject_id",
    "transition_id",
    "from_state",
    "to_state",
    "idempotency_key"
  ],
  "properties": {
    "subject_kind": { "type": "string", "enum": ["Deployment", "Asset"] },
    "subject_id": { "$ref": "../common/identifier.json" },
    "transition_id": { "type": "string", "minLength": 1 },
    "from_state": { "type": "string", "minLength": 1 },
    "to_state": { "type": "string", "minLength": 1 },
    "idempotency_key": { "type": "string", "minLength": 1, "maxLength": 128 },
    "cdo_revision": { "type": "integer", "minimum": 1 },
    "config_revision": { "type": "integer", "minimum": 1 }
  }
}
