Snowflake Dynamic Table API

The Snowflake Dynamic Table API is a REST API that you can use to access, update, and perform certain actions on Dynamic Tables resource in a Snowflake database.

OpenAPI Specification

dynamic-table.yaml Raw ↑
openapi: 3.0.0
servers:
- description: Snowflake Dynamic Table API
  url: https://org-account.snowflakecomputing.com
info:
  version: 0.0.1
  title: Snowflake Dynamic Table API
  description: The Snowflake Dynamic Table API is a REST API that you can use to access, update, and perform certain actions on Dynamic Tables resource in a Snowflake database.
  contact:
    name: Snowflake, Inc.
    url: https://snowflake.com
    email: support@snowflake.com
paths:
  /api/v2/databases/{database}/schemas/{schema}/dynamic-tables:
    get:
      summary: List Dynamic Tables
      tags:
      - dynamic-table
      description: Lists the dynamic tables under the database and schema.
      operationId: listDynamicTables
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/like
      - $ref: common.yaml#/components/parameters/startsWith
      - $ref: common.yaml#/components/parameters/showLimit
      - $ref: common.yaml#/components/parameters/fromName
      - name: deep
        description: Optionally includes dependency information of the dynamic table.
        in: query
        required: false
        schema:
          type: boolean
        example: true
      responses:
        '200':
          description: successful
          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/DynamicTable'
              examples:
                Listdynamictables200Example:
                  summary: Default listDynamicTables 200 response
                  x-microcks-default: true
                  value:
                  - name: Example Title
                    kind: PERMANENT
                    columns:
                    - {}
                    target_lag: {}
                    refresh_mode: AUTO
                    initialize: ON_CREATE
                    warehouse: example_value
                    cluster_by:
                    - example_value
                    query: example_value
                    data_retention_time_in_days: 10
                    max_data_extension_time_in_days: 10
                    comment: example_value
                    created_on: '2026-01-15T10:30:00Z'
                    database_name: example_value
                    schema_name: example_value
                    rows: 10
                    bytes: 10
                    scheduling_state: RUNNING
                    automatic_clustering: true
                    owner: example_value
                    owner_role_type: example_value
                    budget: 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
        '408':
          $ref: common.yaml#/components/responses/408RequestTimeout
        '409':
          $ref: common.yaml#/components/responses/409Conflict
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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: Create a Dynamic Table
      tags:
      - dynamic-table
      description: Create a dynamic table, with standard create modifiers as query parameters. See the Dynamic Table component definition for what is required to be provided in the request body.
      operationId: createDynamicTable
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/createMode
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicTable'
            examples:
              CreatedynamictableRequestExample:
                summary: Default createDynamicTable request
                x-microcks-default: true
                value:
                  name: Example Title
                  kind: PERMANENT
                  columns:
                  - name: Example Title
                    datatype: example_value
                    comment: example_value
                  target_lag: {}
                  refresh_mode: AUTO
                  initialize: ON_CREATE
                  warehouse: example_value
                  cluster_by:
                  - example_value
                  query: example_value
                  data_retention_time_in_days: 10
                  max_data_extension_time_in_days: 10
                  comment: example_value
                  created_on: '2026-01-15T10:30:00Z'
                  database_name: example_value
                  schema_name: example_value
                  rows: 10
                  bytes: 10
                  scheduling_state: RUNNING
                  automatic_clustering: true
                  owner: example_value
                  owner_role_type: example_value
                  budget: 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
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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/databases/{database}/schemas/{schema}/dynamic-tables/{name}:
    get:
      summary: Fetch a Dynamic Table.
      tags:
      - dynamic-table
      description: Fetch a Dynamic Table.
      operationId: fetchDynamicTable
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/name
      responses:
        '200':
          description: successful
          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/DynamicTable'
              examples:
                Fetchdynamictable200Example:
                  summary: Default fetchDynamicTable 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    kind: PERMANENT
                    columns:
                    - name: Example Title
                      datatype: example_value
                      comment: example_value
                    target_lag: {}
                    refresh_mode: AUTO
                    initialize: ON_CREATE
                    warehouse: example_value
                    cluster_by:
                    - example_value
                    query: example_value
                    data_retention_time_in_days: 10
                    max_data_extension_time_in_days: 10
                    comment: example_value
                    created_on: '2026-01-15T10:30:00Z'
                    database_name: example_value
                    schema_name: example_value
                    rows: 10
                    bytes: 10
                    scheduling_state: RUNNING
                    automatic_clustering: true
                    owner: example_value
                    owner_role_type: example_value
                    budget: 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
        '408':
          $ref: common.yaml#/components/responses/408RequestTimeout
        '409':
          $ref: common.yaml#/components/responses/409Conflict
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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
    delete:
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/name
      - $ref: common.yaml#/components/parameters/ifExists
      summary: Delete a Dynamic Table
      tags:
      - dynamic-table
      description: Delete a dynamic table with the given name. If ifExists is used, the operation will succeed even if the object does not exist. Otherwise, there will be a failure if the drop is 
        unsuccessful.
      operationId: deleteDynamicTable
      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
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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/databases/{database}/schemas/{schema}/dynamic-tables/{name}:clone:
    post:
      summary: Clone Dynamic Table
      tags:
      - dynamic-table
      description: Create a new dynamic table by cloning from the specified resource
      operationId: cloneDynamicTable
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/name
      - $ref: common.yaml#/components/parameters/createMode
      - $ref: common.yaml#/components/parameters/copyGrants
      - name: targetDatabase
        in: query
        description: Database of the newly created dynamic table. Defaults to the source table's database.
        schema:
          $ref: ./common.yaml#/components/schemas/Identifier
        example: example_value
      - name: targetSchema
        in: query
        description: Schema of the newly created dynamic table. Defaults to the source table's schema.
        schema:
          $ref: ./common.yaml#/components/schemas/Identifier
        example: example_value
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicTableClone'
            examples:
              ClonedynamictableRequestExample:
                summary: Default cloneDynamicTable request
                x-microcks-default: true
                value:
                  name: Example Title
                  target_lag: {}
                  warehouse: example_value
                  point_of_time: {}
      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
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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/databases/{database}/schemas/{schema}/dynamic-tables/{name}:undrop:
    post:
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/name
      summary: Undrop a Dynamic Table
      tags:
      - dynamic-table
      description: Undrop specified dynamic table
      operationId: undropDynamicTable
      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
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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/databases/{database}/schemas/{schema}/dynamic-tables/{name}:suspend:
    post:
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/name
      - $ref: common.yaml#/components/parameters/ifExists
      summary: Suspend Refreshes on the Dynamic Table
      tags:
      - dynamic-table
      description: Suspend refreshes on the dynamic table
      operationId: suspendDynamicTable
      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
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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/databases/{database}/schemas/{schema}/dynamic-tables/{name}:resume:
    post:
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/name
      - $ref: common.yaml#/components/parameters/ifExists
      summary: Resume Refreshes on the Dynamic Table
      tags:
      - dynamic-table
      description: Resume refreshes on the dynamic table
      operationId: resumeDynamicTable
      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
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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/databases/{database}/schemas/{schema}/dynamic-tables/{name}:refresh:
    post:
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/name
      - $ref: common.yaml#/components/parameters/ifExists
      summary: Refresh the Dynamic Table
      tags:
      - dynamic-table
      description: Specifies that the dynamic table should be manually refreshed
      operationId: refreshDynamicTable
      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
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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/databases/{database}/schemas/{schema}/dynamic-tables/{name}:suspend-recluster:
    post:
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/name
      - $ref: common.yaml#/components/parameters/ifExists
      summary: Suspend Recluster of a Dynamic Table
      tags:
      - dynamic-table
      description: Suspend recluster of a dynamic table
      operationId: suspendReclusterDynamicTable
      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
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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/databases/{database}/schemas/{schema}/dynamic-tables/{name}:resume-recluster:
    post:
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/name
      - $ref: common.yaml#/components/parameters/ifExists
      summary: Resume Recluster of a Dynamic Table
      tags:
      - dynamic-table
      description: Resume recluster of a dynamic table
      operationId: resumeReclusterDynamicTable
      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
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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/databases/{database}/schemas/{schema}/dynamic-tables/{name}:swap-with:
    post:
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/name
      - $ref: common.yaml#/components/parameters/ifExists
      - name: targetName
        description: The name of the target dynamic table to be swapped with.
        in: query
        required: true
        schema:
          $ref: common.yaml#/components/schemas/Identifier
        example: example_value
      - name: targetDatabase
        in: query
        description: Database of the target dynamic table. Defaults to the source table's database.
        schema:
          $ref: common.yaml#/components/schemas/Identifier
        example: example_value
      - name: targetSchema
        in: query
        description: Schema of the target dynamic table. Defaults to the source table's schema.
        schema:
          $ref: common.yaml#/components/schemas/Identifier
        example: example_value
      summary: Swap With Another Dynamic Table
      tags:
      - dynamic-table
      description: Swap with another dynamic table
      operationId: swapWithDynamicTable
      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
        '410':
          $ref: common.yaml#/components/responses/410Gone
        '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:
    DynamicTable:
      type: object
      description: A Snowflake dynamic table object.
      properties:
        name:
          type: string
          description: Specifies the name for the dynamic table, must be unique for the schema in which the dynamic table is created
          example: Example Title
        kind:
          type: string
          enum:
          - PERMANENT
          - TRANSIENT
          default: PERMANENT
          description: Specifies the dynamic table type, permanent (default) or transient.
          example: PERMANENT
        columns:
          type: array
          items:
            $ref: '#/components/schemas/DynamicTableColumn'
          example: []
        target_lag:
          $ref: common.yaml#/components/schemas/TargetLag
        refresh_mode:
          type: string
          description: Specifies the refresh type for the dynamic table
          enum:
          - AUTO
          - FULL
          - INCREMENTAL
          example: AUTO
        initialize:
          type: string
          description: Specifies the behavior of the initial refresh of the dynamic table
          enum:
          - ON_CREATE
          - ON_SCHEDULE
          example: ON_CREATE
        warehouse:
          type: string
          description: Specifies the name of the warehouse that provides the compute resources for refreshing the dynamic table
          example: test_wh
        cluster_by:
          type: array
          description: Specifies one or more columns or column expressions in the dynamic table as the clustering key
          items:
            type: string
          example: []
        query:
          type: string
          description: Specifies the query whose results the dynamic table should contain
          example: SELECT * FROM foo
        data_retention_time_in_days:
          type: integer
          description: Specifies the retention period for the dynamic table so that Time Travel actions (SELECT, CLONE) can be performed on historical data in the dynamic table
          example: 10
        max_data_extension_time_in_days:
          type: integer
          description: Specifies the retention period for the dynamic table so that Time Travel actions (SELECT, CLONE) can be performed on historical data in the dynamic table
          example: 10
        comment:
          type: string
          description: Specifies a comment for the dynamic table.
          example: example_value
        created_on:
          type: string
          format: date-time
          readOnly: true
          description: Date and time when the dynamic table was created.
          example: '2026-01-15T10:30:00Z'
        database_name:
          type: string
          readOnly: true
          description: Database in which the dynamic table is stored
          example: example_value
        schema_name:
          type: string
          readOnly: true
          description: Schema in which the dynamic table is stored
          example: example_value
        rows:
          type: integer
          format: int64
          readOnly: true
          description: Number of rows in the dynamic table.
          example: 10
        bytes:
          type: integer
          format: int64
          readOnly: true
          description: Number of bytes that will be scanned if the entire table is scanned in a query. Note that this number may be different than the number of actual physical bytes stored on-disk 
            for the table
          example: 10
        scheduling_state:
          type: string
          enum:
          - RUNNING
          - SUSPENDED
          readOnly: true
          description: Scheduling state (RUNNING or SUSPENDED)
          example: RUNNING
        automatic_clustering:
          type: boolean
          readOnly: true
          description: If Automatic Clustering is enabled for your account, specifies whether it is explicitly enabled or disabled for the dynamic table.
          example: true
        owner:
          type: string
          readOnly: true
          description: Role that owns the table
          example: example_value
        owner_role_type:
          type: string
          readOnly: true
          description: The type of role that owns the object.
          example: example_value
        budget:
          type: string
          readOnly: true
          description: Name of the budget if the object is monitored by a budget
          example: example_value
      required:
      - name
      - target_lag
      - warehouse
      - query
    DynamicTableColumn:
      type

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/snowflake/refs/heads/main/openapi/dynamic-table.yaml