mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2024-12-20 19:06:06 +01:00
7d05317357
* Initial notification schema * Add: notification event and settings schema * Add: NotificationController * Update bundled spec * Fix: `operationId` typos * Fix: library response to be arroy of objects * Fix: notification ID is not uuid * Add: `nullable` notification creation parameters * Nullable libraryId schema * Remove: `id` from Notification requestBody * Fix: `allOf` for `libraryItemSequence` * Fix: required `id` in wrong body * Fix: libraryItem typos * Update: bundled spec
224 lines
7.5 KiB
YAML
224 lines
7.5 KiB
YAML
components:
|
|
responses:
|
|
notification200:
|
|
description: Notification endpoint success.
|
|
content:
|
|
text/html:
|
|
schema:
|
|
type: string
|
|
example: OK
|
|
notification404:
|
|
description: An admin user is required or notification with the given ID not found.
|
|
content:
|
|
text/html:
|
|
schema:
|
|
type: string
|
|
example: Series not found.
|
|
paths:
|
|
/api/notifications:
|
|
get:
|
|
operationId: getNotifications
|
|
description: Get all Apprise notification events and notification settings for server.
|
|
tags:
|
|
- Notification
|
|
responses:
|
|
'200':
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
events:
|
|
type: array
|
|
items:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/NotificationEvent'
|
|
settings:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/NotificationSettings'
|
|
'404':
|
|
$ref: '#/components/responses/notification404'
|
|
patch:
|
|
operationId: updateNotificationSettings
|
|
description: Update Notification settings.
|
|
tags:
|
|
- Notification
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
appriseApiUrl:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/appriseApiUrl'
|
|
maxFailedAttempts:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/maxFailedAttempts'
|
|
maxNotificationQueue:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/maxNotificationQueue'
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/notification200'
|
|
'404':
|
|
$ref: '#/components/responses/notification404'
|
|
post:
|
|
operationId: createNotification
|
|
description: Update Notification settings.
|
|
tags:
|
|
- Notification
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
libraryId:
|
|
$ref: '../objects/Library.yaml#/components/schemas/libraryIdNullable'
|
|
eventName:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/notificationEventName'
|
|
urls:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/urls'
|
|
titleTemplate:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/titleTemplate'
|
|
bodyTemplate:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/bodyTemplate'
|
|
enabled:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/enabled'
|
|
type:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/notificationType'
|
|
required:
|
|
- eventName
|
|
- urls
|
|
- titleTemplate
|
|
- bodyTemplate
|
|
responses:
|
|
'200':
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
settings:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/NotificationSettings'
|
|
'404':
|
|
$ref: '#/components/responses/notification404'
|
|
/api/notificationdata:
|
|
get:
|
|
operationId: getNotificationEventData
|
|
description: Get all Apprise notification event data for the server.
|
|
tags:
|
|
- Notification
|
|
responses:
|
|
'200':
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
events:
|
|
type: array
|
|
items:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/NotificationEvent'
|
|
'404':
|
|
$ref: '#/components/responses/notification404'
|
|
/api/notifications/test:
|
|
get:
|
|
operationId: sendDefaultTestNotification
|
|
description: Send a test notification.
|
|
tags:
|
|
- Notification
|
|
parameters:
|
|
- in: query
|
|
name: fail
|
|
description: Whether to intentionally cause the notification to fail. `0` for false, `1` for true.
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/notification200'
|
|
'404':
|
|
$ref: '#/components/responses/notification404'
|
|
/api/notifications/{id}:
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
description: The ID of the notification.
|
|
required: true
|
|
schema:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/notificationId'
|
|
delete:
|
|
operationId: deleteNotification
|
|
description: Delete the notification by ID and return the notification settings.
|
|
tags:
|
|
- Notification
|
|
responses:
|
|
'200':
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
settings:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/NotificationSettings'
|
|
'404':
|
|
$ref: '#/components/responses/notification404'
|
|
patch:
|
|
operationId: updateNotification
|
|
description: Update individual Notification
|
|
tags:
|
|
- Notification
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
libraryId:
|
|
$ref: '../objects/Library.yaml#/components/schemas/libraryId'
|
|
eventName:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/notificationEventName'
|
|
urls:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/urls'
|
|
titleTemplate:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/titleTemplate'
|
|
bodyTemplate:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/bodyTemplate'
|
|
enabled:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/enabled'
|
|
type:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/notificationType'
|
|
responses:
|
|
'200':
|
|
description: Success
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
settings:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/NotificationSettings'
|
|
'404':
|
|
$ref: '#/components/responses/notification404'
|
|
/api/notifications/{id}/test:
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
description: The ID of the notification.
|
|
required: true
|
|
schema:
|
|
$ref: '../objects/Notification.yaml#/components/schemas/notificationId'
|
|
get:
|
|
operationId: sendTestNotification
|
|
description: Send a test to the given notification.
|
|
tags:
|
|
- Notification
|
|
responses:
|
|
'200':
|
|
$ref: '#/components/responses/notification200'
|
|
'404':
|
|
$ref: '#/components/responses/notification404'
|