Run a platform connector endpoint
const url = 'https://shareout.site/v1/data/example/platform/redshift/sql.query/execute';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"connectionId":"conn_abc123","params":{"body":{"sql":"select region, sum(revenue) as revenue from sales group by 1"}}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://shareout.site/v1/data/example/platform/redshift/sql.query/execute \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "connectionId": "conn_abc123", "params": { "body": { "sql": "select region, sum(revenue) as revenue from sales group by 1" } } }'Runs a workspace platform connector server-side; credentials never reach the caller. Allowed for the artifact owner and workspace members. Under a row-level access policy, a scoped viewer can only run a query declared in access_policy.queries, by query name; their params are ignored and the server binds their scope into the declared SQL (otherwise 403 SCOPE_REQUIRED). Connection ids: GET /v1/workspaces/{workspaceId}/connections (any member), or GET /v1/data/{artifactId}/platform/connections (artifact owner).
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Example
redshiftProvider endpoint id. SQL providers (supabase, redshift, aurora): sql.query with params.body = { sql, maxRows? } → { columns, rows }. s3: objects.list (params.queryParams.prefix), objects.get (params.queryParams.key; CSV → rows, JSON → data, text → text, ≤ 10 MB), objects.presign (params.body = { key, expiresIn? } → signed URL). Snowflake: statements.execute; BigQuery: jobs.query.
Example
sql.queryRequest Bodyrequired
Section titled “Request Bodyrequired”object
Required unless query names a declared query (which fixes the connection).
Name of a query in the artifact’s access_policy.queries.
object
object
object
object
Example
{ "connectionId": "conn_abc123", "params": { "body": { "sql": "select region, sum(revenue) as revenue from sales group by 1" } }}Responses
Section titled “Responses”{ success, data, meta } — data is the provider result.
Access denied
object
Human-readable message.
Machine-readable error code.
Correlation id (also the X-Request-Id header). Quote it in support tickets.
Finer cause under code. For UNAUTHORIZED: missing, invalid, revoked or expired.
What to do next, in plain words.
The request field at fault.
Doc page for this error.
Present on 5xx — how to reach a human.
object
Example
{ "success": false, "support": { "how": "POST /v1/support/tickets", "include": [ "request_id" ] }}