> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://fastpix.com/docs/cloud-playout-api/loop-programs/delete-cloud-playout-program/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://fastpix.com/_mcp/server. # Delete a program DELETE https://api.fastpix.com/v1/cloud-playout/channels/{channelId}/programs/{programId} This endpoint deletes a program from a Cloud Playout loop channel, together with the content that was added to it. The channel's remaining programs keep their order and the loop continues without the deleted block. This action cannot be undone. #### How it works 1. Make a DELETE request to this endpoint, replacing `{channelId}` and `{programId}` with the UUIDs of the channel and the program. 2. FastPix removes the program along with the items in it. Any media that was split into segments for the program is cleaned up as well. 3. The response confirms that the program was deleted. The media assets the program referenced are not affected and stay in your workspace, as do the overlays and fillers it used. #### When a program can be deleted On a channel that is not yet on air, a program can be deleted at any time. On a channel that is on air, a program cannot be deleted while it is playing or is about to play, and it cannot be deleted while any item on the channel is close to finishing. Wait for the channel to move past that point and try again. #### Example A broadcaster drops a seasonal block from a running channel, choosing a moment when that block is not on air and no item is about to end. Reference: https://fastpix.com/docs/cloud-playout-api/loop-programs/delete-cloud-playout-program ## Authentication - `Authorization` header (basic auth, required) — FastPix APIs are secured with Basic Authentication. Use your Access Token ID as the username and Secret Key as the password in the Authorization header of each API request. * Username: Access Token ID * Password: Secret Key Activate your FastPix account to generate your API credentials. See the guide here ## Request ### Path parameters - `channelId` (string, required) — The unique identifier of the loop channel the program belongs to. - `programId` (string, required) — The unique identifier of the program, returned by FastPix when the program was created. ## Response ### 200 Program deleted successfully - `success` (boolean, optional) — Shows the request status. Returns true for success and false for failure. ## Examples **Response** ```json { "success": true } ``` **SDK Code** ```python import requests url = "https://api.fastpix.com/v1/cloud-playout/channels/cc99cae6-56b4-46ab-9f4a-8b2462d8137c/programs/d85083a0-e935-4c29-9c32-6720bdc9b22f" response = requests.delete(url, auth=("", "")) print(response.json()) ``` ```javascript const url = 'https://api.fastpix.com/v1/cloud-playout/channels/cc99cae6-56b4-46ab-9f4a-8b2462d8137c/programs/d85083a0-e935-4c29-9c32-6720bdc9b22f'; const credentials = btoa(":"); const options = {method: 'DELETE', headers: {Authorization: `Basic ${credentials}`}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.fastpix.com/v1/cloud-playout/channels/cc99cae6-56b4-46ab-9f4a-8b2462d8137c/programs/d85083a0-e935-4c29-9c32-6720bdc9b22f" req, _ := http.NewRequest("DELETE", url, nil) req.SetBasicAuth("", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.fastpix.com/v1/cloud-playout/channels/cc99cae6-56b4-46ab-9f4a-8b2462d8137c/programs/d85083a0-e935-4c29-9c32-6720bdc9b22f") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Delete.new(url) request.basic_auth("", "") response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.delete("https://api.fastpix.com/v1/cloud-playout/channels/cc99cae6-56b4-46ab-9f4a-8b2462d8137c/programs/d85083a0-e935-4c29-9c32-6720bdc9b22f") .basicAuth("", "") .asString(); ``` ```php request('DELETE', 'https://api.fastpix.com/v1/cloud-playout/channels/cc99cae6-56b4-46ab-9f4a-8b2462d8137c/programs/d85083a0-e935-4c29-9c32-6720bdc9b22f', [ 'headers' => [ ], 'auth' => ['', ''], ]); echo $response->getBody(); ``` ```csharp using RestSharp; using RestSharp.Authenticators; var client = new RestClient("https://api.fastpix.com/v1/cloud-playout/channels/cc99cae6-56b4-46ab-9f4a-8b2462d8137c/programs/d85083a0-e935-4c29-9c32-6720bdc9b22f"); client.Authenticator = new HttpBasicAuthenticator("", ""); var request = new RestRequest(Method.DELETE); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let credentials = Data(":".utf8).base64EncodedString() let headers = ["Authorization": "Basic \(credentials)"] let request = NSMutableURLRequest(url: NSURL(string: "https://api.fastpix.com/v1/cloud-playout/channels/cc99cae6-56b4-46ab-9f4a-8b2462d8137c/programs/d85083a0-e935-4c29-9c32-6720bdc9b22f")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "DELETE" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` > The single API stack for video: upload, encode, stream, secure, and analyze video at any scale. Explore guides, API references, and SDKs.