Orange Business Bootstrap Config API

Manage lwm2m bootstrap config

Operations 5

GET /api/v1/bootstrap/lwm2m/configs/{configId} Get a lwm2m bootstrap config from configId. #
PUT /api/v1/bootstrap/lwm2m/configs/{configId} Update a lwm2m bootstrap config. #
DELETE /api/v1/bootstrap/lwm2m/configs/{configId} Delete a lwm2m bootstrap config from configId. #
GET /api/v1/bootstrap/lwm2m/configs List lwm2m bootstrap configs. #
POST /api/v1/bootstrap/lwm2m/configs Create a lwm2m bootstrap config. #

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-bootstrap-config-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-bootstrap-config-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Live Objects REST API Guide Bootstrap Config 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: Bootstrap Config
  description: Manage lwm2m bootstrap config
paths:
  /api/v1/bootstrap/lwm2m/configs/{configId}:
    get:
      tags:
      - Bootstrap Config
      summary: Get a lwm2m bootstrap config from configId.
      description: 'Restricted to API keys with at least one of the following roles: BOOTSTRAP_R.'
      operationId: getLwm2mBootstrapConfig
      parameters:
      - name: configId
        in: path
        description: bootstrap config identifier
        required: true
        schema:
          type: string
      - name: showSensitiveInformation
        in: query
        description: whether or not to show sensitive information (headers in external config server)
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Bootstrap config
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BootstrapConfig'
    put:
      tags:
      - Bootstrap Config
      summary: Update a lwm2m bootstrap config.
      description: 'Usage of this API will be reported in your access log under ''bootstrap'' category.<br/><br/>Restricted to API keys with at least one of the following roles: BOOTSTRAP_W.'
      operationId: updateLwm2mBootstrapConfig
      parameters:
      - name: configId
        in: path
        description: bootstrap config identifier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BootstrapConfigRequest'
            examples:
              Config Update Request:
                description: Config Update Request
                value:
                  name: NewName
                  description: This is a new description
                  runServers:
                  - id: myServer
                    useLiveObjects: false
                    lwm2mDefinition:
                      security:
                        shortServerId: 1
                        lwm2mServerUri: myURI
                        securityMode: 0
                      server:
                        shortServerId: 1
                        lifetime: 300
                        binding: U
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BootstrapConfig'
    delete:
      tags:
      - Bootstrap Config
      summary: Delete a lwm2m bootstrap config from configId.
      description: 'Usage of this API will be reported in your access log under ''bootstrap'' category.<br/><br/>Restricted to API keys with at least one of the following roles: BOOTSTRAP_W.'
      operationId: deleteLwm2mBootstrapConfig
      parameters:
      - name: configId
        in: path
        description: bootstrap config identifier
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Bootstrap config deleted
  /api/v1/bootstrap/lwm2m/configs:
    get:
      tags:
      - Bootstrap Config
      summary: List lwm2m bootstrap configs.
      description: 'Restricted to API keys with at least one of the following roles: BOOTSTRAP_R.'
      operationId: listLwm2mBootstrapConfigs
      parameters:
      - name: limit
        in: query
        description: the maximum number of items per page (optional, highest value is 1000)
        required: false
        schema:
          type: string
          default: '20'
      - 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: List of bootstrap configs
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BootstrapConfig'
    post:
      tags:
      - Bootstrap Config
      summary: Create a lwm2m bootstrap config.
      description: 'Usage of this API will be reported in your access log under ''bootstrap'' category.<br/><br/>Restricted to API keys with at least one of the following roles: BOOTSTRAP_W.'
      operationId: createLwm2mBootstrapConfig
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BootstrapConfigRequest'
            examples:
              LO server:
                description: This example will produce a bootstrap config with specific security and server object for LO
                value:
                  name: MyBootstrapConfig
                  description: This is a LO bootstrap config
                  runServers:
                  - id: LOServer
                    useLiveObjects: true
                    renewSecurityOnBootstrap: true
                    lwm2mDefinition:
                      security:
                        shortServerId: 1
                      server:
                        shortServerId: 1
                        lifetime: 300
                        binding: U
              Other server:
                description: This example will produce a bootstrap config with custom security and server objects
                value:
                  name: MyBootstrapConfig
                  description: This is my bootstrap config
                  runServers:
                  - id: myServer
                    useLiveObjects: false
                    lwm2mDefinition:
                      security:
                        shortServerId: 1
                        lwm2mServerUri: myURI
                        securityMode: 0
                      server:
                        shortServerId: 1
                        lifetime: 300
                        binding: U
        required: true
      responses:
        '201':
          description: Bootstrap config created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BootstrapConfig'
components:
  schemas:
    ObjectSettings:
      type: object
      properties:
        objectInstanceId:
          type: integer
          format: int32
          description: The instance ID that will be used for this Object. If not specified, the ID is automatically assigned incrementally from 0 for the first Run Server in the list. For the Security Object, the instance used for the Bootstrap Server is avoided (a Discover operation is performed to identify the ID used).
          maximum: 65534
          minimum: 0
    Lwm2mSecurity:
      type: object
      properties:
        settings:
          $ref: '#/components/schemas/ObjectSettings'
          description: Settings for this Security Object (for example, on which instance to write it)
        lwm2mServerUri:
          type: string
          description: Uniquely identifies the LwM2M Server or LwM2M Bootstrap-Server. Must be set if and only if useLiveObjects is false.
          example: coaps://myserver:5684
          maxLength: 255
          minLength: 5
        securityMode:
          type: string
          description: 'Determines what credentials are being used by the LwM2M Client and the LwM2M Server. Must be set if and only if useLiveObjects is false. Allowed values are : 0 (PSK), 1 (RPK), 2 (CERTIFICATE), 3 (NO_SEC), 4 (CERTIFICATE_WITH_EST).'
          example: '0'
        serverPublicKey:
          type: string
          description: Stores the LwM2M Server's, respectively LwM2M Bootstrap-Server's, certificate, public key (RPK mode) or trust anchor.The Certificate Mode Resource determines the content of this resource. Must be encoded in hexadecimal.
          example: 0123456789ABCDEF
        smsSecurityMode:
          type: integer
          format: int32
          description: "Determines which SMS security mode is used: \n0: Reserved for future use\n1: DTLS mode (Device terminated) PSK mode assumed\n2: Secure Packet Structure mode (Smartcard terminated)\n3: NoSec mode\n4: Reserved mode (DTLS mode with multiplexing Security Association support)\n5-203 : Reserved for future use\n204-255: Proprietary modes"
          example: 1
          maximum: 255
          minimum: 0
        lwm2mServerSmsNumber:
          type: string
          description: MSISDN used by the LwM2M Client to send messages to the LwM2M Server via the SMS binding.
          example: '1234'
        shortServerId:
          type: integer
          format: int32
          description: This identifier is used only as a link to associate the server/security object instance. Must be between 1 and 65534.
          maximum: 65534
          minimum: 1
        clientHoldOffTime:
          type: integer
          format: int32
          description: The number of seconds to wait before initiating a Client Initiated Bootstrap once the LwM2M Client has determined it should initiate this bootstrap mode
          example: 30
          minimum: 0
        bootstrapServerAccountTimeout:
          type: integer
          format: int32
          description: The LwM2M Client MUST purge the LwM2M Bootstrap-Server Account after the timeout value given by this resource
          example: 20
          minimum: 0
        matchingType:
          type: string
          description: 'The Matching Type Resource specifies how the certificate or raw public key in in the Server Public Key is presented. Four values are currently defined:

            0: Exact match. This is the default value and also corresponds to the functionality of LwM2M v1.0. Hence, if this resource is not present then the content of the Server Public Key Resource corresponds to this value.

            1: SHA-256 hash [RFC6234]

            2: SHA-384 hash [RFC6234]

            3: SHA-512 hash [RFC6234]'
          example: '0'
        sni:
          type: string
          description: This resource holds the value of the Server Name Indication (SNI) value to be used during the TLS handshake.When this resource is present then the LwM2M Server URI acts as the address of the service while the SNI value is used formatching a presented certificate, or PSK identity.
          example: myserver
        certificateUsage:
          type: string
          description: "The Certificate Usage Resource specifies the semantic of the certificate or \nraw public key stored in the Server Public Key Resource, which is used to match \nthe certificate presented in the TLS/DTLS handshake. The currently defined values are \n0 for \"CA constraint\", 1 for \"service certificate constraint\", 2 for \"trust anchor \nassertion\", and 3 for \"domain-issued certificate\". When this resource is absent, \nvalue (3) for domain issued certificate mode is assumed. More details about the \nsemantic of each value can be found in the security consideration section of the \nLwM2M specification."
          example: '0'
        dtlsTlsCiphersuite:
          type: array
          description: When this resource is present it instructs the TLS/DTLS client to propose the indicated ciphersuite(s) in the ClientHello of the handshake. A ciphersuite is indicated as a 32-bit integer value. The IANA TLS ciphersuite registry is maintained at https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml. As an example, the TLS_PSK_WITH_AES_128_CCM_8 ciphersuite is represented with the following string "0xC0,0xA8". To form an integer value the two values are concatenated. In this example, the value is 0xc0a8 or 49320.
          example:
          - 49320
          items:
            type: integer
            format: int64
            maximum: 65535
            minimum: 0
          maxItems: 100
          minItems: 1
      required:
      - shortServerId
    BootstrapWriteOperation:
      type: object
      properties:
        path:
          type: string
          description: Path of the write operation. Must target a resource or a resource instance. Can not target /0, /1, /2 and /21 objects.
          example: /3300/1/5750
        value:
          type: string
          description: Value of the write operation
          example: VOC Index
      required:
      - path
      - value
    BootstrapConfigOperations:
      type: object
      properties:
        externalConfigServer:
          $ref: '#/components/schemas/ExternalConfigServer'
          description: Define an external server which will dynamically provide additional write operations on each bootstrap request.
        objectVersionUrns:
          type: array
          description: List of the targeted object version urns.
          example:
          - urn:oma:lwm2m:ext:3300:1.1
          - urn:oma:lwm2m:ext:36050:1.0
          items:
            type: string
          maxItems: 100
          minItems: 0
        writeOperations:
          type: array
          description: List of write operations to execute during bootstrap. Write operations will be performed at object level, which means it will replace all existing resources in the targeted object and only include the resources explicitly defined here.
          items:
            $ref: '#/components/schemas/BootstrapWriteOperation'
          maxItems: 100
          minItems: 0
    ExternalConfigServer:
      type: object
      properties:
        url:
          type: string
          description: The url of the target server webhook (only the ports 80, 443, 8080, 8443 and 9243 are allowed).
          example: https://myserver/lwm2m/bootstrap-request
        headers:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Additional custom headers that will be used for the HTTP request
          example:
            apiKey:
            - fhpao4654feae46463Z
      required:
      - url
    BootstrapConfig:
      type: object
      properties:
        id:
          type: string
          description: Bootstrap configuration unique identifier
          example: 61b34a6da51c1b5f84e6a802
        name:
          type: string
          description: Name of bootstrap configuration
          example: My bootstrap config
        description:
          type: string
          description: Description of bootstrap configuration
          example: My description of my bootstrap config
        runServers:
          type: array
          description: List of run servers
          items:
            $ref: '#/components/schemas/RunServer'
        additionalOperations:
          $ref: '#/components/schemas/BootstrapConfigOperations'
          description: Write operations on additional objects (other than /0, /1, /2 and /21), optionally defining an external server
        created:
          type: string
          format: date-time
          description: Date on which the bootstrap config was created
          example: '2022-10-21T10:30:58Z'
        updated:
          type: string
          format: date-time
          description: Date on which the bootstrap config was last updated
          example: '2022-10-25T17:45:02Z'
      required:
      - created
      - id
      - name
      - runServers
      - updated
    RunServer:
      type: object
      properties:
        id:
          type: string
          description: Run server unique identifier. Will be used also in BootstrapEntry. Must respect the following regular expression <code>^[a-zA-Z0-9]{1,128}$</code> (max 128 characters).
          example: server01
          pattern: ^[a-zA-Z0-9]{1,128}$
        useLiveObjects:
          type: boolean
          default: false
          description: If true, will define specific 'lwm2mDefinition' for LO. If false, need to customize 'lwm2mDefinition'
        renewSecurityOnBootstrap:
          type: boolean
          description: If true, credentials to connect the LiveObjects run server will be generated at each bootstrap. Can only be defined if useLiveObjects is true
          example: false
        autoProvisionDeviceOnBootstrap:
          $ref: '#/components/schemas/AutoProvisioning'
          description: Defines the 'auto-provisioning device on the runServer' behavior for a bootstrap when the runServer does not previously know the device
        lwm2mDefinition:
          $ref: '#/components/schemas/Lwm2mDefinition'
          description: Lwm2m definition for `LWM2M Security` and `LWM2M Server` objects
      required:
      - id
      - lwm2mDefinition
      - useLiveObjects
    Lwm2mServer:
      type: object
      properties:
        settings:
          $ref: '#/components/schemas/ObjectSettings'
          description: Settings for this Server Object (for example, on which instance to write it)
        shortServerId:
          type: integer
          format: int32
          description: This identifier is used only as a link to associate the server/security object instance. Must be between 1 and 65534.
          example: 1
          maximum: 65534
          minimum: 1
        lifetime:
          type: integer
          format: int32
          description: Specify the lifetime of the registration in seconds
          example: 300
          minimum: 0
        defaultMinimumPeriod:
          type: integer
          format: int32
          description: The default value the LwM2M Client should use for the Minimum Period of an Observation in the absence of this parameter being included in an Observation
          example: 200
          minimum: 0
        defaultMaximumPeriod:
          type: integer
          format: int32
          description: The default value the LwM2M Client should use for the Maximum Period of an Observation in the absence of this parameter being included in an Observation
          example: 20
          minimum: 0
        disableTimeout:
          type: integer
          format: int32
          description: A period to disable the Server. After this period, the LwM2M Client MUST perform registration process to the Server
          example: 0
          minimum: 0
        notificationStoringWhenDisabledOrOffline:
          type: boolean
          description: If true, the LwM2M Client stores 'Notify' operations to the LwM2M Server while the LwM2M Server account is disabled or the LwM2M Client is offline. After the LwM2M Server account is enabled or the LwM2M Client is online, the LwM2M Client reports the stored 'Notify' operations to the Server. If false, the LwM2M Client discards all the 'Notify' operations or temporarily disables the Observe function while the LwM2M Server is disabled or the LwM2M Client is offline
          example: false
        binding:
          type: string
          description: This Resource defines the transport binding configured for the LwM2M Client. If the LwM2M Client supports the binding specified in this Resource, the LwM2M Client MUST use that transport for the Current Binding Mode. Allowed BindingModes are U, T, S, N (and Q restricted to LwM2M 1.0)
          example: U
          maxLength: 10
          minLength: 1
        apnLink:
          type: integer
          format: int32
          description: If this resource is defined, it provides a link to the APN connection profile Object Instance (OMNA registered Object ID:11) to be usedto communicate with this server. The instance id must be provided.
          example: 0
          minimum: 0
        registrationPriorityOrder:
          type: integer
          description: The LwM2M Client sequences the LwM2M Server registrations in increasing order of this value. If this value is not defined,registration attempts to this server are not impacted by other server registrations. Must be 64-bit unsigned integer.
          example: 0
        initialRegistrationDelayTimer:
          type: integer
          description: The delay before registration is attempted for this LwM2M Server based upon the completion of registration of the previous LwM2M Server in the registration order. This is only applied until the first successful registration after a successful bootstrapping sequence. Must be 64-bit unsigned integer.
          example: 0
        registrationFailureBlock:
          type: boolean
          description: When set to true and registration to this LwM2M server fails, the LwM2M Client blocks registration to other servers in the order.When set to false, the LwM2M Client proceeds with registration to the next server in the order.
          example: true
        bootstrapOnRegistrationFailure:
          type: boolean
          description: If set to true, this indicates that the LwM2M Client should re-bootstrap when either registration is explicitly rejected by the LwM2M Server or registration is considered as failing as dictated by the other resource settings. If set to false, the LwM2M Client will continue with the registration attempts as dictated by the other resource settings.
          example: true
        communicationRetryCount:
          type: integer
          description: The number of successive communication attempts before which a communication sequence is considered as failed. Must be 64-bit unsigned integer.
          example: 0
        communicationRetryTimer:
          type: integer
          description: The delay between successive communication attempts in a communication sequence. This value is multiplied by two to the power of the communication retry attempt minus one (2**(retry attempt-1)) to create an exponential back-off. Must be 64-bit unsigned integer.
          example: 0
        communicationSequenceDelayTimer:
          type: integer
          description: The delay between successive communication sequences. A communication sequence is defined as the exhaustion of the Communication Retry Count and Communication Retry Timer values. A communication sequence can be applied to server registrations or bootstrapping attempts. MAX_VALUE means do not perform another communication sequence. Must be 64-bit unsigned integer.
          example: 0
        communicationSequenceRetryCount:
          type: integer
          description: The number of successive communication sequences before which a registration attempt is considered as failed. Must be 64-bit unsigned integer.
          example: 3
        trigger:
          type: boolean
          description: Using the Trigger Resource a LwM2M Client can indicate whether it is reachable over SMS (value set to 'true') or not (value set to 'false')
          example: true
        preferredTransport:
          type: string
          description: Only a single transport binding SHALL be present. When the LwM2M client supports multiple transports, it MAY use this transport to initiate a connection. This resource can also be used to switch between multiple transports e.g. a non-IP device can switch to UDP transport to perform firmware updates.
          enum:
          - U
          - T
          - S
          - N
          - Q
          example: U
        muteSend:
          type: boolean
          description: "If true or the Resource is not present, the LwM2M Client Send command capability is de-activated. \nIf false, the LwM2M Client Send Command capability is activated."
      required:
      - binding
      - lifetime
      - shortServerId
    Lwm2mDefinition:
      type: object
      properties:
        security:
          $ref: '#/components/schemas/Lwm2mSecurity'
          description: Lwm2m definition for `LWM2M Security` object (ObjectID=0)
        server:
          $ref: '#/components/schemas/Lwm2mServer'
          description: Lwm2m definition for `LWM2M Server` object (ObjectID=1)
      required:
      - security
      - server
    AutoProvisioning:
      type: object
      properties:
        enabled:
          type: boolean
          description: If true, the LwM2M device will be automatically created or updated in the Device Inventory on bootstrap, based on its Entry definition, even if it has not been provisioned beforehand. Can only be defined if useLiveObjects is true.
          example: true
    BootstrapConfigRequest:
      type: object
      description: Bootstrap config to create
      properties:
        name:
          type: string
          description: Name of bootstrap configuration
          example: My bootstrap config
          maxLength: 255
          minLength: 0
        description:
          type: string
          description: Description of bootstrap configuration
          example: My description of my bootstrap config
          maxLength: 1024
          minLength: 0
        runServers:
          type: array
          description: List of run servers
          items:
            $ref: '#/components/schemas/RunServer'
          maxItems: 1
          minItems: 1
        additionalOperations:
          $ref: '#/components/schemas/BootstrapConfigOperations'
          description: Write operations on additional objects (other than /0, /1, /2 and /21), optionally defining an external server
      required:
      - name
      - runServers
  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: ''