Delete Component
curl --request DELETE \
--url https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}import requests
url = "https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}"
response = requests.delete(url)
print(response.text)const options = {method: 'DELETE'};
fetch('https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}', 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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
]);
$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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
response = http.request(request)
puts response.read_bodyComponents
Delete Component
Delete a component
DELETE
/
app
/
v1
/
organizations
/
{organizationId}
/
projects
/
{projectId}
/
components
/
{id}
Delete Component
curl --request DELETE \
--url https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}import requests
url = "https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}"
response = requests.delete(url)
print(response.text)const options = {method: 'DELETE'};
fetch('https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}', 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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
]);
$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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
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.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/app/v1/organizations/{organizationId}/projects/{projectId}/components/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
response = http.request(request)
puts response.read_bodyPath Parameters
Organization ID
Project ID
Component ID
Components referenced by packages cannot be deleted. Use the Update Status endpoint to set status to
deleted instead, which prevents future use while maintaining package references.Response
{
"message": "Component successfully deleted",
"id": "c123"
}
Error Responses
Component In Use by Draft Content Types
{
"error": {
"code": "COMPONENT_IN_USE_BY_DRAFT",
"message": "Component cannot be deleted as it is used by 2 draft content type(s)",
"details": {
"contentTypes": [
{ "id": "ct123", "name": "Article" },
{ "id": "ct456", "name": "Product Page" }
]
}
}
}
Not Found
{
"error": {
"code": "NOT_FOUND",
"message": "Component not found"
}
}
Code Examples
curl -X DELETE "https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/components/c123" \
-H "Authorization: Bearer YOUR_JWT"
const response = await fetch(
'https://api.metabind.ai/app/v1/organizations/org123/projects/proj456/components/c123',
{
method: 'DELETE',
headers: {
'Authorization': 'Bearer YOUR_JWT'
}
}
);
const result = await response.json();
⌘I