Server/api/api.yml
Snoweuph d15ab33a62
Some checks failed
Quality Check / Validate OAS (push) Successful in 40s
Build Application / build (push) Successful in 1m30s
Build Application / build-docker (push) Failing after 11s
Build Application / release (push) Has been skipped
Quality Check / Linting (push) Successful in 59s
Quality Check / Testing (push) Successful in 45s
Quality Check / Static Analysis (push) Successful in 53s
chore: setup
2025-02-01 14:35:30 +01:00

110 lines
No EOL
3 KiB
YAML

openapi: 3.0.0
info:
title: Tower Defence Server
description: An API for talking to the Tower Defence Server
version: 0.0.1
servers:
- url: /api/v1
- url: http://localhost:8080/api/v1
security:
- JWTAuth: []
components:
securitySchemes:
JWTAuth:
type: http
scheme: bearer
bearerFormat: JWT
schemas:
#############################################
# UUID #
#############################################
UUID:
description: Unique identifier compatible with [RFC9562](https://datatracker.ietf.org/doc/html/rfc9562)
type: string
format: uuid
example: f0981749-f550-46cd-b9ce-b6ca7cd0251f
#############################################
# AdminAuthInfo #
#############################################
ServerHealth:
type: object
properties:
okay:
type: boolean
required:
- okay
#############################################
# AdminAuthInfo #
#############################################
AdminAuthInfo:
type: object
properties:
username:
type: string
required:
- username
responses:
401Unauthorized:
description: "401 - Unauthorized"
404NotFound:
description: "Not Found"
content:
text/plain:
schema:
type: string
409Conflict:
description: "409 - Conflict"
content:
text/plain:
schema:
type: string
500InternalError:
description: "500 - Internal Server Error"
content:
text/plain:
schema:
type: string
503ServiceUnavailable:
description: "503 - Service Unavailable"
content:
text/plain:
schema:
type: string
paths:
/server/health:
get:
operationId: "ServerGetHealthcheck"
tags:
- server
description: "Endpoint for doing a Healthcheck of the Server"
responses:
200:
description: "A Health-Report of the server"
content:
application/json:
schema:
$ref: "#/components/schemas/ServerHealth"
500:
$ref: "#/components/responses/500InternalError"
503:
$ref: "#/components/responses/503ServiceUnavailable"
/admin/authenticated:
get:
operationId: "AdminGetAuthenticated"
tags:
- admin
description: "Endpoint for Checking if you're authenticated as an admin"
responses:
200:
description: "A Minimal Admin Info for testing if the admin is logged in"
content:
application/json:
schema:
$ref: "#/components/schemas/AdminAuthInfo"
401:
$ref: "#/components/responses/401Unauthorized"
500:
$ref: "#/components/responses/500InternalError"
503:
$ref: "#/components/responses/503ServiceUnavailable"