bfile/resource/api_ref.swagger.yml

93 lines
2.7 KiB
YAML
Raw Normal View History

2023-11-05 06:49:44 +01:00
openapi: 3.0.3
info:
title: ResourceD API
description: |-
This is the ResourceD API docs.
license:
name: GPLv3
url: https://www.gnu.org/licenses/gpl-3.0.en.html
version: "1.0"
servers:
- url: http://localhost/resource
tags:
- name: Data API
description: API for serving data
- name: System API
description: API for serving system data
- name: Internal API
description: API for microservices. Shouldn't be accessible via WAN
2023-11-05 06:49:44 +01:00
paths:
/{id}:
get:
description: Get a resource
summary: Get a resource. Send browser requests to this URL
tags:
- Data API
responses:
200:
description: Returns a resource in its binary data
302:
description: Resource is an external (http) link and the redirect is being forwarded to that link
404:
description: Not found
500:
description: Internal error
/info/is_enabled:
get:
description: Check if resourceD is enabled
summary: Check if resourceD is enabled
tags:
- System API
responses:
200:
description: Ok
content:
application/json:
schema:
type: boolean
example: true
/internal/check_resource:
post:
summary: Check if a resource(s) exist
description: |-
This method takes an array of resources and reports which ones exist.
See responses for more info.
tags:
- Internal API
requestBody:
description: |-
An array of strings, where each string is a resource ID
Let's assume that we want to check if two resources exist: `dev.blek.file.logo` and `org.nonexistant.resource`.
content:
application/json:
schema:
type: array
items:
type: string
example:
- dev.blek.file.logo
- org.nonexistant.resource
responses:
200:
description: |-
As in the request body example, let's assume that this method checked if these two resources exist:
- `dev.blek.file.logo`
- `org.nonexistant.resource`
As we can see, this returned only `dev.blek.file.logo` because its the only resource of the provided ones that exist.
content:
application/json:
schema:
type: object
additionalProperties:
type: object
properties:
type:
type: string
example:
dev.blek.file.logo:
type: image/png