curl --request POST \
--url https://developer.synq.io/api/sql-insights/v1/details:batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"paths": [
"<string>"
],
"includeJoins": true
}
'import requests
url = "https://developer.synq.io/api/sql-insights/v1/details:batch"
payload = {
"paths": ["<string>"],
"includeJoins": True
}
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({paths: ['<string>'], includeJoins: true})
};
fetch('https://developer.synq.io/api/sql-insights/v1/details:batch', 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://developer.synq.io/api/sql-insights/v1/details:batch",
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([
'paths' => [
'<string>'
],
'includeJoins' => true
]),
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://developer.synq.io/api/sql-insights/v1/details:batch"
payload := strings.NewReader("{\n \"paths\": [\n \"<string>\"\n ],\n \"includeJoins\": true\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://developer.synq.io/api/sql-insights/v1/details:batch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"paths\": [\n \"<string>\"\n ],\n \"includeJoins\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer.synq.io/api/sql-insights/v1/details:batch")
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 \"paths\": [\n \"<string>\"\n ],\n \"includeJoins\": true\n}"
response = http.request(request)
puts response.read_body{
"sqlDetails": {}
}BatchSqlDetails
BatchSqlDetails returns the SQL details for each of the requested entities, keyed by their synq path: the set of detected SQL constructs and, when the request asks for them, the joins that building the entity makes. Every requested path appears in the response, including a path with no SQL details and a path matching no entity; both are returned with an empty set of constructs and no joins.
curl --request POST \
--url https://developer.synq.io/api/sql-insights/v1/details:batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"paths": [
"<string>"
],
"includeJoins": true
}
'import requests
url = "https://developer.synq.io/api/sql-insights/v1/details:batch"
payload = {
"paths": ["<string>"],
"includeJoins": True
}
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({paths: ['<string>'], includeJoins: true})
};
fetch('https://developer.synq.io/api/sql-insights/v1/details:batch', 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://developer.synq.io/api/sql-insights/v1/details:batch",
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([
'paths' => [
'<string>'
],
'includeJoins' => true
]),
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://developer.synq.io/api/sql-insights/v1/details:batch"
payload := strings.NewReader("{\n \"paths\": [\n \"<string>\"\n ],\n \"includeJoins\": true\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://developer.synq.io/api/sql-insights/v1/details:batch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"paths\": [\n \"<string>\"\n ],\n \"includeJoins\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer.synq.io/api/sql-insights/v1/details:batch")
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 \"paths\": [\n \"<string>\"\n ],\n \"includeJoins\": true\n}"
response = http.request(request)
puts response.read_body{
"sqlDetails": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
BatchSqlDetailsRequest requests SQL details for a set of entities.
The synq paths of the entities to fetch SQL details for. A synq path
uniquely identifies an entity and can be obtained from the synq_paths
field of other entity responses.
Set to return each entity's joins in SqlDetails.joins. Off by default:
most callers want only the constructs, and an entity whose SQL joins many
tables carries every column it joins on.
Response
Success
BatchSqlDetailsResponse maps each requested synq path to its SQL details.
SQL details keyed by synq path, exactly as requested. Every requested path is present; a path with no SQL details has an empty set of constructs and no joins.
Show child attributes
Show child attributes