Hideout/src/main/resources/openapi/documentation.yaml

366 lines
7.8 KiB
YAML

openapi: "3.0.3"
info:
title: "hideout API"
description: "hideout API"
version: "1.0.0"
servers:
- url: "https://hideout"
paths:
/.well-known/jwks.json:
get:
description: ""
responses:
"200":
description: "OK"
content:
application/json:
schema:
type: "string"
/auth-check:
get:
description: ""
responses:
"200":
description: "OK"
content:
text/plain:
schema:
type: "string"
examples:
Example#1:
value: ""
/login:
post:
description: ""
requestBody:
content:
'*/*':
schema:
$ref: "#/components/schemas/UserLogin"
required: true
responses:
"401":
description: "Unauthorized"
content:
'*/*':
schema:
type: "object"
"200":
description: "OK"
content:
'*/*':
schema:
$ref: "#/components/schemas/JwtToken"
/refresh-token:
post:
description: ""
requestBody:
content:
'*/*':
schema:
$ref: "#/components/schemas/RefreshToken"
required: true
responses:
"200":
description: "OK"
content:
'*/*':
schema:
$ref: "#/components/schemas/JwtToken"
/.well-known/webfinger:
get:
description: ""
parameters:
- name: "resource"
in: "query"
required: false
schema:
type: "string"
responses:
"200":
description: "OK"
content:
'*/*':
schema:
$ref: "#/components/schemas/WebFinger"
/api/internal/v1/posts:
get:
description: ""
parameters:
- name: "since"
in: "query"
required: false
schema:
type: "string"
- name: "until"
in: "query"
required: false
schema:
type: "string"
- name: "minId"
in: "query"
required: false
schema:
type: "number"
- name: "maxId"
in: "query"
required: false
schema:
type: "number"
- name: "limit"
in: "query"
required: false
schema:
type: "integer"
post:
description: ""
requestBody:
content:
'*/*':
schema:
$ref: "#/components/schemas/Post"
required: true
responses:
"200":
description: "OK"
content:
'*/*':
schema:
type: "object"
/inbox:
get:
description: ""
responses:
"405":
description: "Method Not Allowed"
content:
'*/*':
schema:
type: "object"
post:
description: ""
responses:
"200":
description: "OK"
content:
'*/*':
schema:
type: "string"
"501":
description: "Not Implemented"
content:
'*/*':
schema:
type: "object"
/outbox:
get:
description: ""
responses:
"501":
description: "Not Implemented"
content:
'*/*':
schema:
type: "object"
post:
description: ""
responses:
"501":
description: "Not Implemented"
content:
'*/*':
schema:
type: "object"
/users/{name}:
get:
description: ""
parameters:
- name: "name"
in: "path"
required: true
schema:
type: "string"
responses:
"200":
description: "OK"
content:
text/plain:
schema:
type: "string"
/users/{name}/inbox:
get:
description: ""
parameters:
- name: "name"
in: "path"
required: true
schema:
type: "string"
responses:
"405":
description: "Method Not Allowed"
content:
'*/*':
schema:
type: "object"
post:
description: ""
parameters:
- name: "name"
in: "path"
required: true
schema:
type: "string"
responses:
"200":
description: "OK"
content:
'*/*':
schema:
type: "string"
"501":
description: "Not Implemented"
content:
'*/*':
schema:
type: "object"
/users/{name}/outbox:
get:
description: ""
parameters:
- name: "name"
in: "path"
required: true
schema:
type: "string"
responses:
"501":
description: "Not Implemented"
content:
'*/*':
schema:
type: "object"
post:
description: ""
parameters:
- name: "name"
in: "path"
required: true
schema:
type: "string"
responses:
"501":
description: "Not Implemented"
content:
'*/*':
schema:
type: "object"
/:
get:
description: ""
responses:
"200":
description: "OK"
content:
text/html:
schema:
type: "string"
/register:
get:
description: ""
responses:
"200":
description: "OK"
content:
text/html:
schema:
type: "string"
post:
description: ""
parameters:
- name: "password"
in: "query"
required: false
schema:
type: "string"
- name: "username"
in: "query"
required: false
schema:
type: "string"
responses:
"200":
description: "OK <br> Redirect"
content:
text/plain:
schema:
type: "string"
examples:
Example#1:
value: ""
Example#2:
value: "/register"
Example#3:
value: "/register"
Example#4:
value: "/register"
components:
schemas:
UserLogin:
type: "object"
properties:
username:
type: "string"
password:
type: "string"
JwtToken:
type: "object"
properties:
token:
type: "string"
refreshToken:
type: "string"
RefreshToken:
type: "object"
properties:
refreshToken:
type: "string"
Link:
type: "object"
properties:
rel:
type: "string"
type:
type: "string"
href:
type: "string"
WebFinger:
type: "object"
properties:
subject:
type: "string"
links:
type: "array"
items:
$ref: "#/components/schemas/Link"
Post:
type: "object"
properties:
text:
type: "string"
overview:
type: "string"
visibility:
type: "string"
enum:
- "PUBLIC"
- "UNLISTED"
- "FOLLOWERS"
- "DIRECT"
repostId:
type: "integer"
format: "int64"
replyId:
type: "integer"
format: "int64"