curl --request DELETE \
--url http://localhost:8080/api/v1/catalog/{name} \
--header 'x-api-key: <api-key>'import requests
url = "http://localhost:8080/api/v1/catalog/{name}"
headers = {"x-api-key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<api-key>'}};
fetch('http://localhost:8080/api/v1/catalog/{name}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8080",
CURLOPT_URL => "http://localhost:8080/api/v1/catalog/{name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-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 := "http://localhost:8080/api/v1/catalog/{name}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("http://localhost:8080/api/v1/catalog/{name}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8080/api/v1/catalog/{name}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"detached": [
"<string>"
],
"deleted": [
"<string>"
],
"failed": [
{
"name": "<string>",
"error": "<string>"
}
]
}{
"detached": [
"<string>"
],
"deleted": [
"<string>"
],
"failed": [
{
"name": "<string>",
"error": "<string>"
}
]
}Delete a catalog (detach or cascade)
mode=detach (default) clears catalog on every member so it appears under Uncataloged, through a versioned write per member. mode=cascade deletes every member tap and pipeline, including each pipeline’s destination data, and requires confirm equal to name. Both remove every placeholder of the catalog (matched by its catalog field, or by name suffix when that field is empty). A member already moved out of name by a concurrent change is listed under failed. Not transactional: failed members are listed under failed (207). Catalog operations (rename, detach, cascade) are serialized server-side, so concurrent requests run one after another and the later one sees the earlier one’s result. Requires pipeline:delete; each member is also checked against the key’s owner and catalog scopes, and the placeholder is left untouched if any member is refused. In cascade mode, if any tap delete fails, the catalog’s pipelines are not deleted and are reported under failed.
curl --request DELETE \
--url http://localhost:8080/api/v1/catalog/{name} \
--header 'x-api-key: <api-key>'import requests
url = "http://localhost:8080/api/v1/catalog/{name}"
headers = {"x-api-key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<api-key>'}};
fetch('http://localhost:8080/api/v1/catalog/{name}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8080",
CURLOPT_URL => "http://localhost:8080/api/v1/catalog/{name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-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 := "http://localhost:8080/api/v1/catalog/{name}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("http://localhost:8080/api/v1/catalog/{name}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8080/api/v1/catalog/{name}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"detached": [
"<string>"
],
"deleted": [
"<string>"
],
"failed": [
{
"name": "<string>",
"error": "<string>"
}
]
}{
"detached": [
"<string>"
],
"deleted": [
"<string>"
],
"failed": [
{
"name": "<string>",
"error": "<string>"
}
]
}Authorizations
Optional API key for authentication (enabled via application.yaml)
Path Parameters
Catalog name. Uncataloged (any case) is refused.
Query Parameters
detach, cascade Required for mode=cascade; must equal the catalog name.
