269 lines
7.1 KiB
YAML
269 lines
7.1 KiB
YAML
openapi: 3.0.1
|
|
info:
|
|
title: Mainflux reader service
|
|
description: |
|
|
HTTP API for reading messages.
|
|
Some useful links:
|
|
- [The Mainflux repository](https://github.com/mainflux/mainflux)
|
|
contact:
|
|
email: info@mainflux.com
|
|
license:
|
|
name: Apache 2.0
|
|
url: https://github.com/mainflux/mainflux/blob/master/LICENSE
|
|
version: 0.14.0
|
|
|
|
servers:
|
|
- url: http://localhost:9003
|
|
- url: https://localhost:9003
|
|
- url: http://localhost:9005
|
|
- url: https://localhost:9005
|
|
- url: http://localhost:9007
|
|
- url: https://localhost:9007
|
|
- url: http://localhost:9009
|
|
- url: https://localhost:9009
|
|
- url: http://localhost:9011
|
|
- url: https://localhost:9011
|
|
|
|
tags:
|
|
- name: readers
|
|
description: Everything about your Readers
|
|
externalDocs:
|
|
description: Find out more about readers
|
|
url: http://docs.mainflux.io/
|
|
|
|
paths:
|
|
/channels/{chanId}/messages:
|
|
get:
|
|
summary: Retrieves messages sent to single channel
|
|
description: |
|
|
Retrieves a list of messages sent to specific channel. Due to
|
|
performance concerns, data is retrieved in subsets. The API readers must
|
|
ensure that the entire dataset is consumed either by making subsequent
|
|
requests, or by increasing the subset size of the initial request.
|
|
tags:
|
|
- readers
|
|
parameters:
|
|
- $ref: "#/components/parameters/ChanId"
|
|
- $ref: "#/components/parameters/Limit"
|
|
- $ref: "#/components/parameters/Offset"
|
|
- $ref: "#/components/parameters/Publisher"
|
|
- $ref: "#/components/parameters/Name"
|
|
- $ref: "#/components/parameters/Value"
|
|
- $ref: "#/components/parameters/BoolValue"
|
|
- $ref: "#/components/parameters/StringValue"
|
|
- $ref: "#/components/parameters/DataValue"
|
|
- $ref: "#/components/parameters/From"
|
|
- $ref: "#/components/parameters/To"
|
|
responses:
|
|
'200':
|
|
$ref: "#/components/responses/MessagesPageRes"
|
|
'400':
|
|
description: Failed due to malformed query parameters.
|
|
'401':
|
|
description: Missing or invalid access token provided.
|
|
'500':
|
|
$ref: "#/components/responses/ServiceError"
|
|
/health:
|
|
get:
|
|
summary: Retrieves service health check info.
|
|
tags:
|
|
- health
|
|
responses:
|
|
'200':
|
|
$ref: "#/components/responses/HealthRes"
|
|
'500':
|
|
$ref: "#/components/responses/ServiceError"
|
|
|
|
components:
|
|
schemas:
|
|
MessagesPage:
|
|
type: object
|
|
properties:
|
|
total:
|
|
type: number
|
|
description: Total number of items that are present on the system.
|
|
offset:
|
|
type: number
|
|
description: Number of items that were skipped during retrieval.
|
|
limit:
|
|
type: number
|
|
description: Size of the subset that was retrieved.
|
|
messages:
|
|
type: array
|
|
minItems: 0
|
|
uniqueItems: true
|
|
items:
|
|
type: object
|
|
properties:
|
|
channel:
|
|
type: integer
|
|
description: Unique channel id.
|
|
publisher:
|
|
type: integer
|
|
description: Unique publisher id.
|
|
protocol:
|
|
type: string
|
|
description: Protocol name.
|
|
name:
|
|
type: string
|
|
description: Measured parameter name.
|
|
unit:
|
|
type: string
|
|
description: Value unit.
|
|
value:
|
|
type: number
|
|
description: Measured value in number.
|
|
stringValue:
|
|
type: string
|
|
description: Measured value in string format.
|
|
boolValue:
|
|
type: boolean
|
|
description: Measured value in boolean format.
|
|
dataValue:
|
|
type: string
|
|
description: Measured value in binary format.
|
|
valueSum:
|
|
type: number
|
|
description: Sum value.
|
|
time:
|
|
type: number
|
|
description: Time of measurement.
|
|
updateTime:
|
|
type: number
|
|
description: Time of updating measurement.
|
|
|
|
parameters:
|
|
ChanId:
|
|
name: chanId
|
|
description: Unique channel identifier.
|
|
in: path
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
Limit:
|
|
name: limit
|
|
description: Size of the subset to retrieve.
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
default: 10
|
|
maximum: 100
|
|
minimum: 1
|
|
required: false
|
|
Offset:
|
|
name: offset
|
|
description: Number of items to skip during retrieval.
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
minimum: 0
|
|
required: false
|
|
Publisher:
|
|
name: Publisher
|
|
description: Unique thing identifier.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: false
|
|
Name:
|
|
name: name
|
|
description: SenML message name.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
required: false
|
|
Value:
|
|
name: v
|
|
description: SenML message value.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
required: false
|
|
BoolValue:
|
|
name: vb
|
|
description: SenML message bool value.
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
required: false
|
|
StringValue:
|
|
name: vs
|
|
description: SenML message string value.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
required: false
|
|
DataValue:
|
|
name: vd
|
|
description: SenML message data value.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
required: false
|
|
Comparator:
|
|
name: comparator
|
|
description: Value comparison operator.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
default: eq
|
|
enum:
|
|
- eq
|
|
- lt
|
|
- le
|
|
- gt
|
|
- ge
|
|
required: false
|
|
From:
|
|
name: from
|
|
description: SenML message time in nanoseconds (integer part represents seconds).
|
|
in: query
|
|
schema:
|
|
type: number
|
|
required: false
|
|
To:
|
|
name: to
|
|
description: SenML message time in nanoseconds (integer part represents seconds).
|
|
in: query
|
|
schema:
|
|
type: number
|
|
required: false
|
|
|
|
responses:
|
|
MessagesPageRes:
|
|
description: Data retrieved.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/MessagesPage"
|
|
ServiceError:
|
|
description: Unexpected server-side error occurred.
|
|
HealthRes:
|
|
description: Service Health Check.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "./schemas/HealthInfo.yml"
|
|
|
|
securitySchemes:
|
|
bearerAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
description: |
|
|
* Users access: "Authorization: Bearer <user_token>"
|
|
|
|
thingAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: uuid
|
|
description: |
|
|
* Things access: "Authorization: Thing <thing_key>"
|
|
|
|
security:
|
|
- bearerAuth: []
|
|
- thingAuth: []
|