openapi: 3.0.0 servers: - description: Snowflake REST Server url: https://org-account.snowflakecomputing.com info: version: 0.0.1 title: Snowflake API Integration API description: The Snowflake API Integration API is a REST API that you can use to access, update, and perform certain actions on API Integration resource in a Snowflake database. contact: name: Snowflake, Inc. url: https://snowflake.com email: support@snowflake.com paths: /api/v2/api-integrations: get: summary: List Api Integrations tags: - api-integration description: List API integrations operationId: listAPIIntegrations parameters: - $ref: common.yaml#/components/parameters/like 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/ApiIntegration' examples: Listapiintegrations200Example: summary: Default listAPIIntegrations 200 response x-microcks-default: true value: - name: Example Title api_hook: type: AWS api_allowed_prefixes: - example_value api_blocked_prefixes: - example_value enabled: true comment: example_value created_on: '2026-01-15T10:30:00Z' '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 an Api Integration tags: - api-integration description: Create an API integration operationId: createAPIIntegration parameters: - $ref: common.yaml#/components/parameters/createMode 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 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ApiIntegration' examples: CreateapiintegrationRequestExample: summary: Default createAPIIntegration request x-microcks-default: true value: name: Example Title api_hook: type: AWS api_allowed_prefixes: - example_value api_blocked_prefixes: - example_value enabled: true comment: example_value created_on: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v2/api-integrations/{name}: get: summary: Fetch an Api Integration tags: - api-integration description: Fetch an API integration operationId: fetchAPIIntegration parameters: - $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/ApiIntegration' examples: Fetchapiintegration200Example: summary: Default fetchAPIIntegration 200 response x-microcks-default: true value: name: Example Title api_hook: type: AWS api_allowed_prefixes: - example_value api_blocked_prefixes: - example_value enabled: true comment: example_value created_on: '2026-01-15T10:30:00Z' '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 put: summary: Create an (or Alter an Existing) Api Integration tags: - api-integration description: Create an (or alter an existing) API integration. Note that API_KEY is not currently altered by this operation and is supported for a newly-created object only. Unsetting API_BLOCKED_PREFIXES is also unsupported. operationId: createOrAlterAPIIntegration 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 '500': $ref: common.yaml#/components/responses/500InternalServerError '503': $ref: common.yaml#/components/responses/503ServiceUnavailable '504': $ref: common.yaml#/components/responses/504GatewayTimeout requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ApiIntegration' examples: CreateoralterapiintegrationRequestExample: summary: Default createOrAlterAPIIntegration request x-microcks-default: true value: name: Example Title api_hook: type: AWS api_allowed_prefixes: - example_value api_blocked_prefixes: - example_value enabled: true comment: example_value created_on: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: summary: Delete an Api Integration tags: - api-integration description: Delete an API integration operationId: deleteAPIIntegration parameters: - $ref: common.yaml#/components/parameters/name - $ref: common.yaml#/components/parameters/ifExists 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: ApiIntegration: type: object description: A Snowflake API integration object. properties: name: type: string pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$ description: Name of the API integration. example: Example Title api_hook: $ref: '#/components/schemas/ApiHook' api_allowed_prefixes: type: array items: type: string description: A comma-separated list of endpoints and resources that Snowflake can access. example: [] api_blocked_prefixes: type: array items: type: string description: A comma-separated list of endpoints and resources that are not allowed to be called from Snowflake. nullable: true example: [] enabled: type: boolean description: Whether the API integration is enabled. example: true comment: type: string description: Comment for the API integration. nullable: true example: example_value created_on: type: string format: date-time readOnly: true description: Date and time when the API integration was created. example: '2026-01-15T10:30:00Z' required: - name - api_hook - api_allowed_prefixes - enabled ApiHook: type: object properties: type: type: string enum: - AWS - AZURE - GC - GIT description: Type of ApiHook, can be AWS, AZURE, GC or GIT. example: AWS required: - type discriminator: propertyName: type mapping: AWS: AwsHook AZURE: AzureHook GC: GoogleCloudHook GIT: GitHook AwsHook: type: object allOf: - $ref: '#/components/schemas/ApiHook' properties: api_provider: type: string enum: - AWS_API_GATEWAY - AWS_PRIVATE_API_GATEWAY - AWS_GOV_API_GATEWAY - AWS_GOV_PRIVATE_API_GATEWAY example: AWS_API_GATEWAY api_aws_role_arn: type: string description: The ARN (Amazon resource name) of the IAM role. example: example_value api_key: $ref: '#/components/schemas/ApiKey' required: - api_provider - api_aws_role_arn AzureHook: type: object allOf: - $ref: '#/components/schemas/ApiHook' properties: api_provider: type: string enum: - AZURE_API_MANAGEMENT - AZURE_PRIVATE_API_MANAGEMENT example: AZURE_API_MANAGEMENT azure_tenant_id: type: string description: The ID of the Office 365 tenant that all Azure API Management instances belong to. example: '500123' azure_ad_application_id: type: string description: The application ID of the Azure Active Directory application. example: '500123' api_key: $ref: '#/components/schemas/ApiKey' required: - api_provider - azure_tenant_id - azure_ad_application_id GoogleCloudHook: type: object allOf: - $ref: '#/components/schemas/ApiHook' properties: api_provider: type: string enum: - GOOGLE_API_GATEWAY example: GOOGLE_API_GATEWAY google_audience: type: string description: Used as an audience claim when generating the JTW (JSON Web Token) to authenticate to the Google API Gateway. example: example_value api_key: $ref: '#/components/schemas/ApiKey' required: - api_provider - google_audience GitHook: type: object allOf: - $ref: '#/components/schemas/ApiHook' properties: allow_any_secret: type: boolean default: false description: Whether to allow any Snowflake secret when accessing the Git repository. This setting is ignored if allowed_authentication_secrets is present. example: true allowed_authentication_secrets: type: array items: type: string description: A comma-separated list of fully-qualified Snowflake secret names that UDF or procedure handler code can use when accessing the Git repository. nullable: true example: [] allowed_api_authentication_integrations: type: array items: type: string description: A comma-separated list of Snowflake security integration names that UDF or procedure handler code can use when accessing the Git repository. If empty, allow no integrations. nullable: true example: [] ApiKey: type: string description: An alphanumeric string that is used to identify API clients and control access to the API, also called a subscription key. nullable: true 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: []