102 lines
3.2 KiB
YAML
102 lines
3.2 KiB
YAML
openapi: 3.0.0
|
|
info:
|
|
title: Backup server API
|
|
description: |
|
|
The backup server API reference
|
|
version: 0.0.1 GPL-3.0-only
|
|
tags:
|
|
- name: General
|
|
paths:
|
|
/upload:
|
|
post:
|
|
description: Upload a file
|
|
summary: Upload a file
|
|
tags: [General]
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
example: ok
|
|
name:
|
|
type: string
|
|
example: sample-filename
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: string
|
|
example: base64 encoded file
|
|
name:
|
|
type: string
|
|
example: sample-filename
|
|
/get/{name}:
|
|
get:
|
|
description: Get a file
|
|
summary: Get a file
|
|
tags: [General]
|
|
parameters:
|
|
- in: path
|
|
name: name
|
|
schema: { type: string }
|
|
required: true
|
|
responses:
|
|
200:
|
|
description: |
|
|
OK
|
|
|
|
The returned body is the file
|
|
content:
|
|
application/octet-stream:
|
|
example: ''
|
|
/list:
|
|
get:
|
|
description: List all files owned by you
|
|
summary: List all files
|
|
tags: [General]
|
|
responses:
|
|
200:
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: string
|
|
/{name}:
|
|
delete:
|
|
description: Delete a file
|
|
summary: Deleete a file
|
|
tags: [General]
|
|
parameters:
|
|
- in: path
|
|
name: name
|
|
schema: { type: string }
|
|
required: true
|
|
responses:
|
|
200:
|
|
description: OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: string
|
|
example: ok
|
|
components:
|
|
securitySchemes:
|
|
key:
|
|
type: http
|
|
scheme: bearer
|
|
security:
|
|
- key: []
|