-
Jan Siwiec authoredJan Siwiec authored
apiv2.md 3.93 KiB
SCS API v2
Info
- OpenAPI: 3.1.0
- Title: scs-api-2
- Version: 0.1.0
-
Server URL:
https://scs.it4i.cz/api/v2
Paths
/dedicated-time
GET
- Summary: Get dedicated times
- Description: Retrieves dedicated time entries, optionally filtered by cluster name or period preset
-
OperationId:
dedicated_time_handler
Parameters:
-
cluster
(query): Filter by cluster name; Available values: karolina, barbora, dgx (optional) -
period
(query): Filter by time period preset; Available values: planned, active (optional)
Responses:
-
200
: List of dedicated time entries -
400
: Failed to deserialize query, Invalid cluster, Invalid period Example:{ "message": "Invalid cluster: el_gordo" }
-
500
: Failed to retrieve dedicated time due to a server error Example:{ "message": "Failed to retreive dedicated time" }
/dedicated-time-calendar
GET
- Summary: Get dedicated times
- Description: Retrieves dedicated time entries and generates a VCalendar response.
-
OperationId:
dedicated_time_calendar
Responses:
-
200
: Dedicated time VCalendar Example:BEGIN:VCALENDAR VERSION:2.0 PRODID:-//SUTD Timetable Calendar//randName//EN CALSCALE:GREGORIAN BEGIN:VEVENT UID:1234@example.com DTSTAMP:20230101T000000Z DTSTART:20230101T000000Z DTEND:20230102T000000Z SUMMARY:Sample Dedicated Time - Cluster Outage DESCRIPTION:Sample Dedicated Time - Cluster Outage END:VEVENT END:VCALENDAR
-
500
: Failed to retrieve dedicated time calendar Example:{ "message": "Failed to retreive dedicated time calendar" }
/motd
GET
- Summary: Get messages of the day
- Description: Retrieves messages of the day, optionally filtered by category
-
OperationId:
motd
Parameters:
-
category
(query): (optional)
Responses:
-
200
: List of motd entries -
400
: Failed to deserialize query, Invalid motd category -
500
: Failed to retrieve motd entries due to a server error Example:{ "message": "Failed to retrieve motd" }
Components
Schemas
DedicatedTime
type: object
required:
- updated_at
properties:
cluster_type:
type: [string, 'null']
date_efficiency:
type: [string, 'null']
format: date-time
date_expiration:
type: [string, 'null']
format: date-time
updated_at:
type: string
format: date-time
Motd
type: object
required:
- id
- author
- category
- created_at
- updated_at
- date_modification
- title
- message_body
- systems
properties:
id:
type: integer
format: int32
examples: [1]
author:
type: string
examples: [Admin]
category:
type: string
examples: [public-service-announcement]
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
date_modification:
type: string
format: date-time
date_efficiency:
type: [string, 'null']
format: date-time
date_expiration:
type: [string, 'null']
format: date-time
date_outage_efficiency:
type: [string, 'null']
format: date-time
date_outage_expiration:
type: [string, 'null']
format: date-time
title:
type: string
examples: [Important Update]
message_body:
type: string
examples: [We are experiencing some service disruptions.]
systems:
type: array
items:
type: string
examples: [Karolina]
MsgResponse
type: object
description: |
Common struct for DTO-less responses
eg. ```200 {"message":"Operation succeeded"}```
required:
- message
properties:
message:
type: string
examples: [API response]