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

import Foundation
import Get
import URLQueryEncoder

extension Paths.Clips {
    public var delete: Delete {
        Delete(path: path + "/delete")
    }

    public struct Delete {
        /// Path: `/api/clips/delete`
        public let path: String

        /// Delete Clips
        ///
        /// Handle the deletion of clips specified by their IDs.
        /// 
        /// This endpoint accepts a POST request with a JSON body containing a list
        /// of clip IDs. It will then move these clips to a designated 'deleted' folder
        /// on S3, effectively marking them as deleted in the system.
        /// 
        /// Args:
        ///     request (HttpRequest): The HTTP request object containing the JSON payload
        ///     with a list of clip IDs under the key 'clip_ids'.
        /// 
        /// Returns:
        ///     HttpResponse: An HTTP response with status 204 (No Content) if the clips
        ///     are successfully marked as deleted. This status indicates that the action
        ///     was successful, but there is no content to return in the response body.
        public func post(_ body: GenAPI.DeletedClipsSchema) -> Request<Void> {
            Request(path: path, method: "POST", body: body, id: "studio_api_clips_api_delete_clips")
        }
    }
}
