curl --request POST \
--url https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"assets_ids": [
"<string>"
]
}
'import requests
url = "https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete"
payload = { "assets_ids": ["<string>"] }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({assets_ids: ['<string>']})
};
fetch('https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'assets_ids' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete"
payload := strings.NewReader("{\n \"assets_ids\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assets_ids\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assets_ids\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyDelete asset(s)
Delete one or more assets.
This is a soft delete of the record and a hard delete of the content: the row is kept and flagged is_deleted,
while the stored file (plus any video thumbnail and resized derivative) is removed from GCS and content,
content_url and thumbnail_url are cleared. Deleted assets are excluded from the list endpoint.
The row is retained because existing evaluations still reference it, so an evaluation’s history survives the deletion of its assets — but the asset’s content is gone and cannot be recovered.
Required permission: write:asset_evaluation.
curl --request POST \
--url https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"assets_ids": [
"<string>"
]
}
'import requests
url = "https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete"
payload = { "assets_ids": ["<string>"] }
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({assets_ids: ['<string>']})
};
fetch('https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'assets_ids' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete"
payload := strings.NewReader("{\n \"assets_ids\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"assets_ids\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shareofmodel.ai/v1/organizations/{organization_id}/workspaces/{workspace_id}/assets/delete")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"assets_ids\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Path Parameters
A UUID string identifying the organization.
A UUID string identifying the workspace.
Body
Base for all the serializers in the assets app
IDs of assets. At least one id is required
1Response
No content
Was this page helpful?