backups/openapi.yml

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: []