OpenThread C API Reference Updates

Stay organized with collections Save and categorize content based on your preferences.

See "api: platform" and "api: user" labeled Pull Requests on GitHub for additional details on API Reference updates.

January 31, 2023

January 18, 2023

January 3, 2023

November 18, 2022

October 26, 2022

October 19, 2022

October 13, 2022

September 21, 2022

  • otIp4AddressFromString and otNat64SynthesizeIp6Address functions added to the NAT64 API.
  • otSrpServerIsAutoEnableMode and otSrpServerSetAutoEnableMode functions added to the SRP API.
  • Enum updates to the TCP Abstractions API.

September 15, 2022

  • Added new enums, typedefs, and functions to the NAT64 API to support new NAT64 CLI commands.
  • Added NAT64 commands to the CLI Command Reference, including NAT64 CIDR, prefix, mapping, and counter commands.

August 25, 2022

August 24, 2022

  • otNat64ReceiveIp4Callback, otIp4NewMessage, otNat64Send, otNat64SetIp4Cidr, and otNat64SetReceiveIp4Callback functions added to the NAT64 API.
  • Added child commands to the CLI Command Reference.

August 16, 2022

August 3, 2022

  • Added channel commands to the CLI Command Reference.

July 27, 2022

July 20, 2022

July 14, 2022

July 7, 2022

  • otBorderRoutingGetRouteInfoOptionPreference and otBorderRoutingSetRouteInfoOptionPreference functions added to the Border Router API.

June 28, 2022

  • OT_IP6_MAX_MLR_ADDRESSES macro added to the IPv6 API.
  • OT_ERROR_ALREADY removed from the otNetDataPublishExternalRoute and otNetDataPublishOnMeshPrefix functions in the Thread - General API.

June 14, 2022

  • otTimestamp typedef added to the Operational Dataset API.
  • otSrpServerTtlConfig typedef and otSrpClientEnableAutoHostAddress, otSrpServerGetTtlConfig, otSrpServerServiceGetTtl, and otSrpServerSetTtlConfig functions added to the SRP API.
  • otDetachGracefullyCallback typedef and otThreadDetachGracefully function added to the Thread - General API.

May 31, 2022

  • otDnssdCounters typedef and otDnssdGetCounters function added to the DNS-SD Server API.
  • Removed otPlatRadioGetCslClockUncertainty function and added otPlatRadioGetCslUncertainty function to the Radio Operation API.
  • otSrpServerLeaseInfo and otSrpServerResponseCounters typedefs, otSrpClientGetTtl, otSrpClientSetTtl, otSrpServerGetPort, otSrpServerGetResponseCounters, otSrpServerHostGetLeaseInfo, and otSrpServerServiceGetLeaseInfo functions added to the SRP API.

May 18, 2022

April 20, 2022

April 13, 2022

March 30, 2022

March 15, 2022

  • otDnsClientResolveIp4Address function added to the DNSv6 API.
  • OT_SETTINGS_KEY_BR_ULA_PREFIX enum added along with other enum updates to the Platform Settings API.

February 23, 2022

February 2, 2022

  • otCoapMessageSetCode function added to the CoAP API.
  • otPlatCryptoRandomDeinit, otPlatCryptoRandomGet, and otPlatCryptoRandomInit functions added to the Crypto - Platform API.
  • otRandomCryptoMbedTlsContextGet removed from the RNG Cryptographic API.
  • The Entropy Source API has been removed.
  • otHistoryTrackerNetDataEvent enum, otHistoryTrackerExternalRouteInfo and otHistoryTrackerOnMeshPrefixInfo typedefs, otHistoryTrackerIterateExternalRouteHistory and otHistoryTrackerIterateOnMeshPrefixHistory functions added to the History Tracker API.
  • Added new Transition Control Blocks (TCB) macros to the TCP API.
  • Added Thread Radio Encapsulation Link (TREL) API for Thread Over Infrastructure.
  • Function, typedef, and struct updates to the TREL - Platform API.

January 19, 2022

  • otBackboneRouterNdProxyInfo typedef and otBackboneRouterConfigSkipSeqNumIncrease method added to the Backbone Router API.
  • otBorderRoutingGetNat64Prefix function added to the Border Router API.
  • Updated otIp6SubscribeMulticastAddress return values on the IPv6 API.
  • otJoinerStateToString function added to the Joiner API.
  • Updated the otPlatLogLine function on the Logging - Platform API.
  • OT_SETTINGS_KEY_NAT64_PREFIX key added to the settings enum on the Settings API.

December 7, 2021

  • otLinkIsRadioFilterEnabled and otLinkSetRadioFilterEnabled functions added to the Link API.
  • otThreadSetThreadVersionCheckEnabled added to the Router/Leader API.

September 27, 2021

September 20, 2021

  • otHistoryTrackerMulticastAddressInfo and otHistoryTrackerUnicastAddressInfo structs added to the History Tracker API.

September 13, 2021

August 30, 2021

August 24, 2021

June 22, 2021

May 10, 2021

  • otSrpServerLeaseConfig struct added to the SRP API.

April 12, 2021

April 5, 2021

  • otPingSenderStatistics struct added to the Ping Sender API.
  • otSrpClientBuffersServiceEntry struct added to the SRP API.

March 25, 2021

March 9, 2021

  • otDnsTxtEntry and otDnsTxtEntryIterator structs added to the DNS API.
  • otMessage struct removed from the Message API.
  • otMessageBuffer struct added to the Message Pool API.

February 22, 2021

  • otDnsQueryConfig struct added to the DNS API.

February 16, 2021

  • otDnsQuery struct removed from and otDnsServiceInfo struct added to the DNS API.

February 9, 2021

  • otSrpClientGetServerAddress, otSrpClientIsRunning, and otSrpClientSetCallback functions added to the SRP API.
  • Heap API is deprecated.

February 2, 2021

  • otCoapBlockwiseResource struct added to the CoAP API.
  • otSrpTxtEntry struct removed from the SRP API.

January 26, 2021

January 20, 2021

November 9, 2020

October 20, 2020

  • otIp6AddressInfo struct added to the IPv6 API.

October 2, 2020

August 31, 2020

  • Added APIs for Coordinated Sampled Listening (CSL) support in Thread 1.2.
  • otBackboneRouterMulticastListenerInfo struct added to the Backbone Router API.

August 12, 2020

  • otThreadDiscoveryRequestInfo struct added to the General API.

July 15, 2020

  • otBackboneRouterConfig function added to the Backbone Router API.

  • otCoapAddResource function removed from the CoAP API.

  • otJoinerPskd, otJoinerInfoType, otCommissionerAddJoinerWithDiscerner, and otCommissionerRemoveJoinerWithDiscerner functions added to the Commissioner API.

  • otJoinerGetDiscerner, otJoinerSetDiscerner, and otJoinerDiscerner functions added to the Joiner API.

  • otLinkFilterClearDefaultRssIn, and otLinkFilterSetDefaultRssIn functions added to the Link API.

  • otLinkRawGetRadioTime, otLinkRawSetMacFrameCounter, and otLinkRawSetMacKey functions added to the Raw Link API.

  • otDatasetGetActiveTlvs, otDatasetGetPendingTlvs, otDatasetSetActiveTlvs, otDatasetSetPendingTlvs, otThreadGetFixedDuaInterfaceIdentifier, and otThreadSetFixedDuaInterfaceIdentifier functions added to the General API.

  • otUdpGetSockets function removed from the UDP Forward API.

  • otUdpGetSockets function added to the UDP API.

  • otPlatRadioGetNow, otPlatRadioSetMacFrameCounter, and otPlatRadioSetMacKey, functions added to the Platform Radio Configuration API.

April 27, 2020

March 24, 2020


March 2, 2020

  • Updated the CoAP API:
    • otCoapOptionIterator and otCoapTxParameters structs added.
    • Added helper functions to encode CoAP block options.
    • Added functions to specify per-message transmission parameters for CoAP requests and responses.

January 9, 2020

  • Histogram retry functions added to the Link API.

December 3, 2019

  • Server and Service configuration functions and structs moved from the Server API to the General API to support service registration by Leaders.
  • *RouterRoleEnabled functions renamed to *RouterEligible in the Router API to support REED enhancements.
  • otPlatLogv function removed from the Logging Platform API.
  • OT_TOOL_ALIGN macro removed from the Toolchain Platform API and from various struct definitions.

November 11, 2019

  • otThreadResetIp6Counters function added to the General API.
  • New functions for reseting counters and getting and setting maximum frame retries added to the Link API.

October 25, 2019

September 19, 2019

  • Split the Random API page into Crypto and Non-Crypto to align with source code.
  • otJoinerInfo struct and otCommissionerGetNextJoinerInfo function added to the Commissioner API.
  • otRadioCoexMetrics struct and otPlatRadioIsCoexEnabled function added to the Radio Types API.
  • Changed the return type of numerous APIs that always succeed from otError to void.

August 9, 2019

June 17, 2019

  • Added callbacks for notifying of state changes and joiner activity to the Commissioner API.
  • Compiler-specific function modifiers of OTAPI, OTCALL, OT_CALL, and OT_CDECL removed in conjunction with removal of Windows support.

May 28, 2019

May 14, 2019

  • otPlatRadioGetPreferredChannelMask and otPlatRadioGetSupportedChannelMask functions added to the Radio Operation Platform API.
  • Removed physical layer channel functions from the Link API.

March 14, 2019

February 25, 2019

  • otIp6SlaacIidCreate and otIp6SlaacUpdate functions removed from the IPv6 API.

January 30, 2019

January 23, 2019

  • UDP Receiver functions added to the UDP API.
  • otCoapHeader struct removed from the CoAP API. CoAP header information has been refined into the CoAP message.
  • The DHCPv6 Server API has been removed.

January 7, 2019