openapi: 3.0.0 servers: - description: Snowflake REST Server url: https://org-account.snowflakecomputing.com info: version: 0.0.1 title: Snowflake Notification Integration API description: The Snowflake Notification Integration API is a REST API that you can use to access, update, and perform certain actions on Notification Integration resource in a Snowflake database. contact: name: Snowflake, Inc. url: https://snowflake.com email: support@snowflake.com paths: /api/v2/notification-integrations: get: summary: List Notification Integrations tags: - notification-integration description: List notification integrations operationId: listNotificationIntegrations 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/NotificationIntegration' examples: Listnotificationintegrations200Example: summary: Default listNotificationIntegrations 200 response x-microcks-default: true value: - name: Example Title enabled: true comment: example_value created_on: '2026-01-15T10:30:00Z' notification_hook: type: EMAIL '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 Notification Integration tags: - notification-integration description: Create a notification integration operationId: createNotificationIntegration 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/NotificationIntegration' examples: CreatenotificationintegrationRequestExample: summary: Default createNotificationIntegration request x-microcks-default: true value: name: Example Title enabled: true comment: example_value created_on: '2026-01-15T10:30:00Z' notification_hook: type: EMAIL x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/v2/notification-integrations/{name}: get: summary: Fetch a Notification Integration tags: - notification-integration description: Fetch a notification integration operationId: fetchNotificationIntegration 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/NotificationIntegration' examples: Fetchnotificationintegration200Example: summary: Default fetchNotificationIntegration 200 response x-microcks-default: true value: name: Example Title enabled: true comment: example_value created_on: '2026-01-15T10:30:00Z' notification_hook: type: EMAIL '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: summary: Delete a Notification Integration tags: - notification-integration description: Delete a notification integration operationId: deleteNotificationIntegration 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: NotificationIntegration: type: object description: A Snowflake notification properties: name: type: string pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$ description: Name of the notification. example: Example Title enabled: type: boolean description: Whether the notification integration is enabled. example: true comment: type: string description: Comment for the notification integration. example: example_value created_on: type: string format: date-time readOnly: true description: Date and time when the notification was created. example: '2026-01-15T10:30:00Z' notification_hook: $ref: '#/components/schemas/NotificationHook' required: - name - notification_hook NotificationHook: type: object properties: type: type: string enum: - EMAIL - WEBHOOK - QUEUE_AWS_SNS_OUTBOUND - QUEUE_AZURE_EVENT_GRID_OUTBOUND - QUEUE_GCP_PUBSUB_OUTBOUND - QUEUE_AZURE_EVENT_GRID_INBOUND - QUEUE_GCP_PUBSUB_INBOUND description: Type of NotificationHook, can be QUEUE, EMAIL or WEBHOOK example: EMAIL required: - type discriminator: propertyName: type mapping: EMAIL: NotificationEmail WEBHOOK: NotificationWebhook QUEUE_AWS_SNS_OUTBOUND: NotificationQueueAwsSnsOutbound QUEUE_AZURE_EVENT_GRID_OUTBOUND: NotificationQueueAzureEventGridOutbound QUEUE_GCP_PUBSUB_OUTBOUND: NotificationQueueGcpPubsubOutbound QUEUE_AZURE_EVENT_GRID_INBOUND: NotificationQueueAzureEventGridInbound QUEUE_GCP_PUBSUB_INBOUND: NotificationQueueGcpPubsubInbound NotificationEmail: allOf: - $ref: '#/components/schemas/NotificationHook' properties: allowed_recipients: type: array items: type: string description: A comma-separated list of quoted email addresses that can receive notification emails from this integration. example: [] default_recipients: type: array items: type: string description: A comma-separated list of default recipients for messages sent with this integration. example: [] default_subject: type: string description: the default subject line for messages sent with this integration. example: example_value NotificationWebhook: allOf: - $ref: '#/components/schemas/NotificationHook' properties: webhook_url: type: string description: The URL for the webhook. The URL must use the https:// protocol. example: https://www.example.com webhook_secret: $ref: '#/components/schemas/WebhookSecret' description: The secret to use with this integration. webhook_body_template: type: string description: A template for the body of the HTTP request to send for the notification. example: example_value webhook_headers: type: object additionalProperties: type: string description: A list of HTTP headers and values to include in the HTTP request for the webhook. example: example_value required: - webhook_url WebhookSecret: type: object properties: name: type: string pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$ description: The name of the secret. example: Example Title database_name: type: string pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$ description: The database which stores the secret. example: example_value schema_name: type: string pattern: ^"([^"]|"")+"|[a-zA-Z_][a-zA-Z0-9_$]*$ description: The schema which stores the secret. example: example_value required: - name - database_name - schema_name NotificationQueueAwsSnsOutbound: allOf: - $ref: '#/components/schemas/NotificationHook' properties: aws_sns_topic_arn: type: string description: Amazon Resource Name (ARN) of the Amazon SNS (SNS) topic to which notifications are pushed. example: example_value aws_sns_role_arn: type: string description: ARN of the IAM role that has permissions to publish messages to the SNS topic. example: example_value sf_aws_iam_user_arn: type: string readOnly: true description: ARN for the Snowflake IAM user created for your account. example: example_value sf_aws_external_id: type: string readOnly: true description: External ID for the Snowflake IAM user created for your account. example: '500123' NotificationQueueAzureEventGridOutbound: allOf: - $ref: '#/components/schemas/NotificationHook' properties: azure_event_grid_topic_endpoint: type: string description: Event Grid topic endpoint to which Snowpipe pushes notifications. example: example_value azure_tenant_id: type: string description: ID of the Azure Active Directory tenant used for identity management. example: '500123' azure_consent_url: type: string readOnly: true description: URL to the Microsoft permissions request page. example: https://www.example.com azure_multi_tenant_app_name: type: string readOnly: true description: Name of the Snowflake client application created for your account. example: example_value NotificationQueueGcpPubsubOutbound: allOf: - $ref: '#/components/schemas/NotificationHook' properties: gcp_pubsub_topic_name: type: string description: Identification of the Pub/Sub topic to which Snowpipe pushes notifications. example: example_value gcp_pubsub_service_account: type: string readOnly: true description: Google Cloud Platform (GCP) service account created for your account. example: example_value NotificationQueueAzureEventGridInbound: allOf: - $ref: '#/components/schemas/NotificationHook' properties: azure_storage_queue_primary_uri: type: string description: the queue ID for the Azure Queue Storage queue created for Event Grid notifications. example: example_value azure_tenant_id: type: string description: the ID of the Azure Active Directory tenant used for identity management. example: '500123' azure_consent_url: type: string readOnly: true description: URL to the Microsoft permissions request page. example: https://www.example.com azure_multi_tenant_app_name: type: string readOnly: true description: Name of the Snowflake client application created for your account. example: example_value NotificationQueueGcpPubsubInbound: allOf: - $ref: '#/components/schemas/NotificationHook' properties: gcp_pubsub_subscription_name: type: string description: Pub/Sub topic subscription ID used to allow Snowflake access to event messages. example: example_value gcp_pubsub_service_account: type: string readOnly: true description: Google Cloud Platform (GCP) service account created for your account. example: example_value 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: []