openapi: 3.2.0
info:
title: Live Objects REST API Guide Data management data store API
description: API description for Live Objects service
contact:
name: Live Objects Support
url: https://liveobjects.orange-business.com/#/cms/support
version: 2026.7.0
servers:
- url: https://liveobjects.orange-business.com
security:
- X-API-KEY: []
OAuth2.0: []
tags:
- name: Data management data store
description: APIs to store and retrieve data
paths:
/api/v0/data/streams/{streamId}:
get:
tags:
- Data management data store
summary: Retrieve the data from a streamId
description: 'return an array of StoredDataMessage matching the request parameters. This API is very efficient to retrieve data. If you are looking for a specific device''s streamId data message, it is the API to use.
Restricted to API keys with at least one of the following roles: DATA_R.'
operationId: retrieveData
parameters:
- name: streamId
in: path
description: StreamId from which the data will be retrieved
required: true
schema:
type: string
- name: limit
in: query
description: max number of data to return, value is limited to 1000
required: false
schema:
type: integer
format: int32
default: 100
maximum: 1000
- name: timeRange
in: query
description: 'filter data where timestamp is in timeRange (must be ISO 8601 formatted) : ?timeRange=[lowerbound],[upperbound]. Comma is mandatory, lowerbound and upperbound are optionals. Lowerbound is inclusive, upperbound is exclusive.'
required: false
schema:
type: array
items:
type: string
maxItems: 2
minItems: 2
- name: bookmarkId
in: query
description: 'id of the last document retrieved that can be used to paginate : first result will be the one following this document id'
required: false
schema:
type: string
responses:
'200':
description: array of DataMessage matching the request parameters
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DataStoredWeb'
post:
tags:
- Data management data store
summary: Insert a new Data into the stream
description: 'In order for the data to be enriched by decoders and pipelines functionalities, ''metadata.encoding'' field must be set.
Restricted to API keys with at least one of the following roles: DATA_W.'
operationId: addDataMessage
parameters:
- name: streamId
in: path
description: 'StreamId in which the data will be added. Should not contains following character or space : '' \ " ; { } ( )'
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataWeb'
required: true
responses:
'202':
description: Request has been accepted. Data processing ongoing.
content:
application/json:
schema:
type: string
components:
schemas:
Metadata:
type: object
properties:
source:
type: string
description: source of the data
example: urn:tenantName:FFFFFFFFFFFFFFFF!mystream
encoding:
type: string
description: encoding format name, that should match the 'encoding' field of the decoder that will process this datamessage.
Location:
type: object
description: geographic location
properties:
lat:
type: number
format: double
description: Latitude value
example: 45.000009
lon:
type: number
format: double
description: Longitude value
example: -30.00001
alt:
type: number
format: double
description: Altitude value
example: 5.00001
accuracy:
type: number
format: double
description: Accuracy value
example: 10.0
provider:
type: string
description: Provider of the location
example: GPS
required:
- lat
- lon
DataWeb:
type: object
description: DataMessage to add
properties:
timestamp:
type: string
description: ISO 8601 date time
example: '2016-08-24T10:32:52.598Z'
location:
$ref: '#/components/schemas/Location'
model:
type: string
description: Model of the injected data. Data with the same model must have coherent types in each value fields. This field is required to perform an advanced search on the data. Can not contains space or dot characters.
example: MyModelSettingName
value:
description: Must be a JsonObject (primitive objects like string or int are not allowed). It can not contain field names starting with '$' character or containing dot '.' character and its size should not exceed 1 MiB. To use decoding capability, 'value.payload' field must be use to set encoded content as String (in case of binary content, HexBinary String representation of this content)
example:
hexaFlag001: 2F00
temp: 22.0
pressure: 36575.0
tags:
type: array
description: Easy way to 'tag' the data in order to ease up advanced search through all streams and models
example:
- Motor
- Engine
items:
type: string
metadata:
$ref: '#/components/schemas/Metadata'
description: 'Metadata of the stored value : may include user metadata (source) as well as additional information (protocol, server, user...)'
example:
source: urn:tenantName:FFFFFFFFFFFFFFFF!mystream
required:
- value
DataStoredWeb:
type: object
description: data stored from the dataStream
properties:
streamId:
type: string
description: streamId of the data
example: urn:tenantName:FFFFFFFFFFFFFFFF!mystream
timestamp:
type: string
description: ISO 8601 date time, timestamp of the value
example: '2016-08-24T10:32:52.598Z'
location:
$ref: '#/components/schemas/Location'
model:
type: string
description: Model of the injected data. Data with the same model have coherent types in each value fields.
example: MyModelSettingName
value:
description: JsonObject
example:
hexaFlag001: 2F00
temp: 22.0
pressure: 36575.0
tags:
type: array
description: Tags of the data. Can be used to ease up advanced search through all streams and models
example:
- Motor
- Engine
items:
type: string
extra:
type: object
additionalProperties:
type: string
description: 'Extra info of the data: extra information enriched on the collected data (for example from the device inventory) that can be used for cross model or stream queries'
example:
country: france
city: lyon
owner: john.doe@company.com
metadata:
description: 'Metadata of the stored value : may include user metadata (source) as well as additional information (protocol, server, user...)'
example:
source: urn:tenantName:FFFFFFFFFFFFFFFF!mystream
id:
type: string
description: System id of the data. Can be use as bookmark to paginate results.
created:
type: string
description: ISO 8601 date time, when the data has been stored in the system
example: '2016-08-25T00:00:00.008Z'
required:
- created
- id
- timestamp
- value
securitySchemes:
X-API-KEY:
type: apiKey
name: X-API-KEY
in: header
OAuth2.0:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://liveobjects.orange-business.com/api/v1/oauth2/authorize
tokenUrl: https://liveobjects.orange-business.com/api/v1/oauth2/token
refreshUrl: https://liveobjects.orange-business.com/api/v1/oauth2/token
scopes:
API_KEY_R: Read parameters and status of an API key.
API_KEY_W: Create, modify, disable an API key.
BOOTSTRAP_R: Read parameters and status of the LwM2M Bootstrap configurations and entries.
BOOTSTRAP_W: Create ans modify LwM2M Bootstrap configurations and entries.
BUS_CONFIG_R: Read config parameters of a FIFO queue.
BUS_CONFIG_W: Create, modify a FIFO queue.
BUS_R: Read data on the Live Objects bus. Minimum permission for the API key of an application collecting data on Live Objects in MQTT(s).
BUS_W: Publish data on the Live Objects bus.
CAMPAIGN_R: Read parameters and status of a massive deployment campaign on your Device Fleet.
CAMPAIGN_W: Create, modify a campaign on your Device Fleet.
CONNECTOR_ACCESS: Role to set on a external connector API key to allow only MQTT external connector mode
DATA_PROCESSING_R: Read parameters and status of an event processing rule or a Data decoder.
DATA_PROCESSING_W: Create, modify, disable an event processing rule or a Data decoder.
DATA_R: Read the data collected by the Store Service or search into this data using the Search Service.
DATA_W: Insert a data record to the Store Service. Minimum permission required for the API key of a device pushing data to Live Objects in HTTPS.
DEVICE_ACCESS: Role to set on a Device API key to allow only MQTT Device mode
DEVICE_R: Read parameters and status of a Device management.
DEVICE_W: Create, modify, disable a Device management, send command, modify config, update resource of a Device.
LOGS_R: Read the logs collected by the Audit Log service. This right allows users to use the Audit Log service as debugging tool.
SETTINGS_R: Read the tenant account custom settings.
SETTINGS_W: Create, modify tenant account custom settings.
USER_R: Read parameters and status of a user.
USER_W: Create, modify, disable a user.
externalDocs:
description: Live Objects Developer Guide
url: https://liveobjects.orange-business.com/doc/html/lo_manual_v2.html
x-examples: ''