Skip to content

Commit 1a36ce7

Browse files
committed
feat: add openapi spec for get post alerts
1 parent d7d3167 commit 1a36ce7

File tree

2 files changed

+100
-0
lines changed

2 files changed

+100
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"""Blueprints for notifications."""
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
openapi: 3.0.2
2+
info:
3+
title: Renku Data Services API
4+
description: |
5+
A service that allows alerts to be sent to users.
6+
version: v1
7+
servers:
8+
- url: /api/data
9+
paths:
10+
/alerts:
11+
post:
12+
summary: Send an alert to a user.
13+
requestBody:
14+
required: true
15+
content:
16+
application/json:
17+
schema:
18+
$ref: "#/components/schemas/AlertPost"
19+
responses:
20+
"201":
21+
description: Alert successfully created
22+
content:
23+
"application/json":
24+
schema:
25+
$ref: "#/components/schemas/Alert"
26+
tags:
27+
- alerts
28+
get:
29+
summary: Retrieve all active alerts for a user.
30+
responses:
31+
"200":
32+
description: A list of active alerts for the user.
33+
content:
34+
"application/json":
35+
schema:
36+
$ref: "#/components/schemas/AlertList"
37+
tags:
38+
- alerts
39+
components:
40+
schemas:
41+
AlertList:
42+
type: array
43+
description: A list of alerts.
44+
items:
45+
$ref: "#/components/schemas/Alert"
46+
AlertPost:
47+
description: Data required to create an alert.
48+
type: object
49+
properties:
50+
status:
51+
$ref: "#/components/schemas/AlertStatus"
52+
alerts:
53+
type: array
54+
description: The list of alerts.
55+
items:
56+
type: string
57+
minItems: 1
58+
AlertStatus:
59+
type: string
60+
description: The status of the alert.
61+
enum:
62+
- firing
63+
- resolved
64+
AlertLabels:
65+
type: object
66+
description: Labels associated with the alert.
67+
additionalProperties:
68+
type: string
69+
AlertAnnotations:
70+
type: object
71+
description: Annotations associated with the alert.
72+
additionalProperties:
73+
type: string
74+
Alert:
75+
description: An alert sent to a user.
76+
type: object
77+
properties:
78+
status:
79+
$ref: "#/components/schemas/AlertStatus"
80+
labels:
81+
$ref: "#/components/schemas/AlertLabels"
82+
annotations:
83+
$ref: "#/components/schemas/AlertAnnotations"
84+
startsAt:
85+
type: string
86+
format: date-time
87+
description: The time the alert started.
88+
endsAt:
89+
type: string
90+
format: date-time
91+
description: The time the alert ended.
92+
fingerprint:
93+
type: string
94+
description: The fingerprint of the alert.
95+
required:
96+
- status
97+
- labels
98+
- annotations
99+
- fingerprint

0 commit comments

Comments
 (0)