Transpile SQL
curl --request POST \
--url https://partner.peaka.studio/api/v1/sql/transpile/{dialect} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "SELECT * FROM catalog.schema.table WHERE id = 1"
}
'import requests
url = "https://partner.peaka.studio/api/v1/sql/transpile/{dialect}"
payload = { "query": "SELECT * FROM catalog.schema.table WHERE id = 1" }
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({query: 'SELECT * FROM catalog.schema.table WHERE id = 1'})
};
fetch('https://partner.peaka.studio/api/v1/sql/transpile/{dialect}', 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://partner.peaka.studio/api/v1/sql/transpile/{dialect}",
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([
'query' => 'SELECT * FROM catalog.schema.table WHERE id = 1'
]),
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://partner.peaka.studio/api/v1/sql/transpile/{dialect}"
payload := strings.NewReader("{\n \"query\": \"SELECT * FROM catalog.schema.table WHERE id = 1\"\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://partner.peaka.studio/api/v1/sql/transpile/{dialect}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"SELECT * FROM catalog.schema.table WHERE id = 1\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner.peaka.studio/api/v1/sql/transpile/{dialect}")
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 \"query\": \"SELECT * FROM catalog.schema.table WHERE id = 1\"\n}"
response = http.request(request)
puts response.read_body{
"result": "SELECT * FROM `catalog`.`schema`.`table` WHERE `id` = 1"
}Data -- SQL
Transpile SQL
Transpiles a SQL query from Peaka’s SQL dialect (Trino) into the specified target dialect (e.g., mysql, postgres, bigquery). Useful when you need to export or reuse queries written in Peaka in other database systems.
POST
/
sql
/
transpile
/
{dialect}
Transpile SQL
curl --request POST \
--url https://partner.peaka.studio/api/v1/sql/transpile/{dialect} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "SELECT * FROM catalog.schema.table WHERE id = 1"
}
'import requests
url = "https://partner.peaka.studio/api/v1/sql/transpile/{dialect}"
payload = { "query": "SELECT * FROM catalog.schema.table WHERE id = 1" }
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({query: 'SELECT * FROM catalog.schema.table WHERE id = 1'})
};
fetch('https://partner.peaka.studio/api/v1/sql/transpile/{dialect}', 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://partner.peaka.studio/api/v1/sql/transpile/{dialect}",
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([
'query' => 'SELECT * FROM catalog.schema.table WHERE id = 1'
]),
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://partner.peaka.studio/api/v1/sql/transpile/{dialect}"
payload := strings.NewReader("{\n \"query\": \"SELECT * FROM catalog.schema.table WHERE id = 1\"\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://partner.peaka.studio/api/v1/sql/transpile/{dialect}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"SELECT * FROM catalog.schema.table WHERE id = 1\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://partner.peaka.studio/api/v1/sql/transpile/{dialect}")
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 \"query\": \"SELECT * FROM catalog.schema.table WHERE id = 1\"\n}"
response = http.request(request)
puts response.read_body{
"result": "SELECT * FROM `catalog`.`schema`.`table` WHERE `id` = 1"
}

Authorizations
Use the Authorization header with the value 'Bearer ' to authenticate. Partner API Keys have full access; Project API Keys are limited to their project scope. Learn more: https://docs.peaka.com/api-reference/authentication
Path Parameters
Target SQL dialect to transpile into
Body
application/json
SQL query to transpile
Response
200 - application/json
Transpiled query
⌘I