Capability library / Application package

Snowflake package 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: Reviewed · Distributable: yes, digest matches the release manifest

This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern

Before you enable this package

The endpoint host 'snowflake-account.invalid' is a reserved .invalid placeholder that fails closed until you substitute the real host in both the endpoint URLs and the egress allowlist.

Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.

Capabilities (2)

Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/snowflake.json and embeds a copy in the release binary.

Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.

Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data.

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

Kind
tool
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

Read SQL statement status.

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

Kind
tool
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 SQL statements.

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 minimum R2 tier. 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 credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.

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

Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.

Complete credential requirements

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

Technical package and review record

Complete provider requirements 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 cannot resolve to a destination, 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. Statement submission is excluded: 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 arbitrary caller-supplied SQL cannot be classified as one fixed action — 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.

Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.

The full documentation review record is supplied in the evaluation package. The evaluation package runs in your environment and comes only with the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.

Review block

This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is in the evaluation materials and in the release binary's embedded assets.

Review completed: 2026-09-22

3 sources, retrieved 2026-09-21

Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.

Release identity

SHA-256 of the pack file bytes: 2107eab735ef5616879f4659fc5de932be9a348c116d7fca2599ac3bb4a4a553

Distributable: yes, digest matches the release manifest. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.