Sentio Data API
The Data API from Sentio — 25 operation(s) for data.
The Data API from Sentio — 25 operation(s) for data.
openapi: 3.0.0
info:
title: Sentio AI Data API
description: 'Sentio Open API — REST access to Sentio''s Web3 observability platform: analytics (SQL/metrics/event logs), price data, processors, dashboards, alerts, debugging/simulation (forks), and AI chat. Harvested from Sentio''s published API reference at docs.sentio.xyz/reference.'
version: '1.0'
contact:
name: Sentio
url: https://www.sentio.xyz
servers:
- url: https://api.sentio.xyz
tags:
- name: Data
paths:
/v1/analytics/{owner}/{slug}/sql/cancel_query/{executionId}:
put:
description: Cancel a SQL query by execution_id.
operationId: CancelSQLQuery
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
- in: path
name: executionId
required: true
schema:
type: string
- description: use project id if project_owner and project_slug are not provided
in: query
name: projectId
required: false
schema:
type: string
- description: version of the datasource, default to the active version if not provided
in: query
name: version
required: false
schema:
type: integer
format: int32
responses:
'200':
description: A successful response.
content:
application/json:
schema:
properties: {}
type: object
summary: Cancel SQL Query
tags:
- Data
/v1/analytics/{owner}/{slug}/sql/refreshable_materialized_view/{name}:
delete:
description: Delete a refreshable materialized view in a project.
operationId: DeleteRefreshableMaterializedView
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
- in: path
name: name
required: true
schema:
type: string
- description: use project id if project_owner and project_slug are not provided
in: query
name: projectId
required: false
schema:
type: string
responses:
'200':
description: A successful response.
content:
application/json:
schema:
properties: {}
type: object
summary: Delete Refreshable Materialized View
tags:
- Data
get:
description: Get the status of a refreshable materialized view in a project.
operationId: GetRefreshableMaterializedStatus
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
- in: path
name: name
required: true
schema:
type: string
- description: use project id if project_owner and project_slug are not provided
in: query
name: projectId
required: false
schema:
type: string
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.GetRefreshableMaterializedViewStatusResponse'
summary: Get Refreshable Materialized View Status
tags:
- Data
/v1/analytics/{owner}/{slug}/sql/execute:
post:
description: 'Execute SQL in a project. Go to "Data Studio" -> "SQL Editor", write your query and then click "Export as cURL"
.png)
Find more: https://docs.sentio.xyz/reference/data#sql-api'
externalDocs:
description: find more information here
url: https://docs.sentio.xyz/reference/data#sql-api
operationId: ExecuteSQL
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.AnalyticService.ExecuteSQLBody'
required: true
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.SyncExecuteSQLResponse'
summary: Execute SQL
tags:
- Data
/v1/analytics/{owner}/{slug}/sql/execute/async:
post:
description: Execute SQL in a project asynchronously.
operationId: ExecuteSQLAsync
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.AnalyticService.ExecuteSQLAsyncBody'
required: true
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.AsyncExecuteSQLResponse'
summary: Execute SQL by Async
tags:
- Data
/v1/metrics:
get:
operationId: GetMetrics
parameters:
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: name
required: false
schema:
type: string
- in: query
name: version
required: false
schema:
type: integer
format: int32
- in: query
name: labelLimit
required: false
schema:
type: string
format: uint64
- in: query
name: labelSearchQuery
required: false
schema:
type: string
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/metrics_service.GetMetricsResponse'
summary: Get a list of metrics in a project
tags:
- Data
/v1/analytics/sql/sharing/{id}:
get:
description: Get sharing settings for a SQL query.
operationId: GetSharingSQL
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.GetSharingSQLResponse'
summary: Get Sharing SQL
tags:
- Data
/v1/insights/{owner}/{slug}/coins:
get:
description: Get a list of coins in a project.
operationId: ListCoins
parameters:
- in: path
name: owner
required: true
schema:
type: string
- in: path
name: slug
required: true
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: version
required: false
schema:
type: integer
format: int32
- in: query
name: limit
required: false
schema:
type: integer
format: int32
- in: query
name: offset
required: false
schema:
type: integer
format: int32
- in: query
name: searchQuery
required: false
schema:
type: string
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/insights_service.ListCoinsResponse'
summary: List coins
tags:
- Data
/v1/insights/coins:
get:
description: Get a list of coins in a project.
operationId: ListCoins2
parameters:
- in: query
name: projectOwner
required: false
schema:
type: string
- in: query
name: projectSlug
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: version
required: false
schema:
type: integer
format: int32
- in: query
name: limit
required: false
schema:
type: integer
format: int32
- in: query
name: offset
required: false
schema:
type: integer
format: int32
- in: query
name: searchQuery
required: false
schema:
type: string
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/insights_service.ListCoinsResponse'
summary: List coins
tags:
- Data
/v1/analytics/{owner}/{slug}/sql/refreshable_materialized_views:
get:
description: List all refreshable materialized views in a project.
operationId: ListRefreshableMaterializedViews
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
- description: use project id if project_owner and project_slug are not provided
in: query
name: projectId
required: false
schema:
type: string
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.ListRefreshableMaterializedViewResponse'
summary: List Refreshable Materialized Views
tags:
- Data
/v1/sql/{owner}/{slug}/tables:
get:
operationId: ListTables
parameters:
- in: path
name: owner
required: true
schema:
type: string
- in: path
name: slug
required: true
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: version
required: false
schema:
type: integer
format: int32
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.ListTablesResponse'
summary: List Tables
tags:
- Data
/v1/sql/tables:
get:
operationId: ListTables2
parameters:
- in: query
name: projectOwner
required: false
schema:
type: string
- in: query
name: projectSlug
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: version
required: false
schema:
type: integer
format: int32
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.ListTablesResponse'
summary: List Tables
tags:
- Data
/v1/insights/{owner}/{slug}/query:
post:
description: Query for metrics,event logs and coin prices in a project.
operationId: Query
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/insights_service.InsightsService.QueryBody'
required: true
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/insights_service.QueryResponse'
summary: Insight Query
tags:
- Data
/v1/metrics/{owner}/{slug}/query:
post:
operationId: QueryInstant
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/metrics_service.ObservabilityService.QueryBody'
required: true
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/metrics_service.QueryValueResponse'
summary: Metric instant queries
tags:
- Data
/v1/eventlogs/{owner}/{slug}:
post:
operationId: QueryLog
parameters:
- in: path
name: owner
required: true
schema:
type: string
- in: path
name: slug
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.SearchService.QueryLogBody'
required: true
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.LogQueryResponse'
summary: Query event logs
tags:
- Data
/v1/eventlogs/{owner}/{slug}/query:
get:
operationId: QueryLog2
parameters:
- in: path
name: owner
required: true
schema:
type: string
- in: path
name: slug
required: true
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: query
required: false
schema:
type: string
- in: query
name: timeRange.start.relativeTime.unit
required: false
schema:
type: string
- in: query
name: timeRange.start.relativeTime.value
required: false
schema:
type: integer
format: int32
- in: query
name: timeRange.start.relativeTime.align
required: false
schema:
type: string
- in: query
name: timeRange.start.absoluteTime
required: false
schema:
type: string
format: int64
- in: query
name: timeRange.end.relativeTime.unit
required: false
schema:
type: string
- in: query
name: timeRange.end.relativeTime.value
required: false
schema:
type: integer
format: int32
- in: query
name: timeRange.end.relativeTime.align
required: false
schema:
type: string
- in: query
name: timeRange.end.absoluteTime
required: false
schema:
type: string
format: int64
- in: query
name: timeRange.step
required: false
schema:
type: string
format: int64
- in: query
name: timeRange.interval.value
required: false
schema:
type: number
format: double
- in: query
name: timeRange.interval.unit
required: false
schema:
type: string
- in: query
name: timeRange.timezone
required: false
schema:
type: string
- in: query
name: limit
required: false
schema:
type: integer
format: int32
- in: query
name: offset
required: false
schema:
type: integer
format: int32
- in: query
name: version
required: false
schema:
type: integer
format: int32
- in: query
name: source
required: false
schema:
type: string
- description: how long the cache will be stored before it is evicted
in: query
name: cachePolicy.cacheTtlSecs
required: false
schema:
type: integer
format: int32
- description: how long the cache will be refreshed in the background
in: query
name: cachePolicy.cacheRefreshTtlSecs
required: false
schema:
type: integer
format: int32
- description: force refresh the cache now
in: query
name: cachePolicy.forceRefresh
required: false
schema:
type: boolean
- description: do not use cache
in: query
name: cachePolicy.noCache
required: false
schema:
type: boolean
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.LogQueryResponse'
summary: Query event logs
tags:
- Data
/v1/metrics/{owner}/{slug}/query_range:
post:
description: 'The easiest way to build query is through UI, you could first create an insight chart, and then **Export as cURL**.
.png)'
operationId: QueryRange
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/metrics_service.ObservabilityService.QueryRangeBody'
required: true
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/metrics_service.MetricsQueryResponse'
summary: Metric range queries
tags:
- Data
/v1/analytics/{owner}/{slug}/sql/query_execution_detail/{executionId}:
get:
description: Query the execution detail of a SQL query by execution_id.
operationId: QuerySQLExecutionDetail
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
- in: path
name: executionId
required: true
schema:
type: string
- description: use project id if project_owner and project_slug are not provided
in: query
name: projectId
required: false
schema:
type: string
- description: version of the datasource, default to the active version if not provided
in: query
name: version
required: false
schema:
type: integer
format: int32
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.QuerySQLExecutionDetailResponse'
summary: Query SQL Execution Detail
tags:
- Data
/v1/analytics/{owner}/{slug}/sql/query_result/{executionId}:
get:
description: Query the result of a SQL query by execution_id.
operationId: QuerySQLResult
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
- in: path
name: executionId
required: true
schema:
type: string
- description: use project id if project_owner and project_slug are not provided
in: query
name: projectId
required: false
schema:
type: string
- description: version of the datasource, default to the active version if not provided
in: query
name: version
required: false
schema:
type: integer
format: int32
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.QuerySQLResultResponse'
summary: Query SQL Result
tags:
- Data
/v1/sql/{owner}/{slug}/table/{name}:
get:
description: Query table schema by name.
operationId: QueryTable
parameters:
- in: path
name: owner
required: true
schema:
type: string
- in: path
name: slug
required: true
schema:
type: string
- in: path
name: name
required: true
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: version
required: false
schema:
type: integer
format: int32
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.QueryTableResponse'
summary: Query Table By Name
tags:
- Data
/v1/sql/table:
get:
description: Query table schema by name.
operationId: QueryTable2
parameters:
- in: query
name: projectOwner
required: false
schema:
type: string
- in: query
name: projectSlug
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: version
required: false
schema:
type: integer
format: int32
- in: query
name: name
required: false
schema:
type: string
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.QueryTableResponse'
summary: Query Table By Name
tags:
- Data
/v1/analytics/{owner}/{slug}/sql/tables:
get:
description: Query tables in a project. use flag to control which type of tables to include.
operationId: QueryTables
parameters:
- in: path
name: owner
required: true
schema:
type: string
- in: path
name: slug
required: true
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: version
required: false
schema:
type: integer
format: int32
- in: query
name: includeChains
required: false
schema:
type: boolean
- in: query
name: includeViews
required: false
schema:
type: boolean
- in: query
name: includeExternals
required: false
schema:
type: boolean
- in: query
name: includeDash
required: false
schema:
type: boolean
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.QueryTablesResponse'
summary: Query Tables
tags:
- Data
/v1/analytics/sql/tables:
get:
description: Query tables in a project. use flag to control which type of tables to include.
operationId: QueryTables2
parameters:
- in: query
name: projectOwner
required: false
schema:
type: string
- in: query
name: projectSlug
required: false
schema:
type: string
- in: query
name: projectId
required: false
schema:
type: string
- in: query
name: version
required: false
schema:
type: integer
format: int32
- in: query
name: includeChains
required: false
schema:
type: boolean
- in: query
name: includeViews
required: false
schema:
type: boolean
- in: query
name: includeExternals
required: false
schema:
type: boolean
- in: query
name: includeDash
required: false
schema:
type: boolean
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.QueryTablesResponse'
summary: Query Tables
tags:
- Data
/v1/analytics/{owner}/{slug}/sql/refreshable_materialized_view:
post:
description: Save or update a refreshable materialized view in a project.
operationId: SaveRefreshableMaterializedView
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.AnalyticService.SaveRefreshableMaterializedViewBody'
required: true
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.SaveRefreshableMaterializedViewResponse'
summary: Save Refreshable Materialized View
tags:
- Data
/v1/analytics/sql/sharing:
post:
description: Save or update sharing settings for a SQL query.
operationId: SaveSharingSQL
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.SaveSharingSQLRequest'
required: true
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.SaveSharingSQLResponse'
summary: Save Sharing SQL
tags:
- Data
/v1/analytics/{owner}/{slug}/sql/save:
post:
description: Save or update a SQL query in a project.
operationId: SaveSQL
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
requestBody:
$ref: '#/components/requestBodies/analytic_service.AnalyticService.SaveSQLBody'
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.SaveSQLResponse'
summary: Save SQL
tags:
- Data
put:
description: Save or update a SQL query in a project.
operationId: SaveSQL2
parameters:
- description: username or organization name
in: path
name: owner
required: true
schema:
type: string
- description: project slug
in: path
name: slug
required: true
schema:
type: string
requestBody:
$ref: '#/components/requestBodies/analytic_service.AnalyticService.SaveSQLBody'
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/analytic_service.SaveSQLResponse'
summary: Save SQL
tags:
- Data
components:
schemas:
common.Organization:
properties:
createdAt:
format: int64
type: string
displayName:
type: string
id:
type: string
logoUrl:
type: string
members:
items:
$ref: '#/components/schemas/common.Organization.Member'
type: array
name:
type: string
oid:
type: string
projects:
items:
$ref: '#/components/schemas/common.ProjectInfo'
type: array
tier:
$ref: '#/components/schemas/common.Tier'
updatedAt:
format: int64
type: string
type: object
common.RichStruct:
properties:
fields:
additionalProperties:
$ref: '#/components/schemas/common.RichValue'
type: object
type: object
common.Argument:
properties:
boolValue:
type: boolean
doubleValue:
format: double
type: number
durationValue:
$ref: '#/components/schemas/common.Duration'
intValue:
format: int32
type: integer
stringValue:
type: string
type: object
common.ComputeStats.ClickhouseStats:
properties:
memoryUsage:
format: uint64
type: string
queryDurationMs:
format: uint64
type: string
readBytes:
format: uint64
type: string
readRows:
format: uint64
type: string
resultBytes:
format: uint64
type: string
resultRows:
format: uint64
type: string
type: object
common.Selector:
properties:
key:
type: string
operator:
$ref: '#/components/schemas/common.Selector.OperatorType'
value:
items:
$ref: '#/components/schemas/common.Any'
type: array
title: TODO maybe MetricQuery should use this as well
type: object
analytic_service.ExecutionInfo:
properties:
computeStats:
$ref: '#/compon
# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sentio/refs/heads/main/openapi/sentio-data-api-openapi.yml