blob: fc1a4456934b408e4115b9a420f5078e0f1bc831 [file] [log] [blame]
openapi: 3.0.0
servers:
- description: SwaggerHub API Auto Mocking
url: https://virtserver.swaggerhub.com/gre/DsRestAPI/1.0.0
info:
description: DataSource Restful API
version: "1.0.0"
title: DataSource Restful API
contact:
email: tamas.levente.kiss@ericsson.com
license:
name: Eclipse Public License - v 1.0
url: 'http://www.eclipse.org/legal/epl-v10.html'
tags:
- name: source
description: mandatory field
- name: element
description: mandatory field
paths:
/api.extension:
post:
summary: posts a DsRestAPI request. The "extension" needs to be costumized by the application. Different applications may implement different extensions on the same server, serving different data elements.
operationId: postDsRestAPIRequest
description: posts a DsRestAPI request
responses:
'200':
description: request answered
'400':
description: bad request - invalid input object
'501':
description: unknown method - not implemented
'414':
description: Request-URI Too Long. Limit is 2000 octets
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DsAPIRequest'
description: JSON object to be issued
components:
schemas:
DsAPIRequest:
type: object
required:
- requests
properties:
requests:
$ref: '#/components/schemas/requests'
timeout:
type: string
format: float
example: 5.0
requests:
type: array
example: [{"getData":{"source":"DataSource","element":"Sources"}}]
items:
title: request
oneOf:
- "$ref": "#/components/schemas/getDataRequest"
- "$ref": "#/components/schemas/setDataRequest"
getDataRequest:
title: getDataRequest
type: object
additionalProperties: false
properties:
getData:
type: object
additionalProperties: false
properties:
source:
type: string
ptcname:
type: string
element:
type: string
params:
"$ref": "#/components/schemas/params"
cookie:
type: string
children:
"$ref": "#/components/schemas/requests"
filter:
"$ref": "#/components/schemas/filter"
rangeFilter:
"$ref": "#/components/schemas/rangeFilter"
selection:
type: array
items:
title: selection
type: integer
selectionValues:
type: array
items:
title: selectionValue
type: string
writableInfo:
type: boolean
timeline:
type: object
additionalProperties: false
properties:
period:
type: number
minimum: 0
maxpoints:
type: integer
minimum: 0
since:
type: integer
minimum: 0
required:
- source
- element
required:
- getData
setDataRequest:
title: setDataRequest
type: object
additionalProperties: false
properties:
setData:
type: object
properties:
source:
type: string
ptcname:
type: string
element:
type: string
content:
type: string
tp:
type: integer
indxsInList:
type: array
items:
title: index
type: integer
params:
"$ref": "#/components/schemas/params"
required:
- source
- element
- content
- tp
required:
- setData
params:
type: array
items:
title: param
type: object
additionalProperties: false
properties:
paramName:
type: string
paramValue:
type: string
required:
- paramName
- paramValue
filter:
oneOf:
- title: dataValue
type: object
additionalProperties: false
properties:
dataValue:
type: string
required:
- dataValue
- title: filterRequest
type: object
additionalProperties: false
properties:
request:
type: object
additionalProperties: false
properties:
source:
type: string
ptcname:
type: string
element:
type: string
params:
"$ref": "#/components/schemas/filterParams"
remapTo:
"$ref": "#/components/schemas/filter"
required:
- source
- element
filterParams:
type: array
items:
title: filterParam
type: object
additionalProperties: false
properties:
paramName:
type: string
paramValue:
"$ref": "#/components/schemas/filter"
required:
- paramName
- paramValue
rangeFilter:
type: object
additionalProperties: false
properties:
offset:
type: integer
minimum: 0
count:
type: integer
minimum: 0