mirror of
https://github.com/tiqi-group/pydase.git
synced 2025-04-21 16:50:02 +02:00
257 lines
7.1 KiB
YAML
257 lines
7.1 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: Pydase RESTful API
|
|
tags:
|
|
- name: /api/v1
|
|
description: Version 1
|
|
paths:
|
|
/api/v1/get_value:
|
|
get:
|
|
tags:
|
|
- /api/v1
|
|
summary: Get the value of an existing attribute.
|
|
description: Get the value of an existing attribute by full access path.
|
|
operationId: getValue
|
|
parameters:
|
|
- in: query
|
|
name: access_path
|
|
schema:
|
|
type: string
|
|
example: device.channel[0].voltage
|
|
required: true
|
|
description: Full access path of the service attribute.
|
|
responses:
|
|
'200':
|
|
description: Successful Operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SerializedAttribute'
|
|
examples:
|
|
Exists:
|
|
summary: Attribute exists
|
|
value:
|
|
docs: My documentation string.
|
|
full_access_path: device.channel[0].voltage
|
|
readonly: false
|
|
type: float
|
|
value: 12.1
|
|
DoesNotExist:
|
|
summary: Attribute or does not exist
|
|
value:
|
|
docs: null
|
|
full_access_path: device.channel[0].voltage
|
|
readonly: false
|
|
type: "None"
|
|
value: null
|
|
/api/v1/update_value:
|
|
put:
|
|
tags:
|
|
- /api/v1
|
|
summary: Update an existing attribute.
|
|
description: Update an existing attribute by full access path.
|
|
operationId: updateValue
|
|
requestBody:
|
|
description: Update an existent attribute in the service
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/UpdateValue'
|
|
required: true
|
|
responses:
|
|
'200':
|
|
description: Successful Operation
|
|
'400':
|
|
description: Could not Update Attribute
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SerializedException'
|
|
examples:
|
|
List:
|
|
summary: List out of index
|
|
value:
|
|
docs: null
|
|
full_access_path: ""
|
|
name: SerializationPathError
|
|
readonly: false
|
|
type: Exception
|
|
value: "Index '2': list index out of range"
|
|
Attribute:
|
|
summary: Attribute or does not exist
|
|
value:
|
|
docs: null
|
|
full_access_path: ""
|
|
name: SerializationPathError
|
|
readonly: false
|
|
type: Exception
|
|
value: "Key 'invalid_attribute': 'invalid_attribute'."
|
|
/api/v1/trigger_method:
|
|
put:
|
|
tags:
|
|
- /api/v1
|
|
summary: Trigger method.
|
|
description: Trigger method with by full access path with provided args and kwargs.
|
|
operationId: triggerMethod
|
|
requestBody:
|
|
description: Update an existent attribute in the service
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TriggerMethod'
|
|
required: true
|
|
responses:
|
|
'200':
|
|
description: Successful Operation
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SerializedAttribute'
|
|
examples:
|
|
NoneReturn:
|
|
summary: Function returns None
|
|
value:
|
|
docs: null
|
|
full_access_path: ""
|
|
readonly: false
|
|
type: "NoneType"
|
|
value: null
|
|
FloatReturn:
|
|
summary: Function returns float
|
|
value:
|
|
docs: null
|
|
full_access_path: ""
|
|
readonly: false
|
|
type: "float"
|
|
value: 23.2
|
|
components:
|
|
schemas:
|
|
UpdateValue:
|
|
required:
|
|
- access_path
|
|
- value
|
|
type: object
|
|
properties:
|
|
access_path:
|
|
type: string
|
|
example: device.channel[0].voltage
|
|
value:
|
|
$ref: '#/components/schemas/SerializedValue'
|
|
TriggerMethod:
|
|
required:
|
|
- access_path
|
|
type: object
|
|
properties:
|
|
access_path:
|
|
type: string
|
|
example: device.channel[0].voltage
|
|
args:
|
|
type: object
|
|
required:
|
|
- type
|
|
- value
|
|
- full_access_path
|
|
properties:
|
|
full_access_path:
|
|
type: string
|
|
example: ""
|
|
type:
|
|
type: string
|
|
enum:
|
|
- list
|
|
value:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SerializedValue'
|
|
kwargs:
|
|
type: object
|
|
required:
|
|
- type
|
|
- value
|
|
- full_access_path
|
|
properties:
|
|
full_access_path:
|
|
type: string
|
|
example: ""
|
|
type:
|
|
type: string
|
|
enum:
|
|
- dict
|
|
value:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/components/schemas/SerializedValue'
|
|
SerializedValue:
|
|
required:
|
|
- full_access_path
|
|
- type
|
|
- value
|
|
type: object
|
|
properties:
|
|
docs:
|
|
type: string | null
|
|
example: null
|
|
full_access_path:
|
|
type: string
|
|
example: ""
|
|
readonly:
|
|
type: boolean
|
|
example: false
|
|
type:
|
|
type: string
|
|
example: float
|
|
value:
|
|
type: any
|
|
example: 22.0
|
|
SerializedAttribute:
|
|
required:
|
|
- full_access_path
|
|
- type
|
|
- value
|
|
type: object
|
|
properties:
|
|
docs:
|
|
type: string | null
|
|
example: My documentation string.
|
|
full_access_path:
|
|
type: string
|
|
example: device.channel[0].voltage
|
|
readonly:
|
|
type: boolean
|
|
example: false
|
|
type:
|
|
type: string
|
|
example: float
|
|
value:
|
|
type: any
|
|
example: 22.0
|
|
SerializedException:
|
|
required:
|
|
- full_access_path
|
|
- type
|
|
- value
|
|
type: object
|
|
properties:
|
|
docs:
|
|
type: string | null
|
|
example: Raised when the access path does not correspond to a valid attribute.
|
|
full_access_path:
|
|
type: string
|
|
example: ""
|
|
name:
|
|
type: string
|
|
example: SerializationPathError
|
|
readonly:
|
|
type: boolean
|
|
example: false
|
|
type:
|
|
type: string
|
|
example: Exception
|
|
value:
|
|
type: string
|
|
examples:
|
|
value:
|
|
"Index '2': list index out of range"
|
|
some:
|
|
"Index '2': list index out of range"
|