openapi: 3.2.0
info:
title: Live Objects REST API Guide Twin observations 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: Twin observations
description: Manage twin observations
paths:
/api/v1/deviceMgt/devices/{deviceId}/twin/observations:
get:
tags:
- Twin observations
summary: List twin observations for a given device.
description: 'Restricted to API keys with at least one of the following roles: DEVICE_R.'
operationId: listTwinObservations
parameters:
- name: deviceId
in: path
description: A Live Objects URN 'urn:lo:nsid:{namespace}:{id}' must respect the following regular expression ^urn:lo:nsid:([\w\-]{1,128}):([\w\-:]{1,128})$ (max 269 characters)
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TwinObservation'
post:
tags:
- Twin observations
summary: Create a twin observation.
description: 'Restricted to API keys with at least one of the following roles: DEVICE_W.'
operationId: createTwinObservation
parameters:
- name: deviceId
in: path
description: A Live Objects URN 'urn:lo:nsid:{namespace}:{id}' must respect the following regular expression ^urn:lo:nsid:([\w\-]{1,128}):([\w\-:]{1,128})$ (max 269 characters)
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TwinObservationCreateRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/TwinObservation'
delete:
tags:
- Twin observations
summary: Delete device's twin observations.
description: 'Restricted to API keys with at least one of the following roles: DEVICE_W.'
operationId: deleteTwinObservations
parameters:
- name: deviceId
in: path
required: true
schema:
type: string
responses:
'200':
description: Observations have been removed. Return actual number of removed Observations.
content:
application/json:
schema:
type: integer
format: int32
/api/v1/deviceMgt/devices/{deviceId}/twin/observations/{observationId}:
get:
tags:
- Twin observations
summary: Get a twin observation.
description: 'Restricted to API keys with at least one of the following roles: DEVICE_R.'
operationId: getTwinObservation
parameters:
- name: deviceId
in: path
description: A Live Objects URN 'urn:lo:nsid:{namespace}:{id}' must respect the following regular expression ^urn:lo:nsid:([\w\-]{1,128}):([\w\-:]{1,128})$ (max 269 characters)
required: true
schema:
type: string
- name: observationId
in: path
description: Identifier of specific twin observation.
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TwinObservation'
delete:
tags:
- Twin observations
summary: Delete a twin observation.
description: 'Restricted to API keys with at least one of the following roles: DEVICE_W.'
operationId: deleteTwinObservation
parameters:
- name: deviceId
in: path
required: true
schema:
type: string
- name: observationId
in: path
description: Identifier of specific twin observation.
required: true
schema:
type: string
responses:
'204':
description: No Content
components:
schemas:
TwinObservation:
type: object
properties:
id:
type: string
description: Observation unique identifier
example: 62554f236bb22101c8386956
paths:
type: array
description: Paths of attribute, attribute instance, object instance or all the object instances of an object to observe
example:
- /1
- /3/0
- /3442/0/110
- /3442/0/1110/0
items:
type: string
uniqueItems: true
status:
type: string
description: Status of the observation
enum:
- PENDING
- OBSERVING
- FAILED
- UNKNOWN
example: FAILED
lastError:
$ref: '#/components/schemas/TwinObservationError'
description: Error on last attempt. Only present if the status is 'FAILED'.
name:
type: string
description: User-defined name for the observation
example: myObservation
created:
type: string
format: date-time
description: Observation creation date/time
example: '2021-12-06T11:32:25.055Z'
required:
- created
- id
- name
- paths
- status
TwinObservationCreateRequest:
type: object
description: Twin observation to create
properties:
paths:
type: array
description: Paths of attribute, attribute instance, object instance or all the object instances of an object to observe
example:
- /1
- /3/0
- /3442/0/110
- /3442/0/1110/0
items:
type: string
maxLength: 255
minLength: 0
maxItems: 100
minItems: 0
uniqueItems: true
name:
type: string
description: User-defined name for the observation, must not be null, must contain at least one non-whitespace character and at most 255 characters
example: myObservation
maxLength: 255
minLength: 0
required:
- name
- paths
DeviceErrorCode:
type: object
properties:
value:
type: string
description: device error code value
example: '404'
reason:
type: string
description: device error code reason
example: NOT_FOUND
TwinObservationError:
type: object
properties:
code:
type: string
description: observation error code
example: DEVICE_ERROR
details:
type: string
description: observation error explanations
example: URIs were not found or are not supported
deviceCode:
$ref: '#/components/schemas/DeviceErrorCode'
description: device error response code, if any
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: ''