Keboola Notifications API
The Notifications API from Keboola — 1 operation(s) for notifications.
The Notifications API from Keboola — 1 operation(s) for notifications.
openapi: 3.0.0
info:
title: AI Service Actions Notifications API
version: 1.0.0
contact:
email: devel@keboola.com
license:
name: MIT
url: https://opensource.org/licenses/MIT
tags:
- name: Notifications
paths:
/notifications:
post:
summary: Send a direct notification
operationId: postNotification
tags:
- Notifications
description: 'Send a direct notification to a specific recipient email without requiring a subscription.
'
security:
- ApplicationTokenAuth: []
requestBody:
content:
application/json:
schema:
type: object
required:
- type
- recipient
- data
properties:
type:
type: string
enum:
- direct-project-email
- direct-project-webhook
description: Type of notification to send
recipient:
oneOf:
- $ref: '#/components/schemas/RecipientChannel_Email'
- $ref: '#/components/schemas/RecipientChannel_Webhook'
discriminator:
propertyName: channel
data:
type: object
description: Event data according to notification type schema
required:
- project
- title
- message
properties:
project:
type: object
required:
- id
- name
properties:
id:
type: string
description: Project ID
name:
type: string
description: Project name
flow:
type: object
description: Optional flow information
required:
- id
- name
- url
properties:
id:
type: string
description: Flow ID
name:
type: string
description: Flow name
url:
type: string
format: url
description: Flow URL
job:
type: object
description: Optional job information
required:
- id
- url
properties:
id:
type: string
description: Job ID
url:
type: string
format: url
description: Job URL
title:
type: string
description: Notification title
message:
type: string
description: Notification message
examples:
directProjectEmail:
value:
type: direct-project-email
recipient:
channel: email
address: user@example.com
data:
project:
id: '1234'
name: My Project
title: Important Notification
message: This is an important notification about your project.
directProjectEmailWithFlowAndJob:
value:
type: direct-project-email
recipient:
channel: email
address: user@example.com
data:
project:
id: '1234'
name: My Project
flow:
id: '5678'
name: My Flow
url: https://connection.keboola.com/admin/projects/1234/flows-v2/5678
job:
id: '9012'
url: https://connection.keboola.com/admin/projects/1234/queue/9012
title: Important Notification
message: This is an important notification about your project.
directProjectWebhook:
value:
type: direct-project-webhook
recipient:
channel: webhook
url: https://webhook.example.com/notifications
data:
project:
id: '1234'
name: My Project
title: Important Notification
message: This is an important notification about your project.
responses:
'202':
description: Notification accepted for processing
content:
application/json:
schema:
$ref: '#/components/schemas/Notification'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
RecipientChannel_Email:
type: object
required:
- channel
- address
properties:
channel:
type: string
enum:
- email
address:
type: string
format: email
Error:
type: object
required:
- error
- code
- status
properties:
error:
type: string
example: The value foobar is invalid
code:
type: integer
example: 400
status:
type: string
enum:
- error
exceptionId:
type: string
example: job-runner-1234567890
RecipientChannel_Webhook:
type: object
required:
- channel
- url
properties:
channel:
type: string
enum:
- webhook
url:
type: string
format: uri
NumericString:
type: string
pattern: ^\d+$
example: '1234'
Notification:
type: object
properties:
id:
$ref: '#/components/schemas/NumericString'
required:
- id
responses:
BadRequest:
description: Invalid input data
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-StorageApi-Token