import { OctosparkClient } from '@octospark/sdk'
const client = new OctosparkClient({
token: process.env.OCTOSPARK_TOKEN
})
const response = await client.slideshows.deleteSlideshow({
teamId: process.env.OCTOSPARK_TEAM_ID ?? "teamId",
contentItemId: process.env.OCTOSPARK_CONTENT_ITEM_ID ?? "contentItemId",
query: {
"expectedRevision": process.env.OCTOSPARK_EXPECTED_REVISION ?? "expectedRevision",
},
})import os
from octospark_sdk import OctosparkClient
client = OctosparkClient(token=os.environ["OCTOSPARK_TOKEN"])
response = client.slideshows.delete_slideshow(
teamId=os.environ.get("OCTOSPARK_TEAM_ID", "teamId"),
contentItemId=os.environ.get("OCTOSPARK_CONTENT_ITEM_ID", "contentItemId"),
query={
"expectedRevision": os.environ.get("OCTOSPARK_EXPECTED_REVISION", "expectedRevision"),
}
)octospark slideshows delete-slideshow \
--request '{"path":{"teamId":"teamId","contentItemId":"contentItemId"},"query":{"expectedRevision":"expectedRevision"}}'use reqwest::Client;
use std::env;
#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
let client = Client::new();
let base_url = env::var("OCTOSPARK_API_URL").unwrap_or_else(|_| "https://api.octospark.ai".to_string());
let team_id = env::var("OCTOSPARK_TEAM_ID").unwrap_or_else(|_| "teamId".to_string());
let content_item_id = env::var("OCTOSPARK_CONTENT_ITEM_ID").unwrap_or_else(|_| "contentItemId".to_string());
let expected_revision = env::var("OCTOSPARK_EXPECTED_REVISION").unwrap_or_else(|_| "expectedRevision".to_string());
let url = format!("{}/v1/teams/{}/content/slideshows/{}", base_url.trim_end_matches('/'), team_id, content_item_id);
let token = env::var("OCTOSPARK_TOKEN").expect("OCTOSPARK_TOKEN");
let mut request = client.delete(url).bearer_auth(token);
let query = [("expectedRevision", expected_revision.as_str())];
request = request.query(&query);
let response = request.send().await?;
println!("{}", response.text().await?);
Ok(())
}import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
Future<void> main() async {
final baseUrl = Platform.environment['OCTOSPARK_API_URL'] ?? 'https://api.octospark.ai';
final token = Platform.environment['OCTOSPARK_TOKEN'];
final teamId = Platform.environment['OCTOSPARK_TEAM_ID'] ?? 'teamId';
final contentItemId = Platform.environment['OCTOSPARK_CONTENT_ITEM_ID'] ?? 'contentItemId';
final expectedRevision = Platform.environment['OCTOSPARK_EXPECTED_REVISION'] ?? 'expectedRevision';
final url = '${baseUrl.replaceFirst(RegExp(r'/$'), '')}/v1/teams/$teamId/content/slideshows/$contentItemId';
final uri = Uri.parse(url).replace(queryParameters: {
'expectedRevision': expectedRevision,
});
final headers = {
'Authorization': 'Bearer $token',
};
final response = await http.delete(
uri,
headers: headers,
);
print(response.body);
}curl --request DELETE \
--url https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId} \
--header 'Authorization: Bearer <token>' \
--header 'idempotency-key: <idempotency-key>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"idempotency-key: <idempotency-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("idempotency-key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}")
.header("idempotency-key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["idempotency-key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body$headers=@{}
$headers.Add("idempotency-key", "<idempotency-key>")
$headers.Add("Authorization", "Bearer <token>")
$response = Invoke-WebRequest -Uri 'https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}' -Method DELETE -Headers $headersimport Foundation
let url = URL(string: "https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"idempotency-key": "<idempotency-key>",
"Authorization": "Bearer <token>"
]
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))using RestSharp;
var options = new RestClientOptions("https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("idempotency-key", "<idempotency-key>");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.DeleteAsync(request);
Console.WriteLine("{0}", response.Content);
using RestSharp;
var options = new RestClientOptions("https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("idempotency-key", "<idempotency-key>");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.DeleteAsync(request);
Console.WriteLine("{0}", response.Content);
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "idempotency-key: <idempotency-key>");
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "idempotency-key: <idempotency-key>");
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);val client = OkHttpClient()
val request = Request.Builder()
.url("https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}")
.delete(null)
.addHeader("idempotency-key", "<idempotency-key>")
.addHeader("Authorization", "Bearer <token>")
.build()
val response = client.newCall(request).execute(){
"contentItemId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deleted": true,
"revision": 1,
"cancelledArtifactRunIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"cancelledRenderJobIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}{
"issues": [
{
"_tag": "Pointer",
"path": [
"<string>"
],
"message": "<string>"
}
],
"message": "<string>",
"_tag": "HttpApiDecodeError"
}{
"message": "<string>",
"_tag": "Unauthorized"
}{
"message": "<string>",
"_tag": "PaymentRequired"
}{
"message": "<string>",
"_tag": "Forbidden"
}{
"message": "<string>",
"_tag": "NotFound"
}{
"message": "<string>",
"_tag": "Conflict",
"code": "<string>",
"currentRevision": 123
}{
"message": "<string>",
"code": "<string>",
"_tag": "UnprocessableEntity"
}{
"message": "<string>",
"_tag": "TooManyRequests",
"code": "<string>",
"retryAfterSeconds": 123
}{
"message": "<string>",
"_tag": "InternalError"
}Delete slideshow
Soft-delete the authoring slideshow and atomically request cancellation of its active creation and render work. Works before generation completes. Supply the current expectedRevision (zero only if no payload exists) and Idempotency-Key. Payment receipts, native sessions and retention archives remain intact; published platform posts are not deleted.
import { OctosparkClient } from '@octospark/sdk'
const client = new OctosparkClient({
token: process.env.OCTOSPARK_TOKEN
})
const response = await client.slideshows.deleteSlideshow({
teamId: process.env.OCTOSPARK_TEAM_ID ?? "teamId",
contentItemId: process.env.OCTOSPARK_CONTENT_ITEM_ID ?? "contentItemId",
query: {
"expectedRevision": process.env.OCTOSPARK_EXPECTED_REVISION ?? "expectedRevision",
},
})import os
from octospark_sdk import OctosparkClient
client = OctosparkClient(token=os.environ["OCTOSPARK_TOKEN"])
response = client.slideshows.delete_slideshow(
teamId=os.environ.get("OCTOSPARK_TEAM_ID", "teamId"),
contentItemId=os.environ.get("OCTOSPARK_CONTENT_ITEM_ID", "contentItemId"),
query={
"expectedRevision": os.environ.get("OCTOSPARK_EXPECTED_REVISION", "expectedRevision"),
}
)octospark slideshows delete-slideshow \
--request '{"path":{"teamId":"teamId","contentItemId":"contentItemId"},"query":{"expectedRevision":"expectedRevision"}}'use reqwest::Client;
use std::env;
#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
let client = Client::new();
let base_url = env::var("OCTOSPARK_API_URL").unwrap_or_else(|_| "https://api.octospark.ai".to_string());
let team_id = env::var("OCTOSPARK_TEAM_ID").unwrap_or_else(|_| "teamId".to_string());
let content_item_id = env::var("OCTOSPARK_CONTENT_ITEM_ID").unwrap_or_else(|_| "contentItemId".to_string());
let expected_revision = env::var("OCTOSPARK_EXPECTED_REVISION").unwrap_or_else(|_| "expectedRevision".to_string());
let url = format!("{}/v1/teams/{}/content/slideshows/{}", base_url.trim_end_matches('/'), team_id, content_item_id);
let token = env::var("OCTOSPARK_TOKEN").expect("OCTOSPARK_TOKEN");
let mut request = client.delete(url).bearer_auth(token);
let query = [("expectedRevision", expected_revision.as_str())];
request = request.query(&query);
let response = request.send().await?;
println!("{}", response.text().await?);
Ok(())
}import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
Future<void> main() async {
final baseUrl = Platform.environment['OCTOSPARK_API_URL'] ?? 'https://api.octospark.ai';
final token = Platform.environment['OCTOSPARK_TOKEN'];
final teamId = Platform.environment['OCTOSPARK_TEAM_ID'] ?? 'teamId';
final contentItemId = Platform.environment['OCTOSPARK_CONTENT_ITEM_ID'] ?? 'contentItemId';
final expectedRevision = Platform.environment['OCTOSPARK_EXPECTED_REVISION'] ?? 'expectedRevision';
final url = '${baseUrl.replaceFirst(RegExp(r'/$'), '')}/v1/teams/$teamId/content/slideshows/$contentItemId';
final uri = Uri.parse(url).replace(queryParameters: {
'expectedRevision': expectedRevision,
});
final headers = {
'Authorization': 'Bearer $token',
};
final response = await http.delete(
uri,
headers: headers,
);
print(response.body);
}curl --request DELETE \
--url https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId} \
--header 'Authorization: Bearer <token>' \
--header 'idempotency-key: <idempotency-key>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"idempotency-key: <idempotency-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("idempotency-key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}")
.header("idempotency-key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["idempotency-key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body$headers=@{}
$headers.Add("idempotency-key", "<idempotency-key>")
$headers.Add("Authorization", "Bearer <token>")
$response = Invoke-WebRequest -Uri 'https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}' -Method DELETE -Headers $headersimport Foundation
let url = URL(string: "https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}")!
var request = URLRequest(url: url)
request.httpMethod = "DELETE"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"idempotency-key": "<idempotency-key>",
"Authorization": "Bearer <token>"
]
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))using RestSharp;
var options = new RestClientOptions("https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("idempotency-key", "<idempotency-key>");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.DeleteAsync(request);
Console.WriteLine("{0}", response.Content);
using RestSharp;
var options = new RestClientOptions("https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("idempotency-key", "<idempotency-key>");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.DeleteAsync(request);
Console.WriteLine("{0}", response.Content);
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "idempotency-key: <idempotency-key>");
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_WRITEDATA, stdout);
curl_easy_setopt(hnd, CURLOPT_URL, "https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "idempotency-key: <idempotency-key>");
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);val client = OkHttpClient()
val request = Request.Builder()
.url("https://api-staging.octospark.ai/v1/teams/{teamId}/content/slideshows/{contentItemId}")
.delete(null)
.addHeader("idempotency-key", "<idempotency-key>")
.addHeader("Authorization", "Bearer <token>")
.build()
val response = client.newCall(request).execute(){
"contentItemId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"deleted": true,
"revision": 1,
"cancelledArtifactRunIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"cancelledRenderJobIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}{
"issues": [
{
"_tag": "Pointer",
"path": [
"<string>"
],
"message": "<string>"
}
],
"message": "<string>",
"_tag": "HttpApiDecodeError"
}{
"message": "<string>",
"_tag": "Unauthorized"
}{
"message": "<string>",
"_tag": "PaymentRequired"
}{
"message": "<string>",
"_tag": "Forbidden"
}{
"message": "<string>",
"_tag": "NotFound"
}{
"message": "<string>",
"_tag": "Conflict",
"code": "<string>",
"currentRevision": 123
}{
"message": "<string>",
"code": "<string>",
"_tag": "UnprocessableEntity"
}{
"message": "<string>",
"_tag": "TooManyRequests",
"code": "<string>",
"retryAfterSeconds": 123
}{
"message": "<string>",
"_tag": "InternalError"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
a string at most 200 character(s) long
1 - 200Path Parameters
Team (workspace) id (UUID). Discover ids via the list teams endpoint or the agent context.
Slideshow content item id (UUID), as returned by createSlideshow, createSlideshowGeneration, or listSlideshows.
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$Query Parameters
a string to be decoded into a number
Response
DeleteSlideshowResponse
a Universally Unique Identifier
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$true a non-negative number
x >= 0a Universally Unique Identifier
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$a Universally Unique Identifier
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$