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: 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: ''