             case let .exact(version):
                 return [
                     "kind": "exactVersion",
-                    "minimumVersion": .string(.init(version)),
+                    "version": .string(.init(version)),
                 ]
             case let .range(from, to):
                 return [

            case branch
            case minimumVersion
            case maximumVersion
        }

        public init(from decoder: Decoder) throws {

                let branch = try container.decode(String.self, forKey: .branch)
                self = .branch(branch)
            } else if kind == "exactVersion" {
                let version = try container.decode(String.self, forKey: .version)
                self = .exact(version)
            } else if kind == "versionRange" {
                let minimumVersion = try container.decode(String.self, forKey: .minimumVersion)
