// Generated by Create API
// https://github.com/CreateAPI/CreateAPI

import Foundation
import Get
import URLQueryEncoder

extension Paths.Clips.WithClipId {
    public var setRemixType: SetRemixType {
        SetRemixType(path: path + "/set_remix_type")
    }

    public struct SetRemixType {
        /// Path: `/api/clips/{clip_id}/set_remix_type`
        public let path: String

        /// Set Remix Type
        ///
        /// Set the remix type for a clip.
        /// 
        /// Args:
        ///     request: The HTTP request.
        ///     clip_id: The ID of the clip to update.
        ///     data: A dictionary containing 'remix' string field.
        /// 
        /// Returns:
        ///     HttpResponse: 204 No Content on success.
        public func post(data: Data) -> Request<Void> {
            Request(path: path, method: "POST", query: makePostQuery(data), id: "studio_api_clips_api_set_remix_type")
        }

        private func makePostQuery(_ data: Data) -> [(String, String?)] {
            let encoder = URLQueryEncoder()
            encoder.encode(data, forKey: "data")
            return encoder.items
        }

        public typealias Data = [String: AnyJSON]
    }
}
