Capability Library · Pack detail

snowflake v1.0.0

Snowflake SQL REST API (/api/v2/statements): status checks and result retrieval for one pre-bound statement, and cancellation of that statement's execution.

Review state: draft· Not in the distributable release manifest

Release identity

SHA-256 of the pack file bytes: 501f49dede1d3c9dc3542910b7e20da3505ca76c165457f85d445b16871c1d79

Not in the distributable release manifest. The binary carries a digest-bound manifest of the distributable library; a pack whose bytes differ from its manifest entry — endpoint, tier, allowlist, or credential edited, with provider, version, and review block preserved — fails the digest check, loses distributability, and renders MODIFIED rather than as the shipped reviewed artifact. Review state and artifact status are different facts: the first is a documentation-review declaration, the second is the identity of the exact bytes.

Capabilities (2)

snowflake.sql.statements.status.get v1.0.0R0

Action
read
Endpoint
GET https://snowflake-account.invalid/api/v2/statements/STATEMENT_HANDLE
Connector
http
Custody
customer_vault
Credential ref
secret-ref-snowflake-keypair-jwt
Data class
internal

Check the status of the statement whose handle is bound in the registered path and, once it has executed successfully, retrieve its result set (paginated in partitions via the partition query parameter and the Link response header). This returns whatever data that statement produced — uncontrolled content the deployment classifies. STATEMENT_HANDLE is a placeholder the deployment substitutes with a concrete statement handle in the endpoint path before enabling: the gate requires the request path to exactly equal the registered path, so a caller cannot name a handle per request and each enablement of this capability reads exactly one statement's status and results.

snowflake.sql.statements.cancel v1.0.0R2

Action
update
Endpoint
POST https://snowflake-account.invalid/api/v2/statements/STATEMENT_HANDLE/cancel
Connector
http
Custody
customer_vault
Credential ref
secret-ref-snowflake-keypair-jwt
Data class
internal

Cancel the execution of the in-flight statement whose handle is bound in the registered path: it changes the state of an existing executing thing, so the declared action is update at the R2 floor. Cancellation releases the warehouse compute the statement was consuming and cannot be reverted into the same execution — a cancelled statement that is needed again must be resubmitted as a new execution. STATEMENT_HANDLE is a placeholder the deployment substitutes with a concrete statement handle before enabling (the gate requires exact path equality, so the caller cannot name a handle per request); each enablement cancels exactly the statement bound at registration.

Credential reference

The pack names a reference, never a secret. Installing a pack registers capabilities and makes them governable; registration is not connectivity. The credential is created at the provider and held in the client's own secret manager under the reference the pack names, and deployment testing is still required to show the credential path works and cannot be bypassed.

Reference
secret-ref-snowflake-keypair-jwt
Custody
customer_vault
Injection
header (Authorization)

A bearer token for a dedicated least-privilege Snowflake service user, held in the client's own secret manager. The stored material must be the complete Authorization header value: the scheme 'Bearer', one separating space, then the token — 'Bearer <token>'. customer_vault is the only generally-supported production custody model here — identity_federation and customer_broker are refused at startup and inline is lab-only. The reviewed token process is Snowflake key-pair authentication: an external deployment process holds the RSA private key, generates the JWT Snowflake documents (RS256; iss = <account_identifier>.<user>.SHA256:<public_key_fingerprint> with account and user uppercased; sub = <account_identifier>.<user>; iat; exp), and writes the complete header value under this reference. Snowflake states the JWT is valid for at most one hour after issue even if a longer exp is set, so renewal is a scheduled external process — the executor injects the stored value verbatim and performs no token lifecycle itself. Revocation is removing or rotating the public key on the user (Snowflake documents key-pair rotation); an expired or unregistered key fails closed. Snowflake OAuth bearer tokens are a documented alternative; if the deployment chooses OAuth instead, the token-type header (X-Snowflake-Authorization-Token-Type: OAUTH) and the refresh path are that deployment's review, not this pack's. Least privilege: the service user's role should carry only the grants needed to read and cancel the statement this pack is bound to — the role's grants are the real access boundary. Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.

Resources

  • snowflake-account-sql-api (api, internal): https://snowflake-account.invalid/api/v2/statements

Pack notes and exclusions

The endpoint host 'snowflake-account.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): substitute the customer's own account host (the documented shape is https://<account_identifier>.snowflakecomputing.com) before enabling, in the endpoints, the resource locator and the egress allowlist — the allowlist matches exactly, so all three must be substituted together, and substitution is a required deployment step. Note that allowlisting the reserved .invalid host does not make an unsubstituted pack safe: an unsubstituted pack fails closed at DNS, but it also has no reviewed destination, so it is not a registration of anything. STATEMENT_HANDLE in the status and cancel endpoint paths is a placeholder the deployment substitutes with a concrete statement handle before enabling: the gate requires the request path to exactly equal the registered path, so a caller cannot name a handle per request and each enablement of these capabilities targets exactly one statement. WHY STATEMENT SUBMISSION IS NOT REGISTERED: POST /api/v2/statements takes the SQL statement text in the request body, and Snowflake documents the SQL API as executing standard queries and most DDL and DML statements. The http connector injects a credential; it does not constrain the request body, so no registration of that endpoint can pin the statement field, and no tier can be honestly claimed for arbitrary caller-supplied SQL — a read-tiered label would not prevent a DML or DDL statement. For the same reason this pack does not register a SHOW-only metadata capability: it would share the submission endpoint and nothing in the registration could pin the body to SHOW statements. If a deployment needs statement execution, that is a separate, purpose-built review (restricting the Snowflake role's grants, statement timeouts, and policy over the capability), not a variant of this pack. Documented exclusions: this pack does not register statement submission (POST /api/v2/statements), multi-statement submission (the multi_statement_count request shape), stored-procedure creation or calls through the API, explicit transaction control requests, or any Snowflake administration surface outside the SQL API. Every call here is a status or cancel call against the one statement handle bound at registration; there is no collection endpoint in this API.

Review record

Draft review record dated 2026-09-21 · Reviewer: aaes-eng (an opaque id that resolves internally to the responsible reviewer)

A pack review is not a vendor or examiner attestation. A retrieval date says when a source page was read; it does not by itself establish what the page said then. No pack is vendor-endorsed, and none has been connectivity-tested against a live vendor tenant.