Skip to main content
POST
Typescript (SDK)

Authorizations

Authorization
string
header
required

API key in the format: Bearer {api_token}

Headers

Idempotency-Key
string

Makes this write safe to retry: a repeat with the same key replays the first response instead of creating a second resource. Scoped to the account, remembered for 24 hours; reusing a key with a different payload is an error.

Maximum string length: 255

Path Parameters

id
string
required

The resource ID (e.g., "prod_abc123") or slug (e.g., "my-product")

Body

application/json
sql
string
required

The SQL to execute. Multiple statements may be separated by ; — the last statement that returns rows is surfaced.

environment
enum<string>
default:production

Which database to use. A site normally has exactly one, production, and that is the default — the live database the site reads. development is only valid if a separate development database has been provisioned for this site; asking for one that doesn't exist is an error rather than a silent fall back to production. The response echoes the environment that was used.

Available options:
development,
production

Response

Query result

object
string
required

Always "database_query_result".

rows
object[]
required

The rows returned by the query, each an object keyed by column name.

row_count
integer
required

Number of rows returned.

meta
object | null

Execution metadata for the surfaced statement (e.g. rows read/written, duration).