Archived
2
This repository has been archived on 2023-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
definma-api/api/api.yaml
2020-06-05 08:50:06 +02:00

92 lines
2.4 KiB
YAML

openapi: 3.0.2
info:
title: Digital fingerprint of plastics - API
version: 1.0.0
description: |
This API gives access to the project database.<br>
Access is restricted. Authentication can be obtained with HTTP Basic Auth using username and password.
Data access methods can also be accessed using an API key at the URL ending like ?key=xxx<br>
The description lists available authentication methods, also the locks of each method close correspondingly
if the entered authentication is allowed.<br><br>
There are a number of different user levels: <br>
<ul>
<li>read: read access to the samples database</li>
<li>write: write access to the samples database, users can change only the values they created</li>
<li>maintain: functions like changing templates, validating data, changing values of others</li>
<li>dev: handling machine learning models</li>
<li>admin: user administration</li>
</ul>
Password policy:
<ul>
<li>at least one digit</li>
<li>at least one lower case letter</li>
<li>at least one upper case letter</li>
<li>at least one of the following special characters: !"#%&'()*+,-./:;<=>?@[\]^_`{|}~</li>
<li>no whitespace</li>
<li>at least 8 characters</li>
</ul>
x-doc: |
status:
<ul>
<li>-10: deleted</li>
<li>0: newly added/changed</li>
<li>10: validated</li>
</ul>
<a href="https://sourcecode.socialcoding.bosch.com/users/vle2fe/repos/dfop-api/">Bitbucket repository</a>
# TODO: Link to new documentation page
servers:
- url: http://localhost:3000
description: local server
- url: https://digital-fingerprint-of-plastics-api.apps.de1.bosch-iot-cloud.com/
description: server on the BIC
security:
- ApiKey: []
- BasicAuth: []
tags:
- name: /
- name: /sample
- name: /material
- name: /measurement
- name: /template
- name: /model
- name: /user
paths:
allOf:
- $ref: 'root.yaml'
- $ref: 'sample.yaml'
- $ref: 'material.yaml'
- $ref: 'measurement.yaml'
- $ref: 'template.yaml'
- $ref: 'model.yaml'
- $ref: 'user.yaml'
components:
parameters:
$ref: 'parameters.yaml'
schemas:
$ref: 'schemas.yaml'
responses:
$ref: 'responses.yaml'
securitySchemes:
BasicAuth:
type: http
scheme: basic
ApiKey:
type: apiKey
in: query
name: key