Snowflake Image Repository API

The Snowflake Image Repository API is a REST API that you can use to access, update, and perform common actions on Image Repository resource in Snowflake.

OpenAPI Specification

image-repository.yaml Raw ↑
openapi: 3.0.0
servers:
- description: Snowflake Image Repository API
  url: https://org-account.snowflakecomputing.com
info:
  version: 0.0.1
  title: Snowflake Image Repository API
  description: The Snowflake Image Repository API is a REST API that you can use to access, update, and perform common actions on Image Repository resource in Snowflake.
  contact:
    name: Snowflake, Inc.
    url: https://snowflake.com
    email: support@snowflake.com
paths:
  /api/v2/databases/{database}/schemas/{schema}/image-repositories:
    get:
      summary: Lists Image Repositories.
      tags:
      - image-repository
      description: Lists the image repositories under a specified database and schema.
      operationId: listImageRepositories
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $ref: common.yaml#/components/parameters/like
      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/ImageRepository'
              examples:
                Listimagerepositories200Example:
                  summary: Default listImageRepositories 200 response
                  x-microcks-default: true
                  value:
                  - name: {}
                    database_name: {}
                    schema_name: {}
                    created_on: '2026-01-15T10:30:00Z'
                    repository_url: https://www.example.com
                    owner: example_value
                    owner_role_type: 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
        '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 an Image Repository in the Specified Database and Schema.
      tags:
      - image-repository
      description: Creates an image repository in the specified database, schema, and create mode. The `createMode` query parameter specifies what action to take based on whether the repository 
        already exists. See the ImageRepository component definition for what is required to be provided in the request body.
      operationId: createImageRepository
      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/ImageRepository'
            examples:
              CreateimagerepositoryRequestExample:
                summary: Default createImageRepository request
                x-microcks-default: true
                value:
                  name: {}
                  database_name: {}
                  schema_name: {}
                  created_on: '2026-01-15T10:30:00Z'
                  repository_url: https://www.example.com
                  owner: example_value
                  owner_role_type: 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/databases/{database}/schemas/{schema}/image-repositories/{name}:
    get:
      summary: Fetches an Image Repository.
      tags:
      - image-repository
      description: Fetches a named image repository in a specified database and schema.
      operationId: fetchImageRepository
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $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/ImageRepository'
              examples:
                Fetchimagerepository200Example:
                  summary: Default fetchImageRepository 200 response
                  x-microcks-default: true
                  value:
                    name: {}
                    database_name: {}
                    schema_name: {}
                    created_on: '2026-01-15T10:30:00Z'
                    repository_url: https://www.example.com
                    owner: example_value
                    owner_role_type: 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
    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: Deletes an Image Repository.
      tags:
      - image-repository
      description: Deletes an image repository with the given name. If you enable the `ifExists` query parameter, the operation succeeds even if the object does not exist. Otherwise, a 404 failure is 
        returned if the object does not exist.
      operationId: deleteImageRepository
      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/databases/{database}/schemas/{schema}/image-repositories/{name}/images:
    get:
      summary: List Images in the Image Repository.
      tags:
      - image-repository
      description: List images in the given image repository.
      operationId: listImagesInRepository
      parameters:
      - $ref: common.yaml#/components/parameters/database
      - $ref: common.yaml#/components/parameters/schema
      - $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:
                type: array
                items:
                  $ref: '#/components/schemas/Image'
              examples:
                Listimagesinrepository200Example:
                  summary: Default listImagesInRepository 200 response
                  x-microcks-default: true
                  value:
                  - created_on: example_value
                    image_name: example_value
                    tags: example_value
                    digest: example_value
                    image_path: 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
components:
  schemas:
    Image:
      type: object
      description: A image in a Snowflake image repository.
      properties:
        created_on:
          type: string
          description: Date and time when the image was uploaded to the image repository.
          readOnly: true
          example: example_value
        image_name:
          type: string
          description: Image name.
          readOnly: true
          example: example_value
        tags:
          type: string
          description: Image tags.
          readOnly: true
          example: example_value
        digest:
          type: string
          description: SHA256 digest of the image.
          readOnly: true
          example: example_value
        image_path:
          type: string
          description: Image path (database_name/schema_name/repository_name/image_name:image_tag).
          readOnly: true
          example: example_value
    ImageRepository:
      type: object
      description: A Snowflake image repository.
      properties:
        name:
          $ref: ./common.yaml#/components/schemas/Identifier
        database_name:
          $ref: ./common.yaml#/components/schemas/Identifier
          readOnly: true
        schema_name:
          $ref: ./common.yaml#/components/schemas/Identifier
          readOnly: true
        created_on:
          type: string
          description: Time the image repository was created.
          format: date-time
          readOnly: true
          example: '2026-01-15T10:30:00Z'
        repository_url:
          type: string
          description: Current URL of the image repository.
          readOnly: true
          example: https://www.example.com
        owner:
          type: string
          description: Identifier for the current owner of the image repository.
          readOnly: true
          example: example_value
        owner_role_type:
          type: string
          description: Role type of the image repository owner.
          readOnly: true
          example: example_value
      example:
        name: image_repository_name
        database_name: test_db
        schema_name: test_schema
        created_on: '2024-06-18T01:01:01.111111'
        repository_url: https://www.snowflake.com
        owner: IMAGE_ADMIN
        owner_role_type: ADMIN
      required:
      - name
  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: []