Files
easywish/backend/docs/swagger.yaml
2025-06-20 17:55:42 +03:00

204 lines
4.1 KiB
YAML

basePath: /api/
definitions:
controllers.HealthStatus:
properties:
healthy:
type: boolean
type: object
models.LoginRequest:
properties:
password:
type: string
totp:
type: string
username:
type: string
type: object
models.LoginResponse:
properties:
access_token:
type: string
refresh_token:
type: string
type: object
info:
contact: {}
description: Easy and feature-rich wishlist.
license:
name: GPL 3.0
title: Easywish client API
version: "1.0"
paths:
/account/changePassword:
put:
consumes:
- application/json
produces:
- application/json
responses: {}
security:
- JWT: []
summary: Change account password
tags:
- Account
/auth/login:
post:
consumes:
- application/json
parameters:
- description: desc
in: body
name: request
required: true
schema:
$ref: '#/definitions/models.LoginRequest'
produces:
- application/json
responses:
"200":
description: desc
schema:
$ref: '#/definitions/models.LoginResponse'
summary: Acquire tokens via login credentials (and 2FA code if needed)
tags:
- Auth
/auth/passwordResetBegin:
post:
consumes:
- application/json
produces:
- application/json
responses: {}
summary: Request password reset email
tags:
- Auth
/auth/passwordResetComplete:
post:
consumes:
- application/json
produces:
- application/json
responses: {}
summary: Complete password reset with email code and provide 2FA code or backup
code if needed
tags:
- Auth
/auth/refresh:
post:
consumes:
- application/json
produces:
- application/json
responses: {}
summary: Receive new tokens via refresh token
tags:
- Auth
/auth/registrationBegin:
post:
consumes:
- application/json
produces:
- application/json
responses: {}
summary: Register an account
tags:
- Auth
/auth/registrationComplete:
post:
consumes:
- application/json
produces:
- application/json
responses: {}
summary: Confirm with code, finish creating the account
tags:
- Auth
/profile:
patch:
consumes:
- application/json
produces:
- application/json
responses: {}
security:
- JWT: []
summary: Update profile
tags:
- Profile
/profile/{username}:
get:
consumes:
- application/json
parameters:
- description: Username
in: path
name: username
required: true
type: string
produces:
- application/json
responses: {}
security:
- JWT: []
summary: Get someone's profile details
tags:
- Profile
/profile/me:
get:
consumes:
- application/json
produces:
- application/json
responses: {}
security:
- JWT: []
summary: Get own profile when authorized
tags:
- Profile
/profile/privacy:
get:
consumes:
- application/json
produces:
- application/json
responses: {}
security:
- JWT: []
summary: Get profile privacy settings
tags:
- Profile
patch:
consumes:
- application/json
produces:
- application/json
responses: {}
security:
- JWT: []
summary: Update profile privacy settings
tags:
- Profile
/service/health:
get:
consumes:
- application/json
description: Used internally for checking service health
produces:
- application/json
responses:
"200":
description: Says whether it's healthy or not
schema:
$ref: '#/definitions/controllers.HealthStatus'
summary: Get health status
tags:
- Service
schemes:
- http
securityDefinitions:
JWT:
in: header
name: Authorization
type: apiKey
swagger: "2.0"