Snowflake Compute Pools API
The Snowflake Compute Pools API is a REST API that you can use to access, update, and perform common actions on Compute Pool resources.
The Snowflake Compute Pools API is a REST API that you can use to access, update, and perform common actions on Compute Pool resources.
openapi: 3.0.0
servers:
- description: Snowflake Compute Pools API
url: https://org-account.snowflakecomputing.com
info:
version: 0.0.1
title: Snowflake Compute Pools API
description: The Snowflake Compute Pools API is a REST API that you can use to access, update, and perform common actions on Compute Pool resources.
contact:
name: Snowflake, Inc.
url: https://snowflake.com
email: support@snowflake.com
paths:
/api/v2/compute-pools:
get:
summary: Lists Compute Pools.
tags:
- compute-pool
description: Lists the compute pools under the account.
operationId: listComputePools
parameters:
- $ref: common.yaml#/components/parameters/like
- $ref: common.yaml#/components/parameters/startsWith
- $ref: common.yaml#/components/parameters/showLimit
responses:
'200':
description: Successful request.
headers:
X-Snowflake-Request-ID:
$ref: common.yaml#/components/headers/X-Snowflake-Request-ID
Link:
$ref: common.yaml#/components/headers/Link
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ComputePool'
examples:
Listcomputepools200Example:
summary: Default listComputePools 200 response
x-microcks-default: true
value:
- name: {}
min_nodes: 10
max_nodes: 10
instance_family: example_value
auto_resume: true
comment: example_value
state: UNKNOWN
num_services: 10
num_jobs: 10
auto_suspend_secs: 10
active_nodes: 10
idle_nodes: 10
target_nodes: 10
created_on: '2026-01-15T10:30:00Z'
resumed_on: '2026-01-15T10:30:00Z'
updated_on: '2026-01-15T10:30:00Z'
owner: example_value
is_exclusive: true
application: example_value
budget: example_value
error_code: example_value
status_message: example_value
'202':
$ref: common.yaml#/components/responses/202SuccessAcceptedResponse
'400':
$ref: common.yaml#/components/responses/400BadRequest
'401':
$ref: common.yaml#/components/responses/401Unauthorized
'403':
$ref: common.yaml#/components/responses/403Forbidden
'404':
$ref: common.yaml#/components/responses/404NotFound
'405':
$ref: common.yaml#/components/responses/405MethodNotAllowed
'429':
$ref: common.yaml#/components/responses/429LimitExceeded
'500':
$ref: common.yaml#/components/responses/500InternalServerError
'503':
$ref: common.yaml#/components/responses/503ServiceUnavailable
'504':
$ref: common.yaml#/components/responses/504GatewayTimeout
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
summary: Creates a Compute Pool.
tags:
- compute-pool
description: Creates a compute pool, with standard create modifiers as query parameters. See the Compute Pool component definition for what is required to be provided in the request body.
operationId: createComputePool
parameters:
- $ref: common.yaml#/components/parameters/createMode
- name: initiallySuspended
in: query
description: Specifies whether the compute pool is created initially in the suspended state.
schema:
type: boolean
example: true
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ComputePool'
examples:
CreatecomputepoolRequestExample:
summary: Default createComputePool request
x-microcks-default: true
value:
name: {}
min_nodes: 10
max_nodes: 10
instance_family: example_value
auto_resume: true
comment: example_value
state: UNKNOWN
num_services: 10
num_jobs: 10
auto_suspend_secs: 10
active_nodes: 10
idle_nodes: 10
target_nodes: 10
created_on: '2026-01-15T10:30:00Z'
resumed_on: '2026-01-15T10:30:00Z'
updated_on: '2026-01-15T10:30:00Z'
owner: example_value
is_exclusive: true
application: example_value
budget: example_value
error_code: example_value
status_message: example_value
responses:
'200':
$ref: common.yaml#/components/responses/200SuccessResponse
'202':
$ref: common.yaml#/components/responses/202SuccessAcceptedResponse
'400':
$ref: common.yaml#/components/responses/400BadRequest
'401':
$ref: common.yaml#/components/responses/401Unauthorized
'403':
$ref: common.yaml#/components/responses/403Forbidden
'404':
$ref: common.yaml#/components/responses/404NotFound
'405':
$ref: common.yaml#/components/responses/405MethodNotAllowed
'408':
$ref: common.yaml#/components/responses/408RequestTimeout
'409':
$ref: common.yaml#/components/responses/409Conflict
'429':
$ref: common.yaml#/components/responses/429LimitExceeded
'500':
$ref: common.yaml#/components/responses/500InternalServerError
'503':
$ref: common.yaml#/components/responses/503ServiceUnavailable
'504':
$ref: common.yaml#/components/responses/504GatewayTimeout
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v2/compute-pools/{name}:
get:
summary: Fetches a Compute Pool.
tags:
- compute-pool
description: Fetches a named compute pool. You can get the name of the compute pool from the `/api/v2/compute-pools` GET request.
operationId: fetchComputePool
parameters:
- $ref: common.yaml#/components/parameters/name
responses:
'200':
description: Successful request.
headers:
X-Snowflake-Request-ID:
$ref: common.yaml#/components/headers/X-Snowflake-Request-ID
Link:
$ref: common.yaml#/components/headers/Link
content:
application/json:
schema:
$ref: '#/components/schemas/ComputePool'
examples:
Fetchcomputepool200Example:
summary: Default fetchComputePool 200 response
x-microcks-default: true
value:
name: {}
min_nodes: 10
max_nodes: 10
instance_family: example_value
auto_resume: true
comment: example_value
state: UNKNOWN
num_services: 10
num_jobs: 10
auto_suspend_secs: 10
active_nodes: 10
idle_nodes: 10
target_nodes: 10
created_on: '2026-01-15T10:30:00Z'
resumed_on: '2026-01-15T10:30:00Z'
updated_on: '2026-01-15T10:30:00Z'
owner: example_value
is_exclusive: true
application: example_value
budget: example_value
error_code: example_value
status_message: example_value
'202':
$ref: common.yaml#/components/responses/202SuccessAcceptedResponse
'400':
$ref: common.yaml#/components/responses/400BadRequest
'401':
$ref: common.yaml#/components/responses/401Unauthorized
'403':
$ref: common.yaml#/components/responses/403Forbidden
'404':
$ref: common.yaml#/components/responses/404NotFound
'405':
$ref: common.yaml#/components/responses/405MethodNotAllowed
'429':
$ref: common.yaml#/components/responses/429LimitExceeded
'500':
$ref: common.yaml#/components/responses/500InternalServerError
'503':
$ref: common.yaml#/components/responses/503ServiceUnavailable
'504':
$ref: common.yaml#/components/responses/504GatewayTimeout
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
put:
summary: Create a (or Alter an Existing) Compute Pool.
tags:
- compute-pool
description: Create a (or alter an existing) compute pool. Even if the operation is just an alter, the full property set must be provided.
operationId: createOrAlterComputePool
parameters:
- $ref: common.yaml#/components/parameters/name
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ComputePool'
examples:
CreateoraltercomputepoolRequestExample:
summary: Default createOrAlterComputePool request
x-microcks-default: true
value:
name: {}
min_nodes: 10
max_nodes: 10
instance_family: example_value
auto_resume: true
comment: example_value
state: UNKNOWN
num_services: 10
num_jobs: 10
auto_suspend_secs: 10
active_nodes: 10
idle_nodes: 10
target_nodes: 10
created_on: '2026-01-15T10:30:00Z'
resumed_on: '2026-01-15T10:30:00Z'
updated_on: '2026-01-15T10:30:00Z'
owner: example_value
is_exclusive: true
application: example_value
budget: example_value
error_code: example_value
status_message: example_value
responses:
'200':
$ref: common.yaml#/components/responses/200SuccessResponse
'202':
$ref: common.yaml#/components/responses/202SuccessAcceptedResponse
'400':
$ref: common.yaml#/components/responses/400BadRequest
'401':
$ref: common.yaml#/components/responses/401Unauthorized
'403':
$ref: common.yaml#/components/responses/403Forbidden
'404':
$ref: common.yaml#/components/responses/404NotFound
'405':
$ref: common.yaml#/components/responses/405MethodNotAllowed
'500':
$ref: common.yaml#/components/responses/500InternalServerError
'503':
$ref: common.yaml#/components/responses/503ServiceUnavailable
'504':
$ref: common.yaml#/components/responses/504GatewayTimeout
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
parameters:
- $ref: common.yaml#/components/parameters/name
- $ref: common.yaml#/components/parameters/ifExists
summary: Deletes a Compute Pool.
tags:
- compute-pool
description: Deletes a compute pool with the given name. If you enable the `ifExists` parameter, the operation succeeds even if the object does not exist. Otherwise, a 404 failure is returned if
the object does not exist.
operationId: deleteComputePool
responses:
'200':
$ref: common.yaml#/components/responses/200SuccessResponse
'202':
$ref: common.yaml#/components/responses/202SuccessAcceptedResponse
'400':
$ref: common.yaml#/components/responses/400BadRequest
'401':
$ref: common.yaml#/components/responses/401Unauthorized
'403':
$ref: common.yaml#/components/responses/403Forbidden
'404':
$ref: common.yaml#/components/responses/404NotFound
'405':
$ref: common.yaml#/components/responses/405MethodNotAllowed
'429':
$ref: common.yaml#/components/responses/429LimitExceeded
'500':
$ref: common.yaml#/components/responses/500InternalServerError
'503':
$ref: common.yaml#/components/responses/503ServiceUnavailable
'504':
$ref: common.yaml#/components/responses/504GatewayTimeout
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v2/compute-pools/{name}:resume:
post:
summary: Resumes a Suspended Compute Pool.
tags:
- compute-pool
description: Resume a compute pool, if suspended. If the specified compute pool is already running, this will cause a 400 Bad Request error.
operationId: resumeComputePool
parameters:
- $ref: common.yaml#/components/parameters/name
responses:
'200':
$ref: common.yaml#/components/responses/200SuccessResponse
'202':
$ref: common.yaml#/components/responses/202SuccessAcceptedResponse
'400':
$ref: common.yaml#/components/responses/400BadRequest
'401':
$ref: common.yaml#/components/responses/401Unauthorized
'403':
$ref: common.yaml#/components/responses/403Forbidden
'404':
$ref: common.yaml#/components/responses/404NotFound
'405':
$ref: common.yaml#/components/responses/405MethodNotAllowed
'429':
$ref: common.yaml#/components/responses/429LimitExceeded
'500':
$ref: common.yaml#/components/responses/500InternalServerError
'503':
$ref: common.yaml#/components/responses/503ServiceUnavailable
'504':
$ref: common.yaml#/components/responses/504GatewayTimeout
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v2/compute-pools/{name}:suspend:
post:
summary: Suspends an Active Compute Pool.
tags:
- compute-pool
description: Suspend a compute pool, if active. If the specified compute pool is already suspended, no action is taken.
operationId: suspendComputePool
parameters:
- $ref: common.yaml#/components/parameters/name
responses:
'200':
$ref: common.yaml#/components/responses/200SuccessResponse
'202':
$ref: common.yaml#/components/responses/202SuccessAcceptedResponse
'400':
$ref: common.yaml#/components/responses/400BadRequest
'401':
$ref: common.yaml#/components/responses/401Unauthorized
'403':
$ref: common.yaml#/components/responses/403Forbidden
'404':
$ref: common.yaml#/components/responses/404NotFound
'405':
$ref: common.yaml#/components/responses/405MethodNotAllowed
'429':
$ref: common.yaml#/components/responses/429LimitExceeded
'500':
$ref: common.yaml#/components/responses/500InternalServerError
'503':
$ref: common.yaml#/components/responses/503ServiceUnavailable
'504':
$ref: common.yaml#/components/responses/504GatewayTimeout
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v2/compute-pools/{name}:stopallservices:
post:
deprecated: true
summary: Stops All Services on the Compute Pool.
tags:
- compute-pool
description: Stops all services in the compute pool. Deprecated - use :stop-all-services instead.
operationId: stopAllServicesInComputePoolDeprecated
parameters:
- $ref: common.yaml#/components/parameters/name
responses:
'200':
$ref: common.yaml#/components/responses/200SuccessResponse
'202':
$ref: common.yaml#/components/responses/202SuccessAcceptedResponse
'400':
$ref: common.yaml#/components/responses/400BadRequest
'401':
$ref: common.yaml#/components/responses/401Unauthorized
'403':
$ref: common.yaml#/components/responses/403Forbidden
'404':
$ref: common.yaml#/components/responses/404NotFound
'405':
$ref: common.yaml#/components/responses/405MethodNotAllowed
'429':
$ref: common.yaml#/components/responses/429LimitExceeded
'500':
$ref: common.yaml#/components/responses/500InternalServerError
'503':
$ref: common.yaml#/components/responses/503ServiceUnavailable
'504':
$ref: common.yaml#/components/responses/504GatewayTimeout
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/api/v2/compute-pools/{name}:stop-all-services:
post:
summary: Stops All Services on the Compute Pool.
tags:
- compute-pool
description: Stops all services in the compute pool.
operationId: stopAllServicesInComputePool
parameters:
- $ref: common.yaml#/components/parameters/name
responses:
'200':
$ref: common.yaml#/components/responses/200SuccessResponse
'202':
$ref: common.yaml#/components/responses/202SuccessAcceptedResponse
'400':
$ref: common.yaml#/components/responses/400BadRequest
'401':
$ref: common.yaml#/components/responses/401Unauthorized
'403':
$ref: common.yaml#/components/responses/403Forbidden
'404':
$ref: common.yaml#/components/responses/404NotFound
'405':
$ref: common.yaml#/components/responses/405MethodNotAllowed
'429':
$ref: common.yaml#/components/responses/429LimitExceeded
'500':
$ref: common.yaml#/components/responses/500InternalServerError
'503':
$ref: common.yaml#/components/responses/503ServiceUnavailable
'504':
$ref: common.yaml#/components/responses/504GatewayTimeout
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
ComputePool:
type: object
description: A Snowflake compute pool definition.
properties:
name:
$ref: ./common.yaml#/components/schemas/Identifier
min_nodes:
type: integer
description: Minimum number of nodes for the compute pool.
example: 10
max_nodes:
type: integer
description: Maximum number of nodes for the compute pool.
example: 10
instance_family:
type: string
description: Instance family for the compute pool.
example: example_value
auto_resume:
type: boolean
description: Whether Snowflake automatically resumes the compute pool when any statement that requires the compute pool is submitted.
example: true
comment:
type: string
description: Comment describing the compute pool.
example: example_value
state:
type: string
description: Current state of the compute pool. Possible values include UNKNOWN, STARTING, IDLE, ACTIVE, STOPPING, SUSPENDED, and RESIZING.
readOnly: true
enum:
- UNKNOWN
- STARTING
- IDLE
- ACTIVE
- STOPPING
- SUSPENDED
- RESIZING
example: UNKNOWN
num_services:
type: integer
description: Number of services on the compute pool.
readOnly: true
example: 10
num_jobs:
type: integer
description: Number of jobs on the compute pool.
readOnly: true
example: 10
auto_suspend_secs:
type: integer
description: Number of seconds until the compute pool automatically suspends.
format: int64
example: 10
active_nodes:
type: integer
description: Number of currently active nodes on the compute pool.
readOnly: true
example: 10
idle_nodes:
type: integer
description: Number of currently idle nodes on the compute pool.
readOnly: true
example: 10
target_nodes:
type: integer
description: Number of target nodes on the compute pool.
readOnly: true
example: 10
created_on:
type: string
description: Time the compute pool was created.
format: date-time
readOnly: true
example: '2026-01-15T10:30:00Z'
resumed_on:
type: string
description: Time the compute pool was last resumed.
format: date-time
readOnly: true
example: '2026-01-15T10:30:00Z'
updated_on:
type: string
description: Time the compute pool was last updated.
format: date-time
readOnly: true
example: '2026-01-15T10:30:00Z'
owner:
type: string
description: Identifier for the current owner of the compute pool.
readOnly: true
example: example_value
is_exclusive:
type: boolean
description: Whether a compute pool is created exclusively for a Snowflake Native App.
readOnly: true
example: true
application:
type: string
description: Name of the Snowflake Native App if the compute pool is created exclusively for the app.
readOnly: true
example: example_value
budget:
type: string
description: The name of the budget monitoring the credit usage of the compute pool.
readOnly: true
example: example_value
error_code:
type: string
description: Current error the compute pool hit if any.
readOnly: true
example: example_value
status_message:
type: string
description: Current status of the compute pool if any.
readOnly: true
example: example_value
example:
name: compute_pool_name
warehouse: test_wh
min_nodes: 4
max_nodes: 5
instance_family: compute_pool_family
auto_resume: false
comment: test_comment
state: STARTING
num_services: 1
num_jobs: 3
auto_suspend_secs: 10
active_nodes: 2
idle_nodes: 2
target_nodes: 4
created_on: '2024-06-18T01:01:01.111111'
updated_on: '2024-06-18T01:01:01.111111'
resumed_on: '2024-06-18T01:01:01.111111'
owner: POOL_ADMIN
is_exclusive: true
application: testapp
budget: testbudget
error_code: '392507'
status_message: Compute Pool is resizing for last 10 minutes. We have observed CAPACITY_ERROR. Please refer to our documentation.
required:
- name
- instance_family
- min_nodes
- max_nodes
securitySchemes:
KeyPair:
$ref: common.yaml#/components/securitySchemes/KeyPair
ExternalOAuth:
$ref: common.yaml#/components/securitySchemes/ExternalOAuth
SnowflakeOAuth:
$ref: common.yaml#/components/securitySchemes/SnowflakeOAuth
security:
- KeyPair: []
- ExternalOAuth: []
- SnowflakeOAuth: []
tags:
- name: compute-pool