Skip to content

OTBR HTTP API

generate_thread_network

Initialize a network with random values, include PAN ID, Extended PAN ID and Network Key.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "generate_thread_network",
        {}
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

export_thread_network

Export the network configuration, the configuration file format is passphrase|datasetactive

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "export_thread_network",
        {}
    ]
}'

Response parameters:

Field Type Description
filename string The name of the exported file
path string The path of the exported file
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "filename": "thread_network.conf",
        "path": "/tmp/thread_network.conf"
    }
}

import_thread_network

If you use the method of importing configuration files, you need to call the upload interface to upload the file first, and the fixed path is/tmp/thread_network.conf.

Request parameters:

Field Type Description
Passphrase string Thread network Passphrase, a user-defined character string that serves as Commissioner Credential and
ActiveDataset string Operational Dataset TLVs.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "import_thread_network",
        {}
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

get_status

Get the Thread network status

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_status",
        {}
    ]
}'

Response parameters:

Field Type Description
OpenThreadVersionAPI string OpenThread API version
OTBRVersion string ot-br-posix version
ThreadVersion string Thread Specification version, v1.1 , v1.2, v1.3
Network object Thread network information
Network.Channel number Thread network channel. The value ranges from 11 to 26
Network.ExtPanId string Thread network Extended PAN ID. Its length is limited to 16 bytes of UTF-8 encoded characters
Network.NetworkKey string Thread network key, which is 32 bytes long UTF-8 encoded characters
Network.NetworkName string Thread network name. Its length is limited to 1 to 16 characters
Network.PanId number Thread network PAN ID, value range: 0<= PAN ID <65535 or 0x0<= PAN ID<0xFFFF
Network.PSKc string Thread network PSKc, PSKc is algorithmically generated by Passphrase, ExtendedPanId, and NetworkName,
Network.Passphrase string Thread network Passphrase, a user-defined character string that serves as Commissioner Credential and
Network.OnMeshPrefix array On-Mesh Prefix
Network.LeaderData object Leader data
Network.LeaderData.PartitionId number Partition ID of the leader node
Network.LeaderData.Weighting number Weighting of the leader node
Network.LeaderData.DataVersion number Data Version of the leader node
Network.LeaderData.StableDataVersion number Stable Data Version of the leader node
Network.LeaderData.LeaderRouterId number Leader Router ID of the leader node
Network.IPv6 array IPv6 information
Network.ActiveDataset string Operational Dataset TLVs.
RCP object RCP information
RCP.State number The state of RCP module, disabled=0, detached=1, child=2, router=3 or leader=4
RCP.RCPVersion string RCP version
RCP.ExtAddress string IEEE 802.15.4 Extended Address
RCP.EUI64 string The factory-assigned IEEE EUI-64
RCP.TXPower number The transmit power in dBm
RCP.Rloc16 number Thread RLOC16 value
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

scan

Scan peripheral Thread devices.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "scan",
        {}
    ]
}'

Response parameters:

Field Type Description
ScanList array Scan list
ScanList.IsJoinable bool Whether the Thread node is allowed to join
ScanList.Channel number Channel of the Thread node
ScanList.Rssi number Signal strength of the Thread node
ScanList.Lqi number Link quality indicator of the Thread node
ScanList.NetworkName string Network name of the Thread node
ScanList.ExtPanId string Extended PAN ID of the Thread node
ScanList.PanId number PAN ID of the Thread node
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {}
}

set_config

Create a new Thread network or modify the current Thread network.

Request parameters:

Field Type Description
NetworkName string Thread network name, its length is limited to 1~16 characters
ExtPanId string Thread Network Extended PAN ID
PanId number Thread network PAN ID
Passphrase string Thread network Passphrase, a user-defined character string that serves as Commissioner Credential and
NetworkKey string Thread network key, its length is 32 bytes UTF-8 encoded characters
Channel number Thread network channel, the value range is 11-26

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "set_config",
        {
            "NetworkName": "OpenThread",
            "Passphrase": "654321",
            "PanId": "0x1234",
            "ExtPanId": "1122334455667788",
            "NetworkKey": "7fa541ccdcece042b07ac34c98620a4c",
            "Channel": "13"
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

set_txpower

Set the transmit power of the Thread device.

Request parameters:

Field Type Description
TXPower number The transmit power in dBm

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "set_txpower",
        {
            "TXPower": 8
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

stop

Stop the Thread network of the device.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "stop",
        {}
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

start

Start the Thread network

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "start",
        {}
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

join

Join the Thread network.

Request parameters:

Field Type Description
CredentialType string Supported values are 'networkKeyType' and 'pskdType'
NetworkKey string Thread network key, which is 32 bytes long UTF-8 encoded characters
PSKd string The Joiner Credential is a device-specific string of all uppercase alphanumeric characters
Channel number Thread network channel
PanId number Thread network PAN ID
ExtendedPanId number Thread network ExtendedPanId

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "join",
        {
            "CredentialType": "networkKeyType",
            "NetworkKey": "1ed99ba54e1b2bbbfe36b576cecaca8f",
            "Channel": 11,
            "PanId": "0x3d32"
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

add_joiner

Add Joiners.

Request parameters:

Field Type Description
PSKd string The Joiner Credential is a device-specific string of all uppercase alphanumeric characters
Timeout number Joiner timeout in seconds. Default 120s
EUI64 string The IEEE EUI-64 of the Joiner or '*' to match any Joiner.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "add_joiner",
        {
            "PSKd": "654321",
            "EUI64": "9483c4ea62f8cfcd",
            "Timeout": 120
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

export_joiner_list

Export the Joiner information to /tmp/thread_devices, the file is a cvs format, and its data format is 'Joiner EUI64,Joiner Credential'.

Request parameters:

Field Type Description
Timeout number Joiner timeout in seconds. Default 120s

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "export_joiner_list",
        {}
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

import_joiner_list

Import Joiner list.

Request parameters:

Field Type Description
Timeout number Joiner timeout in seconds. Default 120s

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "import_joiner_list",
        {
            "Timeout": 120
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

rejoin_all

Start Commissining and add Joiner entry.

Request parameters:

Field Type Description
Timeout number Joiner timeout in seconds. Default 120s
Type number Supported values are 1: Only Timeout, 2: Only Joined, 3: ALL

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "rejoin_all",
        {
            "Timeout": 120,
            "Type": 3
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code. -1:Invalied parameter
err_msg option string Error message.

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

remove_joiner_list

Delete Joiner entries.

Request parameters:

Field Type Description
DeviceList array DeviceList
DeviceList[x] string Joiner EUI64

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "remove_joiners",
        {
            "DeviceList": [
                "9483c4ea62f8cfcd",
                "9483c4ea62f8cfcf"
            ]
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

get_joiner_list

Get the Joiner list.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_joiner_list",
        {}
    ]
}'

Response parameters:

Field Type Description
DeviceList array DeviceList
DeviceList.EUI64 string Joiner EUI64
DeviceList.Status number Status of new devices not connected to the network. Supported values are 0: Reday to Join, 1: Joining, 2: Joined, 3: Timeout
DeviceList.Timeout number Joiner network access timeout
DeviceList.AddTime number Timestamp added
DeviceList.JoinedTime number The Joiner successfully obtained the credential timestamp
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "DeviceList": [
            {
                "Timeout": 120,
                "PSKd": "AAAAAA",
                "Status": 0,
                "EUI64": "94deb8fffef6e101"
            }
        ]
    }
}

get_network_data

Get Thread network topology map data.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_network_data",
        {}
    ]
}'

Response parameters:

Field Type Description
ExtAddress string IEEE 802.15.4 Extended Address
Name string The name of the user-defined Thread network node.
Rloc16 number The Thread RLOC16 value.
Rloc16s string The Thread RLOC16 value in hex string.
Version string Thread version.
IsBorderRouter bool IsBorderRouter.
IsLeader bool IsLeader.
IsThisDevice bool IsThisDevice.
NeighborRouterTable object NeighborRouterTable.
NeighborRouterTable.Name string NeighborRouterTable.Name
NeighborRouterTable.ExtAddress string NeighborRouterTable.ExtAddress
NeighborRouterTable.Rloc16 number NeighborRouterTable.Rloc16
NeighborRouterTable.ConnectionTime string NeighborRouterTable.ConnectionTime
NeighborRouterTable.FrameErrorRate object NeighborRouterTable.FrameErrorRate
NeighborRouterTable.LastRssi object NeighborRouterTable.LastRssi
NeighborRouterTable.LinkMargin object NeighborRouterTable.LinkMargin
NeighborRouterTable.MessageErrorRate object NeighborRouterTable.MessageErrorRate
NeighborRouterTable.Version object NeighborRouterTable.Version
ChildTable object ChildTable
ChildTable.ExtAddress string ChildTable.ExtAddress
ChildTable.Name number ChildTable.Name
ChildTable.Age number ChildTable.Age
ChildTable.AvgRssi number ChildTable.AvgRssi
ChildTable.ConnectionTime string ChildTable.ConnectionTime
ChildTable.CslChannel number ChildTable.CslChannel
ChildTable.CslPeriod number ChildTable.CslPeriod
ChildTable.CslSync number ChildTable.CslSync
ChildTable.DeviceType number ChildTable.DeviceType
ChildTable.FrameErrorRate number ChildTable.FrameErrorRate
ChildTable.MessageErrorRate object ChildTable.MessageErrorRate
ChildTable.IP6AddressList object ChildTable.IP6AddressList
ChildTable.IsBorderRouter object ChildTable.IsBorderRouter
ChildTable.IsThisDevice object ChildTable.IsThisDevice
ChildTable.LastRssi object ChildTable.LastRssi
ChildTable.LinkMargin object ChildTable.LinkMargin
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {}
}

get_leader_data

Get Thread Leader data.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_leader_data",
        {}
    ]
}'

Response parameters:

Field Type Description
LeaderData object Leader node information in the Thread network
LeaderData.PartitionId number Partition ID of the leader node
LeaderData.Weighting number Weighting of the Leader node
LeaderData.DataVersion number Data Version of the Leader node
LeaderData.StableDataVersion number Stable Data Version of the Leader node
LeaderData.LeaderRouterId number Leader Router ID of the Leader node

Response sample:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {}
}

get_buffer_info

Get Buffer Info.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_buffer_info",
        {}
    ]
}'

Response parameters:

Field Type Description
6loReassemblyQueue string 6loReassemblyQueue
6loSendQueue string 6loSendQueue
ApplicationCoapQueue string ApplicationCoapQueue
CoapQueue string CoapQueue
CoapSecureQueue string CoapSecureQueue
FreeBuffers string FreeBuffers
Ip6Queue string Ip6Queue
MaxUsedBuffers string MaxUsedBuffers
MleQueue string MleQueue
MplQueue string MplQueue
TotalBuffers string TotalBuffers

Response sample:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {}
}

export_network_data

Export Thread network diagnostic data

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "export_network_data",
        {}
    ]
}'

Response parameters:

Field Type Description
file_path string The file path
file_name string The file name
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "file_path": "/js/thread_network_diagnostics.json",
        "file_name": "thread_network_diagnostics.json"
    }
}

get_neighbor_list

desc

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_neighbor_list",
        {}
    ]
}'

Response parameters:

Field Type Description
NeighborNumber number The number of neighbor
NeighborList array NeighborList
NeighborList.Role string Neighbor network node roles,'R' or 'C'
NeighborList.Rloc16 number RLOC16
NeighborList.Age number Time last heard
NeighborList.AvgRssi number Average RSSI
NeighborList.LastRssi number Last observed RSSI
NeighborList.Mode object the Thread Device Mode value: - -no flags set (rx-off-when-idle, minimal Thread device, stable network data)
NeighborList.ExtAddress string IEEE 802.15.4 Extended Address
NeighborList.LinkQualityIn number Link Quality In
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {}
}

get_bbr_status

Get Backbone Router status information

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_bbr_status",
        {}
    ]
}'

Response parameters:

Field Type Description
Enable bool Whether to enable the BackBone Router
State string Represents the Backbone Router Status, the values of State are Disabled, Secondary, Primary
MlrTimeout number The minimum value of Multicast Listener Registration Timeout (in seconds) is 300s, and the maximum value is 24d
SequenceNumber number Sequence Number
ReregistrationDelay number Reregistration Delay (in seconds)
Jitter number Jitter
Ifname string Current backboneIfName
Ifnames array Supported backboneIfName
Ifnames[x] string Supported backboneIfName
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "State": "Primary",
        "Ifname": "br-lan",
        "SequenceNumber": 5,
        "Ifnames": [
            "eth0",
            "br-lan"
        ],
        "MlrTimeout": 3600,
        "Jitter": 5,
        "Error": 0,
        "ReregistrationDelay": 5
    }
}

set_bbr_config

Set Backbone router config

Request parameters:

Field Type Description
MlrTimeout number The minimum value of Multicast Listener Registration Timeout (in seconds) is 300s, and the maximum value is 24d
SequenceNumber number Sequence Number
ReregistrationDelay number Reregistration Delay (in seconds)
Jitter number Jitter
IfName string backboneIfName
Enable bool Enable Backbone router function

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "set_bbr_config",
        {
            "MlrTimeout": 3500,
            "SequenceNumber": 30,
            "ReregistrationDelay": 1000,
            "Jitter": 10
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

set_commissioning

Set commissioner status

Request parameters:

Field Type Description
Enable bool Enable Commissioner

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "set_commissioner",
        {
            "Enable": true
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

get_srp_server_service

Get SRP Server Service.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_srp_server_service",
        {}
    ]
}'

Response parameters:

Field Type Description
Services array SRP Services
Services.InstanceName string The service instance name
Services.Deleted bool If Deleted is true then no other information
Services.Subtypes string The service subtypes
Services.Port number The service port number
Services.Priority number The service priority
Services.Weight number The service weight
Services.Ttl number The service ttl
Services.TXT array The service txt record
Services.Host string The service host name
Services.Address array The service host address
Services.Lease number The service lease
Services.KeyLease number The service key-lease
ServicesNumber number The service number
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {}
}

get_srp_server_config

Get SRP Server config.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_srp_server_config",
        {}
    ]
}'

Response parameters:

Field Type Description
Enable bool Enable SRP Server
DomainName string The SRP Server domain name
MinLease number The minimum LEASE interval in seconds. mMinLease <= mMaxLease, mMinLease <= mMinKeyLease
MaxLease number The maximum LEASE interval in seconds. mMaxLease <= mMaxKeyLease
MinKeyLease number The minimum KEY-LEASE interval in seconds. mMinKeyLease <= mMaxKeyLease
MaxKeyLease number The maximum KEY-LEASE interval in seconds
SeqNum number The sequence number used with anycast address mode.
err_code option number Error code.
err_msg option string Error message.

Response sample:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {}
}

set_srp_server_config

Set SRP Server config.

Request parameters:

Field Type Description
Enable bool Enable SRP Server
DomainName string The SRP Server domain name
MinLease number The minimum LEASE interval in seconds. mMinLease <= mMaxLease, mMinLease <= mMinKeyLease
MaxLease number The maximum LEASE interval in seconds. mMaxLease <= mMaxKeyLease
MinKeyLease number The minimum KEY-LEASE interval in seconds. mMinKeyLease <= mMaxKeyLease
MaxKeyLease number The maximum KEY-LEASE interval in seconds
SeqNum number The sequence number used with anycast address mode. The sequence number is included in "DNS/SRP Service Anycast Address" entry published in the Network Data.Front end does not need to display

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "set_srp_server_config",
        {
            "Enable": true,
            "DomainName": "default.service.arpa.",
            "MinLease": 1800,
            "MaxLease": 86400,
            "MinKeyLease": 86400,
            "MaxKeyLease": 1209600
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

get_nat64_status

Get NAT64 Status

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_nat64_status",
        {}
    ]
}'

Response parameters:

Field Type Description
Enable bool Enable NAT64
PrefixManager string show the state of NAT64 PrefixManager [Disable,NotRunning,Idle,Active]
Translator string show the state of NAT64 translator [Disable,NotRunning,Active]
Cidr string show the CIDR of NAT64
Mappings array Mappings
Mappings.ipv4 string show the IPv4 value
Mappings.ipv6 string show the IPv6 value
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "Translator": "Active",
        "PrefixManager": "Active",
        "Mappings": [
            {
                "ipv6": "fda1:20d6:69d5:1:24b6:6d65:7a84:d94f",
                "ipv4": "192.168.255.254"
            }
        ],
        "Enable": true,
        "Cidr": "192.168.255.0/24"
    }
}

set_nat64_config

Set NAT64 config.

Request parameters:

Field Type Description
Enable bool Enable NAT64 Translator

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "set_nat64_config",
        {
            "Enable": true
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

set_device_info

Set device info, it will show in topology.

Request parameters:

Field Type Description
Name string Name
ExtAddress string ExtAddress

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "set_device_info",
        {
            "ExtAddress": "1241B519B4A43AA7",
            "Name": "test",
            "Location": "Bedroom"
        }
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

force_to_leader

Try to force the device role from router to leader.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "force_to_leader",
        {}
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

set_keep_refresh

Set keep refresh.

Request parameters:

Field Type Description
Enable string Enable auto refresh.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "keep_refresh",
        {}
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}

get_keep_refresh_config

Get keep refresh config.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_keep_refresh_state",
        {}
    ]
}'

Response parameters:

Field Type Description
Enable string Indicates the current automatic refresh status.
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "Enable": false
    }
}

get_device_list

Set keep refresh.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "get_device_list",
        {}
    ]
}'

Response parameters:

Field Type Description
AddTime number AddTime.
EUI64 string EUI64
ExtAddress string IEEE 802.15.4 Extended Address
IP6AddressList object IP6AddressList
IsActiveNat64Translator bool IsActiveNat64Translator.
IsActiveSrpServer bool IsActiveSrpServer.
IsBorderRouter bool IsBorderRouter.
IsChild bool IsChild.
IsLeader bool IsLeader.
IsOnline bool IsOnline.
IsThisDevice bool IsThisDevice.
LastUpdate number LastUpdate.
Location string Location.
Mode object Mode
Name string The name of the user-defined Thread network node.
ProductName string ProductName.
Rloc16 number The Thread RLOC16 value.
Rloc16s string The Thread RLOC16 value in hex string.
SrpService object SrpService
VendorName string VendorName.
Version string Thread version.
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "DeviceList": [
            {
                "IsBorderRouter": true,
                "IsLeader": true,
                "LastUpdate": 1731030619,
                "IsActiveSrpServer": true,
                "DeviceType": "",
                "IsThisDevice": true,
                "IP6AddressList": [
                    "fd87:cda8:1a3a:c293:0:ff:fe00:fc11",
                    "fd87:cda8:1a3a:c293:0:ff:fe00:fc10",
                    "fd87:cda8:1a3a:c293:0:ff:fe00:fc38",
                    "fd65:5f4c:3d3:1:ef79:4fcf:46b:a654",
                    "fd87:cda8:1a3a:c293:0:ff:fe00:fc00",
                    "fd87:cda8:1a3a:c293:0:ff:fe00:800",
                    "fd87:cda8:1a3a:c293:b45a:1415:2518:520b",
                    "fe80:0:0:0:80a9:a12b:d431:9816"
                ],
                "Mode": {
                    "RxOnWhenIdle": 1,
                    "NetworkData": 1,
                    "DeviceType": 1
                },
                "Rloc16": 2048,
                "VendorName": "GL.iNET Inc.",
                "ProductName": "S200",
                "AddTime": 1730970907,
                "Version": "v1.3.0",
                "IsActiveNat64Translator": true,
                "Rloc16s": "0x0800",
                "IsOnline": true,
                "Name": "S200",
                "SrpService": [],
                "Location": "",
                "ExtAddress": "82A9A12BD4319816",
                "IsChild": false,
                "EUI64": "DC8E95FFFE90C50A"
            }
        ]
    }
}

remove_device_list

Remove device list.

Request parameters:

Field Type Description
device_list object The device_list value is an array of IEEE 802.15.4 Extended Address string.

Request sample:

curl -k http://127.0.0.1/rpc -H 'glinet: 1' -d '
{
    "jsonrpc": "2.0",
    "id": "0",
    "method": "call",
    "params": [
        "",
        "otbr",
        "remove_device_list",
        {}
    ]
}'

Response parameters:

Field Type Description
err_code option number Error code.
err_msg option string Error message

Response sample:

{
    "id": "0",
    "jsonrpc": "2.0",
    "result": {
        "err_code": 0
    }
}