Orange Business Twin models management API

Manage twin model

Operations 3

POST /api/v1/deviceMgt/twin/model/object-definitions Add a custom twin model #
GET /api/v1/deviceMgt/twin/model/object-definitions/{objectDefinitionId} Read a twin model #
DELETE /api/v1/deviceMgt/twin/model/object-definitions/{objectDefinitionId} Delete a custom twin model #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/orange-business-twin-models-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

orange-business-twin-models-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Live Objects REST API Guide Twin models management 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 models management
  description: Manage twin model
paths:
  /api/v1/deviceMgt/twin/model/object-definitions:
    post:
      tags:
      - Twin models management
      summary: Add a custom twin model
      description: 'For LwM2M input, custom model objectDefinitionId must be between 10241 and 42800.


        ⚠️ IDs between 10241 and 32768 belong to a public class of the LwM2M Object Registry,

        so they should be used with care as the custom model will supersede the potential public model


        Usage of this API will be reported in your access log under ''twin'' category.


        Restricted to API keys with at least one of the following roles: DEVICE_W.'
      operationId: createCustomModel
      parameters:
      - name: inputFormat
        in: query
        description: Input format used when importing the model. The only available option for now is "LWM2M"
        required: false
        schema:
          type: string
          default: LWM2M
      - name: override
        in: query
        description: If TRUE then the imported definition will override the existing one (if it already exists)
        required: false
        schema:
          type: boolean
          default: false
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: XML file content in the OMA LwM2M format
              required:
              - file
      responses:
        '201':
          description: Custom twin model created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TwinModelResponse'
  /api/v1/deviceMgt/twin/model/object-definitions/{objectDefinitionId}:
    get:
      tags:
      - Twin models management
      summary: Read a twin model
      description: 'Restricted to API keys with at least one of the following roles: DEVICE_R.'
      operationId: readPublicModel
      parameters:
      - name: objectDefinitionId
        in: path
        description: 'object definition identifier the model ex: urn:oma:lwm2m:ext:3442:1.1'
        required: true
        schema:
          type: string
      - name: customOnly
        in: query
        description: If TRUE only the custom objects are returned, else custom and public objects are returned
        required: false
        schema:
          type: boolean
          default: false
      - name: supportedOnly
        in: query
        description: If TRUE only the supported objects are returned, else supported and instantiated objects are returned
        required: false
        schema:
          type: boolean
          default: false
      - name: childrenFields
        in: query
        description: 'List of children''s fields to return. Amongst: ''pathSegment'', ''name'', ''description'', ''minOccurs'', ''maxOccurs'', ''type'', ''operations'', ''attributes''. Following children fields are always returned : ''objectDefinitionId'',  ''owner''.'
        required: false
        schema:
          type: array
          items:
            type: string
          uniqueItems: true
      responses:
        '200':
          description: The twin model
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TwinModelResponse'
    delete:
      tags:
      - Twin models management
      summary: Delete a custom twin model
      description: 'Usage of this API will be reported in your access log under ''twin'' category.


        Restricted to API keys with at least one of the following roles: DEVICE_W.'
      operationId: deleteCustomModel
      parameters:
      - name: objectDefinitionId
        in: path
        description: 'object definition identifier the model ex: urn:oma:lwm2m:ext:3442:1.1'
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Custom Twin model deleted
components:
  schemas:
    TwinModelResponse:
      type: object
      properties:
        objectDefinitionId:
          type: string
          description: Unique identifier of the object-definition
          example: urn:oma:lwm2m:oma:32769:1.1
        pathSegment:
          type: string
          description: Part of the full path to access an instance of this element
          example: '32769'
        name:
          type: string
          description: The full original name
          example: My object
        description:
          type: string
          description: Description of the object
          example: info ...
        minOccurs:
          type: integer
          format: int32
          description: Minimal occurrence (0 means optional, 1 means mandatory and at least 1 is required)
          example: 0
        maxOccurs:
          type: integer
          format: int32
          description: Maximal occurrence (0 means infinite instances are allowed (unbounded), 1 means maximum 1 instance is allowed
          example: 1
        type:
          type: string
          description: '<p><span style="text-decoration: underline;">Object type supported values are :</span></p><ul><li>"OBJECT": means that this is a single object</li><li>"OBJECT_MAP": means that this object is a map of object, and that a path of such an object instance is always using a map index</li></ul><br/>'
          enum:
          - OBJECT
          - OBJECT_MAP
          example: OBJECT
        operations:
          type: array
          description: List of object operations among ["READ", "WRITE"]
          example: WRITE
          items:
            type: string
            enum:
            - READ
            - WRITE
        attributes:
          type: array
          description: List of attribute type for this object.
          items:
            $ref: '#/components/schemas/AttributeDefinition'
        parent:
          type: string
          description: 'the objectDefinitionId of the parent object.

            The parent must be another Object. In LwM2M all LwM2M objects are direct children of "root":urn:oma:lwm2m There is just 1 level of object hierarchy'
          example: urn:oma:lwm2m
        owner:
          type: string
          description: The customer identifier in case of private model
          example: c10772fa-0577-11ec-9a03-0242ac130003
        children:
          type: array
          description: List of objectDefinitionId
          items:
            $ref: '#/components/schemas/ObjectDefinition'
    AttributeDefinition:
      type: object
      properties:
        pathSegment:
          type: string
          description: Used to build a part of the full path to access an instance of this element
          example: '1'
        name:
          type: string
          description: The full original name
          example: Maximum Defer Period
        description:
          type: string
          description: Description of the attribute
          example: Attribute description
        minOccurs:
          type: integer
          format: int32
          description: Minimal occurrence (0 means optional, 1 means mandatory and at least 1 is required)
          example: 0
        maxOccurs:
          type: integer
          format: int32
          description: Maximal occurrence (0 means infinite instances are allowed (unbounded), 1 means maximum 1 instance is allowed
          example: 1
        type:
          type: string
          description: '<p><span style="text-decoration: underline;">Attribute type supported values are :</span></p><ul><li>"STRING": represented as UTF-8 string</li><li>"INTEGER": represented as ASCII signed integer 1, 2,4 or 8 bytes</li><li>"UNSIGNED_INTEGER": represented as ASCII unsigned integer 1, 2,4 or 8 bytes</li><li>"BOOLEAN": represented as ASCII value 0 or 1</li><li>"FLOAT": represented as a 32 or 64-bit floating point values</li><li>"BASE64": represented as a sequence of binary octets</li><li>"DATETIME": represented as a Unix Time. A signed integer representing the number of seconds since Jan 1st, 1970 in the UTC time zone</li></ul><br/>'
          enum:
          - STRING
          - INTEGER
          - UNSIGNED_INTEGER
          - BOOLEAN
          - FLOAT
          - BASE_64
          - DATE_TIME
          example: FLOAT
        operations:
          type: array
          description: List of attribute operations among ["READ", "WRITE", "EXECUTE"]
          example: WRITE
          items:
            type: string
            enum:
            - READ
            - WRITE
            - EXECUTE
        mandatory:
          type: boolean
    ObjectDefinition:
      type: object
      properties:
        objectDefinitionId:
          type: string
          description: Unique identifier of the object-definition
          example: urn:oma:lwm2m:oma:32769:1.1
        pathSegment:
          type: string
          description: Part of the full path to access an instance of this element
          example: '32769'
        name:
          type: string
          description: The full original name
          example: My object
        description:
          type: string
          description: Description of the object
          example: info ...
        minOccurs:
          type: integer
          format: int32
          description: Minimal occurrence (0 means optional, 1 means mandatory and at least 1 is required)
          example: 0
        maxOccurs:
          type: integer
          format: int32
          description: Maximal occurrence (0 means infinite instances are allowed (unbounded), 1 means maximum 1 instance is allowed
          example: 1
        type:
          type: string
          description: '<p><span style="text-decoration: underline;">Object type supported values are :</span></p><ul><li>"OBJECT": means that this is a single object</li><li>"OBJECT_MAP": means that this object is a map of object, and that a path of such an object instance is always using a map index</li></ul><br/>'
          enum:
          - OBJECT
          - OBJECT_MAP
          example: OBJECT
        operations:
          type: array
          description: List of object operations among ["READ", "WRITE"]
          example: WRITE
          items:
            type: string
            enum:
            - READ
            - WRITE
        attributes:
          type: array
          description: List of attribute type for this object.
          items:
            $ref: '#/components/schemas/AttributeDefinition'
        parent:
          type: string
          description: 'the objectDefinitionId of the parent object.

            The parent must be another Object. In LwM2M all LwM2M objects are direct children of "root":urn:oma:lwm2m There is just 1 level of object hierarchy'
          example: urn:oma:lwm2m
        owner:
          type: string
          description: The customer identifier in case of private model
          example: c10772fa-0577-11ec-9a03-0242ac130003
  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: ''