99 lines
2.8 KiB
YAML
99 lines
2.8 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: Project Ham API Specification
|
|
version: 0.0.1
|
|
contact:
|
|
name: Project Maintainer
|
|
email: me@hamzantal.pw
|
|
license:
|
|
name: MIT
|
|
paths:
|
|
/auth/login:
|
|
post:
|
|
tags:
|
|
- Auth Endpoints
|
|
summary: Attemps to log in a user with credentials, and returns an access token.
|
|
requestBody:
|
|
$ref: '#/components/requestBodies/AuthCredentials'
|
|
responses:
|
|
200:
|
|
description: You have been successfully logged in, and you can use the token to interact with the web server.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Token'
|
|
400:
|
|
$ref: '#/components/responses/MalformedBody'
|
|
401:
|
|
$ref: '#/components/responses/InvalidCredentials'
|
|
500:
|
|
$ref: '#/components/responses/ServerError'
|
|
|
|
components:
|
|
requestBodies:
|
|
AuthCredentials:
|
|
description: User credentials.
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
required:
|
|
- username
|
|
- password
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: The username of the user.
|
|
password:
|
|
type: string
|
|
description: The password of the user.
|
|
responses:
|
|
MalformedBody:
|
|
description: The information in your body is incomplete, or your JSON format is invalid.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
example:
|
|
reason: Invalid request body provided.
|
|
code: 400
|
|
InvalidCredentials:
|
|
description: The credentials you have provided are incorrect.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
example:
|
|
reason: The username or password provided are incorrect.
|
|
code: 401
|
|
ServerError:
|
|
description: The server could not complete a request due to an unknown error. More informatino may be available in the description.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
example:
|
|
reason: The internal server reached an unknown state.
|
|
code: 500
|
|
schemas:
|
|
Token:
|
|
required:
|
|
- token
|
|
type: object
|
|
properties:
|
|
token:
|
|
type: string
|
|
description: The access token value
|
|
Error:
|
|
required:
|
|
- reason
|
|
- code
|
|
type: object
|
|
properties:
|
|
reason:
|
|
type: string
|
|
description: The cause of the error message
|
|
code:
|
|
type: integer
|
|
description: The HTTP error code value accompanying the error. |