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