curl --request POST \
--url http://localhost:8080/api/v1/catalog/{name}/enable-ordered \
--header 'x-api-key: <api-key>'import requests
url = "http://localhost:8080/api/v1/catalog/{name}/enable-ordered"
headers = {"x-api-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-api-key': '<api-key>'}};
fetch('http://localhost:8080/api/v1/catalog/{name}/enable-ordered', 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}/enable-ordered",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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}/enable-ordered"
req, _ := http.NewRequest("POST", 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.post("http://localhost:8080/api/v1/catalog/{name}/enable-ordered")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8080/api/v1/catalog/{name}/enable-ordered")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"jobId": "<string>",
"catalog": "<string>",
"plan": {}
}Enable a catalog's taps in dependency order
Starts one server-side job that walks the catalog’s enable order (see GET /api/v1/catalog/{name}/enable-order) level by level, one tap at a time. Per tap: if any of its dependencies failed, was skipped or cancelled, or has not landed data, the tap is skipped with the reason; otherwise it is tested when it has no passing test (a failed test marks it failed), enabled (the test-before-cron gate applies; a refusal marks it failed with that text), given one real run (an error or zero records marks it failed) and the job waits until the run’s pipeline loads have finished (success/warning = landed, error = failed, no finish within datris.catalog.enableWaitMs, default 30 minutes = failed). A tap that was already enabled with landed data is not re-run. No request body. Requires tap:run; the key must also hold tap:update and tap:run for every member tap (owner and catalog scope), otherwise 403 and nothing starts. Agent policy action tap:run:enable-ordered (inherits tap:run): an approval covers the whole job.
curl --request POST \
--url http://localhost:8080/api/v1/catalog/{name}/enable-ordered \
--header 'x-api-key: <api-key>'import requests
url = "http://localhost:8080/api/v1/catalog/{name}/enable-ordered"
headers = {"x-api-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-api-key': '<api-key>'}};
fetch('http://localhost:8080/api/v1/catalog/{name}/enable-ordered', 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}/enable-ordered",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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}/enable-ordered"
req, _ := http.NewRequest("POST", 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.post("http://localhost:8080/api/v1/catalog/{name}/enable-ordered")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8080/api/v1/catalog/{name}/enable-ordered")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"jobId": "<string>",
"catalog": "<string>",
"plan": {}
}Authorizations
Optional API key for authentication (enabled via application.yaml)
Path Parameters
Catalog name. Uncataloged (any case) is refused.
