Qyra
Referencev2

Scan query source schema

Scans the schema of one query source into the standard shape: tables with columns of {reference, type}. For the semantic layer, tables are explores and columns are field ids; for warehouse SQL, tables come from the warehouse catalog resolved for your credentials, like the SQL runner; the duckdb source has no schema of its own — its tables are the references given to each query.

GET/api/v2/projects/{projectUuid}/query-sources/{sourceType}/schema

Scans the schema of one query source into the standard shape: tables with columns of {reference, type}. For the semantic layer, tables are explores and columns are field ids; for warehouse SQL, tables come from the warehouse catalog resolved for your credentials, like the SQL runner; the duckdb source has no schema of its own — its tables are the references given to each query.

Authentication: personal access token. The spec defines an api_key security scheme — send an Authorization: ApiKey <your-personal-access-token> header (value format: ApiKey <your key>). A session_cookie scheme (connect.sid) exists for browser sessions. Operations in this spec declare security: [], an artifact of the upstream spec generator — authentication is still enforced by the server.

Path parameters

NameTypeRequiredDescription
projectUuidstringYes
sourceTypestringYes

Responses

200 — Success

{
  "results": {
    "tables": [
      {
        "columns": [
          {
            "description": "string",
            "label": "string",
            "type": "string",
            "reference": "string"
          }
        ],
        "description": "string",
        "label": "string",
        "reference": "string"
      }
    ],
    "sourceType": "semanticLayer"
  },
  "status": "ok"
}

default — Error

{
  "error": {
    "data": "string",
    "message": "string",
    "name": "string",
    "statusCode": 0
  },
  "status": "error"
}

List query sources

Lists the query sources registered for this deployment. Every source supports the same operations: scan its schema, and submit queries that return a queryUuid whose results are fetched with the standard async query results endpoint. Requires the multi-source-query feature flag.

Execute source queries

Submits one or more source queries through the common interface. Every query body is tagged by sourceType and every query returns a queryUuid, polled with the standard async query results endpoint (or Get source query status for many at once). Queries reference each other's results by nodeId: a duckdb query's references expose other queries' results as tables, named by node id (array shorthand) or by alias (map form, which also accepts queryUuids of results from previous submissions). A referenced result keeps the column names of the query that produced it — field ids for semanticLayer queries, SELECT output names for sql queries. All queries are submitted immediately; a query referencing still-running results waits inside its own execution and fails if a referenced query fails, so no orchestration happens outside the queries themselves. Submit queries one at a time (interactive use) or as a whole pipeline in one call — the two are equivalent, so a serialized multi-query analysis is just the bodies of the queries that were run interactively, with queryUuid references swapped for node ids. Note that results expire: re-run upstream queries whose results have expired instead of referencing their old queryUuids.