curl --request GET \
--url https://devx.{environment}.oleria.io/v1/query/saved-queries \
--header 'Authorization: Bearer <token>'import requests
url = "https://devx.{environment}.oleria.io/v1/query/saved-queries"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://devx.{environment}.oleria.io/v1/query/saved-queries', 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://devx.{environment}.oleria.io/v1/query/saved-queries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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 := "https://devx.{environment}.oleria.io/v1/query/saved-queries"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://devx.{environment}.oleria.io/v1/query/saved-queries")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://devx.{environment}.oleria.io/v1/query/saved-queries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"query_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Disabled MFA accounts",
"query_string": "SELECT account_id, mfa_status FROM oleria_account WHERE mfa_status = :status",
"model": "oleria_identity",
"created_by": {
"type": "user",
"id": "ol_a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"last_modified_by": {
"type": "user",
"id": "ol_a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"version": 3,
"created_at": "2026-06-01T10:00:00Z",
"last_modified_at": "2026-06-04T09:30:00Z",
"description": "Accounts where MFA is disabled — weekly review"
}
],
"page_info": {
"has_next_page": true,
"has_previous_page": true,
"start_cursor": "<string>",
"end_cursor": "<string>",
"total_count": 42
}
}{
"code": "QUERY_PARSE_ERROR",
"message": "Failed to parse SQL query",
"details": {
"line": 3,
"column": 15,
"hint": "Unexpected token near 'SELCT'"
},
"reasons": [
{
"code": "MUTATION_NOT_ALLOWED",
"message": "Only SELECT queries are permitted. Mutation statements are not allowed."
}
]
}{
"code": "QUERY_PARSE_ERROR",
"message": "Failed to parse SQL query",
"details": {
"line": 3,
"column": 15,
"hint": "Unexpected token near 'SELCT'"
},
"reasons": [
{
"code": "MUTATION_NOT_ALLOWED",
"message": "Only SELECT queries are permitted. Mutation statements are not allowed."
}
]
}{
"code": "QUERY_PARSE_ERROR",
"message": "Failed to parse SQL query",
"details": {
"line": 3,
"column": 15,
"hint": "Unexpected token near 'SELCT'"
},
"reasons": [
{
"code": "MUTATION_NOT_ALLOWED",
"message": "Only SELECT queries are permitted. Mutation statements are not allowed."
}
]
}{
"code": "QUERY_PARSE_ERROR",
"message": "Failed to parse SQL query",
"details": {
"line": 3,
"column": 15,
"hint": "Unexpected token near 'SELCT'"
},
"reasons": [
{
"code": "MUTATION_NOT_ALLOWED",
"message": "Only SELECT queries are permitted. Mutation statements are not allowed."
}
]
}List
Returns a paginated list of saved queries. Supports case-insensitive contains filtering, single-field sorting, and cursor pagination. All filter params combine with AND.
curl --request GET \
--url https://devx.{environment}.oleria.io/v1/query/saved-queries \
--header 'Authorization: Bearer <token>'import requests
url = "https://devx.{environment}.oleria.io/v1/query/saved-queries"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://devx.{environment}.oleria.io/v1/query/saved-queries', 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://devx.{environment}.oleria.io/v1/query/saved-queries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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 := "https://devx.{environment}.oleria.io/v1/query/saved-queries"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://devx.{environment}.oleria.io/v1/query/saved-queries")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://devx.{environment}.oleria.io/v1/query/saved-queries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"query_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Disabled MFA accounts",
"query_string": "SELECT account_id, mfa_status FROM oleria_account WHERE mfa_status = :status",
"model": "oleria_identity",
"created_by": {
"type": "user",
"id": "ol_a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"last_modified_by": {
"type": "user",
"id": "ol_a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"version": 3,
"created_at": "2026-06-01T10:00:00Z",
"last_modified_at": "2026-06-04T09:30:00Z",
"description": "Accounts where MFA is disabled — weekly review"
}
],
"page_info": {
"has_next_page": true,
"has_previous_page": true,
"start_cursor": "<string>",
"end_cursor": "<string>",
"total_count": 42
}
}{
"code": "QUERY_PARSE_ERROR",
"message": "Failed to parse SQL query",
"details": {
"line": 3,
"column": 15,
"hint": "Unexpected token near 'SELCT'"
},
"reasons": [
{
"code": "MUTATION_NOT_ALLOWED",
"message": "Only SELECT queries are permitted. Mutation statements are not allowed."
}
]
}{
"code": "QUERY_PARSE_ERROR",
"message": "Failed to parse SQL query",
"details": {
"line": 3,
"column": 15,
"hint": "Unexpected token near 'SELCT'"
},
"reasons": [
{
"code": "MUTATION_NOT_ALLOWED",
"message": "Only SELECT queries are permitted. Mutation statements are not allowed."
}
]
}{
"code": "QUERY_PARSE_ERROR",
"message": "Failed to parse SQL query",
"details": {
"line": 3,
"column": 15,
"hint": "Unexpected token near 'SELCT'"
},
"reasons": [
{
"code": "MUTATION_NOT_ALLOWED",
"message": "Only SELECT queries are permitted. Mutation statements are not allowed."
}
]
}{
"code": "QUERY_PARSE_ERROR",
"message": "Failed to parse SQL query",
"details": {
"line": 3,
"column": 15,
"hint": "Unexpected token near 'SELCT'"
},
"reasons": [
{
"code": "MUTATION_NOT_ALLOWED",
"message": "Only SELECT queries are permitted. Mutation statements are not allowed."
}
]
}Authorizations
OAuth 2.0 Client Credentials flow. The tokenUrl shown is for the production environment. For other environments, replace prod with the target environment name (e.g., auth.staging.oleria.io for staging).
Query Parameters
Case-insensitive contains over name OR description.
Case-insensitive contains over name.
Case-insensitive contains over description.
Field to sort by. query_id is always appended as a final tiebreaker for stable, deterministic ordering.
name, created_at, last_modified_at Sort direction — asc (ascending) or desc (descending).
asc, desc Page size; defaults to 15, capped at 200.
1 <= x <= 200Opaque cursor from page_info.end_cursor. Pass the value back exactly as received — do not parse or construct cursor values.
Opaque cursor from page_info.start_cursor. Pass the value back exactly as received — do not parse or construct cursor values.

