Save SQL as a query
curl --request POST \
--url https://api.example.com/api/dataeng/query \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"job_name": "<string>",
"sql": "<string>",
"federated": false
}
'import requests
url = "https://api.example.com/api/dataeng/query"
payload = {
"job_name": "<string>",
"sql": "<string>",
"federated": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({job_name: '<string>', sql: '<string>', federated: false})
};
fetch('https://api.example.com/api/dataeng/query', 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/api/dataeng/query",
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([
'job_name' => '<string>',
'sql' => '<string>',
'federated' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.example.com/api/dataeng/query"
payload := strings.NewReader("{\n \"job_name\": \"<string>\",\n \"sql\": \"<string>\",\n \"federated\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/api/dataeng/query")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"job_name\": \"<string>\",\n \"sql\": \"<string>\",\n \"federated\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/dataeng/query")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"job_name\": \"<string>\",\n \"sql\": \"<string>\",\n \"federated\": false\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"query": "<string>",
"editable_sql": "<string>",
"preview": {
"start": 123,
"row_count": 123,
"columns": [
"<string>"
],
"next_start": 123,
"data": [
[
"<unknown>"
]
]
},
"jobs_updated": [
{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_name": "<string>",
"schedule": "<string>",
"airflow_url": "<string>",
"error": "<string>"
}
],
"jobs_failed": [
{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_name": "<string>",
"schedule": "<string>",
"airflow_url": "<string>",
"error": "<string>"
}
]
}Engineer
Save SQL as a query
Save Trino SQL you wrote as a data engineering query you own, without running the crew. The SQL is previewed first; nothing is saved if it fails.
POST
/
api
/
dataeng
/
query
Save SQL as a query
curl --request POST \
--url https://api.example.com/api/dataeng/query \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"job_name": "<string>",
"sql": "<string>",
"federated": false
}
'import requests
url = "https://api.example.com/api/dataeng/query"
payload = {
"job_name": "<string>",
"sql": "<string>",
"federated": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({job_name: '<string>', sql: '<string>', federated: false})
};
fetch('https://api.example.com/api/dataeng/query', 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/api/dataeng/query",
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([
'job_name' => '<string>',
'sql' => '<string>',
'federated' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.example.com/api/dataeng/query"
payload := strings.NewReader("{\n \"job_name\": \"<string>\",\n \"sql\": \"<string>\",\n \"federated\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.example.com/api/dataeng/query")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"job_name\": \"<string>\",\n \"sql\": \"<string>\",\n \"federated\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/dataeng/query")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"job_name\": \"<string>\",\n \"sql\": \"<string>\",\n \"federated\": false\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"query": "<string>",
"editable_sql": "<string>",
"preview": {
"start": 123,
"row_count": 123,
"columns": [
"<string>"
],
"next_start": 123,
"data": [
[
"<unknown>"
]
]
},
"jobs_updated": [
{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_name": "<string>",
"schedule": "<string>",
"airflow_url": "<string>",
"error": "<string>"
}
],
"jobs_failed": [
{
"job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"job_name": "<string>",
"schedule": "<string>",
"airflow_url": "<string>",
"error": "<string>"
}
]
}Authorizations
OAuth2AuthorizationCodeBearerAPIKeyHeader
The access token received from the authorization server in the OAuth 2.0 flow.
Body
application/json
Response
Successful Response
The outcome of editing a data-engineering query.
The SQL now stored.
Show child attributes
Show child attributes
Scheduled jobs whose DAG now runs the new SQL.
Show child attributes
Show child attributes
Scheduled jobs still running the OLD SQL because their DAG could not be rewritten.
Show child attributes
Show child attributes
Was this page helpful?

