Skip to content

treewide: Remove nRF Cloud REST - #28522

Merged
rlubos merged 1 commit into
nrfconnect:mainfrom
pascal-nordic:CLOUDMCU-198-remove-n-rf-cloud-rest-from-ncs
May 18, 2026
Merged

treewide: Remove nRF Cloud REST#28522
rlubos merged 1 commit into
nrfconnect:mainfrom
pascal-nordic:CLOUDMCU-198-remove-n-rf-cloud-rest-from-ncs

Conversation

@pascal-nordic

@pascal-nordic pascal-nordic commented May 5, 2026

Copy link
Copy Markdown
Contributor

Description

The nRF Cloud REST library and its samples were deprecated before NCS version 3.2 and should not remain in version 3.4 LTS, as it is not a protocol we recommend and do not intend to support for our users in the long term. Samples that used this library have been replaced by CoAP, as our long-term strategy is to encourage users to use CoAP over MQTT.

@pascal-nordic pascal-nordic self-assigned this May 5, 2026
@NordicBuilder NordicBuilder added the doc-required PR must not be merged without tech writer approval. label May 5, 2026
@NordicBuilder

NordicBuilder commented May 5, 2026

Copy link
Copy Markdown
Contributor

CI Information

To view the history of this post, click the 'edited' button above
Build number: 18

Inputs:

Sources:

sdk-nrf: PR head: 28231f8371986d58df7444b7b0aa176ac4600ab4

more details

sdk-nrf:

PR head: 28231f8371986d58df7444b7b0aa176ac4600ab4
merge base: 62a2d300b0fcc50f893577126b2e92777f498e6f
target head (main): 12cf3039c43368bc1a6aa54f867ab30ebb16a377
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (158)
.github
│  │ test-spec.yml
doc
│  ├── _zoomin
│  │  │ ncs.tags.yml
│  ├── nrf
│  │  ├── external_comp
│  │  │  │ nrf_cloud.rst
│  │  ├── libraries
│  │  │  ├── modem
│  │  │  │  │ location.rst
│  │  │  ├── networking
│  │  │  │  ├── nrf_cloud.rst
│  │  │  │  ├── nrf_cloud_agnss.rst
│  │  │  │  ├── nrf_cloud_log.rst
│  │  │  │  ├── nrf_cloud_pgps.rst
│  │  │  │  │ nrf_cloud_rest.rst
│  │  ├── releases_and_maturity
│  │  │  ├── known_issues.rst
│  │  │  ├── releases
│  │  │  │  ├── release-notes-1.7.0.rst
│  │  │  │  ├── release-notes-1.8.0.rst
│  │  │  │  ├── release-notes-1.9.0.rst
│  │  │  │  ├── release-notes-2.0.0.rst
│  │  │  │  ├── release-notes-2.1.0.rst
│  │  │  │  ├── release-notes-2.2.0.rst
│  │  │  │  ├── release-notes-2.3.0.rst
│  │  │  │  ├── release-notes-2.4.0.rst
│  │  │  │  ├── release-notes-2.5.0.rst
│  │  │  │  ├── release-notes-2.6.0.rst
│  │  │  │  ├── release-notes-2.7.0.rst
│  │  │  │  ├── release-notes-2.8.0-preview1.rst
│  │  │  │  ├── release-notes-2.8.0.rst
│  │  │  │  ├── release-notes-2.9.0.rst
│  │  │  │  ├── release-notes-3.0.0-preview1.rst
│  │  │  │  ├── release-notes-3.0.0-preview2.rst
│  │  │  │  ├── release-notes-3.0.0.rst
│  │  │  │  ├── release-notes-3.1.0-preview3.rst
│  │  │  │  ├── release-notes-3.1.0.rst
│  │  │  │  ├── release-notes-3.2.0-preview1.rst
│  │  │  │  ├── release-notes-3.2.0-preview2.rst
│  │  │  │  ├── release-notes-3.2.0-preview3.rst
│  │  │  │  ├── release-notes-3.2.0.rst
│  │  │  │  │ release-notes-changelog.rst
include
│  ├── net
│  │  ├── nrf_cloud.h
│  │  ├── nrf_cloud_agnss.h
│  │  ├── nrf_cloud_coap.h
│  │  ├── nrf_cloud_defs.h
│  │  ├── nrf_cloud_fota_poll.h
│  │  ├── nrf_cloud_location.h
│  │  ├── nrf_cloud_log.h
│  │  ├── nrf_cloud_pgps.h
│  │  │ nrf_cloud_rest.h
lib
│  ├── location
│  │  ├── Kconfig
│  │  ├── cloud_service.c
│  │  │ method_gnss.c
samples
│  ├── cellular
│  │  ├── gnss
│  │  │  ├── Kconfig
│  │  │  ├── README.rst
│  │  │  ├── overlay-pgps.conf
│  │  │  ├── prj.conf
│  │  │  ├── src
│  │  │  │  │ assistance.c
│  │  ├── location
│  │  │  ├── README.rst
│  │  │  ├── overlay-pgps.conf
│  │  │  ├── prj.conf
│  │  │  ├── src
│  │  │  │  │ main.c
│  │  ├── modem_shell
│  │  │  ├── Kconfig
│  │  │  ├── README.rst
│  │  │  ├── overlay-cloud_coap.conf
│  │  │  ├── overlay-cloud_mqtt.conf
│  │  │  ├── overlay-debug.conf
│  │  │  ├── overlay-lwm2m.conf
│  │  │  ├── overlay-non-offloading.conf
│  │  │  ├── prj.conf
│  │  │  ├── sample.yaml
│  │  │  ├── src
│  │  │  │  ├── cloud
│  │  │  │  │  ├── CMakeLists.txt
│  │  │  │  │  │ cloud_rest_shell.c
│  │  │  │  ├── gnss
│  │  │  │  │  │ gnss.c
│  │  │  │  ├── link
│  │  │  │  │  │ link_api.c
│  │  │  │  ├── location
│  │  │  │  │  │ location_shell.c
│  │  │  │  │ main.c
│  │  ├── nrf_cloud_coap_cell_location
│  │  │  ├── README.rst
│  │  │  ├── prj.conf
│  │  │  ├── src
│  │  │  │  │ main.c
│  │  ├── nrf_cloud_coap_device_message
│  │  │  ├── prj.conf
│  │  │  ├── src
│  │  │  │  │ main.c
│  │  ├── nrf_cloud_coap_fota
│  │  │  ├── src
│  │  │  │  ├── main.c
│  │  │  │  │ smp_reset.h
│  │  ├── nrf_cloud_multi_service
│  │  │  ├── README.rst
│  │  │  ├── overlay-coap_nrf_provisioning.conf
│  │  │  ├── overlay_min_coap.conf
│  │  │  ├── overlay_native_sim_coap.conf
│  │  │  │ overlay_nrf700x_wifi_coap_no_lte.conf
│  │  ├── nrf_cloud_rest_cell_location
│  │  │  ├── CMakeLists.txt
│  │  │  ├── Kconfig
│  │  │  ├── README.rst
│  │  │  ├── VERSION
│  │  │  ├── prj.conf
│  │  │  ├── sample.yaml
│  │  │  ├── src
│  │  │  │  │ main.c
│  │  ├── nrf_cloud_rest_device_message
│  │  │  ├── CMakeLists.txt
│  │  │  ├── Kconfig
│  │  │  ├── README.rst
│  │  │  ├── boards
│  │  │  │  ├── nrf9151dk_nrf9151_ns.overlay
│  │  │  │  ├── nrf9160dk_nrf9160_ns.overlay
│  │  │  │  ├── nrf9161dk_nrf9161_ns.overlay
│  │  │  │  ├── thingy91x_nrf9151_ns.conf
│  │  │  │  │ thingy91x_nrf9151_ns.overlay
│  │  │  ├── include
│  │  │  │  ├── buttons_def.h
│  │  │  │  │ leds_def.h
│  │  │  ├── overlay-rtt.conf
│  │  │  ├── overlay_nrfcloud_logging.conf
│  │  │  ├── prj.conf
│  │  │  ├── sample.yaml
│  │  │  ├── src
│  │  │  │  │ main.c
│  │  ├── nrf_cloud_rest_fota
│  │  │  ├── CMakeLists.txt
│  │  │  ├── Kconfig
│  │  │  ├── README.rst
│  │  │  ├── boards
│  │  │  │  ├── nrf9151dk_nrf9151_ns.overlay
│  │  │  │  ├── nrf9160dk_nrf9160_ns_0_14_0.overlay
│  │  │  │  ├── nrf9161dk_nrf9161_ns.overlay
│  │  │  │  ├── nrf9161dk_nrf9161_ns_0_7_0.overlay
│  │  │  │  ├── thingy91x_nrf9151_ns.conf
│  │  │  │  │ thingy91x_nrf9151_ns.overlay
│  │  │  ├── nrf9160dk_mcumgr_client_uart2.overlay
│  │  │  ├── overlay_fota_test.conf
│  │  │  ├── overlay_full_modem_fota.conf
│  │  │  ├── overlay_smp_fota.conf
│  │  │  ├── prj.conf
│  │  │  ├── sample.yaml
│  │  │  ├── src
│  │  │  │  ├── main.c
│  │  │  │  ├── smp_reset.c
│  │  │  │  │ smp_reset.h
│  │  │  ├── sysbuild.conf
│  │  │  ├── sysbuild
│  │  │  │  ├── mcuboot
│  │  │  │  │  ├── app.overlay
│  │  │  │  │  ├── boards
│  │  │  │  │  │  ├── thingy91x_nrf9151.conf
│  │  │  │  │  │  │ thingy91x_nrf9151.overlay
│  │  │  │  │  │ prj.conf
subsys
│  ├── net
│  │  ├── lib
│  │  │  ├── CMakeLists.txt
│  │  │  ├── nrf_cloud
│  │  │  │  ├── CMakeLists.txt
│  │  │  │  ├── Kconfig
│  │  │  │  ├── Kconfig.nrf_cloud_agnss
│  │  │  │  ├── Kconfig.nrf_cloud_coap
│  │  │  │  ├── Kconfig.nrf_cloud_fota
│  │  │  │  ├── Kconfig.nrf_cloud_log
│  │  │  │  ├── Kconfig.nrf_cloud_rest
│  │  │  │  ├── coap
│  │  │  │  │  ├── include
│  │  │  │  │  │  ├── coap_codec.h
│  │  │  │  │  │  │ nrf_cloud_coap_transport.h
│  │  │  │  │  ├── src
│  │  │  │  │  │  ├── nrf_cloud_coap.c
│  │  │  │  │  │  ├── nrf_cloud_coap_codec.c
│  │  │  │  │  │  ├── nrf_cloud_coap_download.c
│  │  │  │  │  │  │ nrf_cloud_log.c
│  │  │  │  ├── common
│  │  │  │  │  ├── include
│  │  │  │  │  │  ├── nrf_cloud_codec_internal.h
│  │  │  │  │  │  │ nrf_cloud_log_internal.h
│  │  │  │  │  ├── src
│  │  │  │  │  │  ├── nrf_cloud_codec_internal.c
│  │  │  │  │  │  ├── nrf_cloud_credentials.c
│  │  │  │  │  │  ├── nrf_cloud_fota_poll.c
│  │  │  │  │  │  ├── nrf_cloud_info.c
│  │  │  │  │  │  ├── nrf_cloud_log.c
│  │  │  │  │  │  │ nrf_cloud_log_backend.c
│  │  │  │  ├── mqtt
│  │  │  │  │  ├── src
│  │  │  │  │  │  │ nrf_cloud_log.c
│  │  │  │  ├── rest
│  │  │  │  │  ├── src
│  │  │  │  │  │  ├── nrf_cloud_log.c
│  │  │  │  │  │  │ nrf_cloud_rest.c
tests
│  ├── lib
│  │  ├── location
│  │  │  ├── CMakeLists.txt
│  │  │  ├── location_lib_autoconf_ext.h
│  │  │  ├── location_lib_autoconf_ext_agnss.h
│  │  │  ├── src
│  │  │  │  │ location_test.c
│  ├── subsys
│  │  ├── net
│  │  │  ├── lib
│  │  │  │  ├── nrf_cloud
│  │  │  │  │  ├── fota_common
│  │  │  │  │  │  ├── src
│  │  │  │  │  │  │  │ main.c
│  │  │  │  │  │  │ testcase.yaml

Outputs:

Toolchain

Version: f0aa129f09
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:f0aa129f09_5ea73affbf

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ✅ Build twister
    • sdk-nrf test count: 356
  • ✅ Integration tests
    • ✅ test-fw-nrfconnect-nrf-iot_samples
    • ✅ test-fw-nrfconnect-nrf-iot_thingy91
    • ✅ test-fw-nrfconnect-nrf_lrcs_mosh
    • ✅ test-fw-nrfconnect-nrf_lrcs_positioning
    • ✅ test-sdk-mcuboot
    • ✅ test-sdk-dfu
    • ⚠️ test-fw-nrfconnect-nrf-iot_cloud
    • ⚠️ test-fw-nrfconnect-nrf_lrcs_mosh
    • ⚠️ test-fw-nrfconnect-nrf_lrcs_positioning
Disabled integration tests
    • desktop52_verification
    • test_ble_nrf_config
    • test-fw-nrfconnect-apps
    • test-fw-nrfconnect-ble_mesh
    • test-fw-nrfconnect-ble_samples
    • test-fw-nrfconnect-chip
    • test-fw-nrfconnect-fem
    • test-fw-nrfconnect-nfc
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_lwm2m
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-nrf_crypto
    • test-fw-nrfconnect-ps-main
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-rs
    • test-fw-nrfconnect-tfm
    • test-fw-nrfconnect-thread-main
    • test-low-level
    • test-sdk-audio
    • test-sdk-find-my
    • test-sdk-wifi
    • test-secdom-samples-public

Note: This message is automatically posted and updated by the CI

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request removes the deprecated nRF Cloud REST transport from the nRF Cloud libraries and treewide references, migrating remaining functionality to CoAP/MQTT and deleting REST-only samples and documentation.

Changes:

  • Removed the nRF Cloud REST Kconfig/module sources and REST-based logging/codec support paths.
  • Updated location/GNSS/modem_shell codepaths, tests, and configs to use nRF Cloud CoAP APIs instead of REST.
  • Deleted REST samples and updated documentation/release notes to reflect REST removal.

Reviewed changes

Copilot reviewed 152 out of 152 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
tests/subsys/net/lib/nrf_cloud/fota_common/testcase.yaml Removes REST config from test configuration matrix.
tests/subsys/net/lib/nrf_cloud/fota_common/src/main.c Updates skip/assert text to no longer reference REST.
tests/lib/location/src/location_test.c Replaces REST mocks/stubs with CoAP equivalents for A-GNSS/location tests.
tests/lib/location/location_lib_autoconf_ext.h Adds CoAP-related config macros for unit test compilation.
tests/lib/location/location_lib_autoconf_ext_agnss.h Removes REST-related config macros from A-GNSS unit test config.
tests/lib/location/CMakeLists.txt Drops REST client mocking; adds CoAP mock generation and cJSON include path.
subsys/net/lib/nrf_cloud/rest/src/nrf_cloud_log.c Removes REST direct logging implementation.
subsys/net/lib/nrf_cloud/mqtt/src/nrf_cloud_log.c Updates call signature for shared log formatter.
subsys/net/lib/nrf_cloud/Kconfig.nrf_cloud_rest Removes REST transport Kconfig.
subsys/net/lib/nrf_cloud/Kconfig.nrf_cloud_log Drops REST as a dependency option for cloud logging features.
subsys/net/lib/nrf_cloud/Kconfig.nrf_cloud_fota Removes REST-specific defaults and updates FOTA poll wording to CoAP-only.
subsys/net/lib/nrf_cloud/Kconfig.nrf_cloud_coap Adds CoAP proxy URI buffer length Kconfig for downloads.
subsys/net/lib/nrf_cloud/Kconfig.nrf_cloud_agnss Updates help text to refer to CoAP request structures.
subsys/net/lib/nrf_cloud/Kconfig Removes REST transport inclusion and related conditional logic.
subsys/net/lib/nrf_cloud/common/src/nrf_cloud_log.c Removes REST-context fields from log context init/format flow.
subsys/net/lib/nrf_cloud/common/src/nrf_cloud_log_backend.c Removes REST backend handling and associated helpers.
subsys/net/lib/nrf_cloud/common/src/nrf_cloud_info.c Removes REST protocol/host reporting.
subsys/net/lib/nrf_cloud/common/src/nrf_cloud_fota_poll.c Converts FOTA polling helper implementation to CoAP-only.
subsys/net/lib/nrf_cloud/common/src/nrf_cloud_credentials.c Removes REST-related credential checks and messaging.
subsys/net/lib/nrf_cloud/common/src/nrf_cloud_codec_internal.c Removes REST-specific parsing/encoding paths and renames REST-only keys/functions.
subsys/net/lib/nrf_cloud/common/include/nrf_cloud_log_internal.h Removes REST context from internal log context API.
subsys/net/lib/nrf_cloud/common/include/nrf_cloud_codec_internal.h Removes REST-related API documentation/decls and updates function names.
subsys/net/lib/nrf_cloud/coap/src/nrf_cloud_log.c Updates call signature for shared log formatter.
subsys/net/lib/nrf_cloud/coap/src/nrf_cloud_coap.c Updates public CoAP APIs to use CoAP-specific request/result types.
subsys/net/lib/nrf_cloud/coap/src/nrf_cloud_coap_download.c Switches proxy URI buffer sizing to new CoAP Kconfig and adds FOTA_DOWNLOAD guards.
subsys/net/lib/nrf_cloud/coap/src/nrf_cloud_coap_codec.c Updates codec signatures/types and uses new CoAP FOTA decode symbol.
subsys/net/lib/nrf_cloud/coap/include/nrf_cloud_coap_transport.h Removes REST header dependency from CoAP transport header.
subsys/net/lib/nrf_cloud/coap/include/coap_codec.h Replaces REST types with CoAP types and fixes parameter name typo.
subsys/net/lib/nrf_cloud/CMakeLists.txt Removes REST sources from the build.
subsys/net/lib/CMakeLists.txt Drops REST from condition that pulls in nrf_cloud subtree.
samples/cellular/nrf_cloud_rest_fota/sysbuild/mcuboot/prj.conf Removes REST FOTA sample sysbuild MCUboot config.
samples/cellular/nrf_cloud_rest_fota/sysbuild/mcuboot/boards/thingy91x_nrf9151.overlay Removes REST FOTA sample sysbuild overlay.
samples/cellular/nrf_cloud_rest_fota/sysbuild/mcuboot/boards/thingy91x_nrf9151.conf Removes REST FOTA sample sysbuild board config.
samples/cellular/nrf_cloud_rest_fota/sysbuild/mcuboot/app.overlay Removes REST FOTA sample sysbuild app overlay.
samples/cellular/nrf_cloud_rest_fota/sysbuild.conf Removes REST FOTA sample sysbuild configuration.
samples/cellular/nrf_cloud_rest_fota/src/smp_reset.h Removes REST FOTA sample SMP reset header.
samples/cellular/nrf_cloud_rest_fota/src/smp_reset.c Removes REST FOTA sample SMP reset implementation.
samples/cellular/nrf_cloud_rest_fota/sample.yaml Removes REST FOTA sample definition.
samples/cellular/nrf_cloud_rest_fota/README.rst Removes REST FOTA sample documentation.
samples/cellular/nrf_cloud_rest_fota/prj.conf Removes REST FOTA sample configuration.
samples/cellular/nrf_cloud_rest_fota/overlay_smp_fota.conf Removes REST FOTA SMP overlay.
samples/cellular/nrf_cloud_rest_fota/overlay_full_modem_fota.conf Removes REST FOTA full-modem overlay.
samples/cellular/nrf_cloud_rest_fota/overlay_fota_test.conf Removes REST FOTA test overlay.
samples/cellular/nrf_cloud_rest_fota/nrf9160dk_mcumgr_client_uart2.overlay Removes REST FOTA UART overlay.
samples/cellular/nrf_cloud_rest_fota/Kconfig Removes REST FOTA sample Kconfig.
samples/cellular/nrf_cloud_rest_fota/CMakeLists.txt Removes REST FOTA sample build script.
samples/cellular/nrf_cloud_rest_fota/boards/thingy91x_nrf9151_ns.overlay Removes REST FOTA sample board overlay.
samples/cellular/nrf_cloud_rest_fota/boards/thingy91x_nrf9151_ns.conf Removes REST FOTA sample board config.
samples/cellular/nrf_cloud_rest_fota/boards/nrf9161dk_nrf9161_ns.overlay Removes REST FOTA sample board overlay.
samples/cellular/nrf_cloud_rest_fota/boards/nrf9161dk_nrf9161_ns_0_7_0.overlay Removes REST FOTA sample board overlay variant.
samples/cellular/nrf_cloud_rest_fota/boards/nrf9160dk_nrf9160_ns_0_14_0.overlay Removes REST FOTA sample board overlay variant.
samples/cellular/nrf_cloud_rest_fota/boards/nrf9151dk_nrf9151_ns.overlay Removes REST FOTA sample board overlay.
samples/cellular/nrf_cloud_rest_device_message/sample.yaml Removes REST device message sample definition.
samples/cellular/nrf_cloud_rest_device_message/README.rst Removes REST device message sample documentation.
samples/cellular/nrf_cloud_rest_device_message/prj.conf Removes REST device message sample configuration.
samples/cellular/nrf_cloud_rest_device_message/overlay-rtt.conf Removes REST device message RTT overlay.
samples/cellular/nrf_cloud_rest_device_message/overlay_nrfcloud_logging.conf Removes REST device message logging overlay.
samples/cellular/nrf_cloud_rest_device_message/Kconfig Removes REST device message sample Kconfig.
samples/cellular/nrf_cloud_rest_device_message/include/leds_def.h Removes REST device message CAF LED defs.
samples/cellular/nrf_cloud_rest_device_message/include/buttons_def.h Removes REST device message CAF button defs.
samples/cellular/nrf_cloud_rest_device_message/CMakeLists.txt Removes REST device message sample build script.
samples/cellular/nrf_cloud_rest_device_message/boards/thingy91x_nrf9151_ns.overlay Removes REST device message sample board overlay.
samples/cellular/nrf_cloud_rest_device_message/boards/thingy91x_nrf9151_ns.conf Removes REST device message sample board config.
samples/cellular/nrf_cloud_rest_device_message/boards/nrf9161dk_nrf9161_ns.overlay Removes REST device message sample board overlay.
samples/cellular/nrf_cloud_rest_device_message/boards/nrf9160dk_nrf9160_ns.overlay Removes REST device message sample board overlay.
samples/cellular/nrf_cloud_rest_device_message/boards/nrf9151dk_nrf9151_ns.overlay Removes REST device message sample board overlay.
samples/cellular/nrf_cloud_rest_cell_location/VERSION Removes REST cell location sample version file.
samples/cellular/nrf_cloud_rest_cell_location/src/main.c Removes REST cell location sample implementation.
samples/cellular/nrf_cloud_rest_cell_location/sample.yaml Removes REST cell location sample definition.
samples/cellular/nrf_cloud_rest_cell_location/README.rst Removes REST cell location sample documentation.
samples/cellular/nrf_cloud_rest_cell_location/prj.conf Removes REST cell location sample configuration.
samples/cellular/nrf_cloud_rest_cell_location/Kconfig Removes REST cell location sample Kconfig.
samples/cellular/nrf_cloud_rest_cell_location/CMakeLists.txt Removes REST cell location sample build script.
samples/cellular/nrf_cloud_multi_service/README.rst Updates wording to remove REST from onboarding compatibility statement.
samples/cellular/nrf_cloud_coap_fota/src/smp_reset.h Removes SMP_FOTA_ENABLED macro indirection.
samples/cellular/nrf_cloud_coap_fota/src/main.c Uses CONFIG_NRF_CLOUD_FOTA_SMP directly and updates service info reporting.
samples/cellular/nrf_cloud_coap_device_message/src/main.c Fixes error log message to say CoAP instead of REST.
samples/cellular/nrf_cloud_coap_cell_location/src/main.c Updates request type to CoAP-specific location request struct.
samples/cellular/nrf_cloud_coap_cell_location/README.rst Updates cert note to remove REST mention.
samples/cellular/modem_shell/src/main.c Removes REST from compile-time transport init condition.
samples/cellular/modem_shell/src/location/location_shell.c Removes REST send path from location shell cloud send command.
samples/cellular/modem_shell/src/link/link_api.c Updates device-id retrieval gating to include CoAP instead of REST.
samples/cellular/modem_shell/src/gnss/gnss.c Removes REST-based assistance flows; updates assertions/messages.
samples/cellular/modem_shell/src/cloud/CMakeLists.txt Removes REST cloud shell source from build.
samples/cellular/modem_shell/src/cloud/cloud_rest_shell.c Removes REST cloud shell implementation.
samples/cellular/modem_shell/sample.yaml Removes modem_shell build-only test variant that enabled REST.
samples/cellular/modem_shell/README.rst Updates Kconfig documentation to CoAP and removes REST references.
samples/cellular/modem_shell/prj.conf Adds CoAP transport defaults and enables shadow reporting; sets UUID client ID.
samples/cellular/modem_shell/overlay-non-offloading.conf Removes MOSH_CLOUD_REST overlay setting.
samples/cellular/modem_shell/overlay-lwm2m.conf Removes MOSH_CLOUD_REST overlay setting.
samples/cellular/modem_shell/overlay-debug.conf Removes REST log level setting.
samples/cellular/modem_shell/overlay-cloud_mqtt.conf Renames REST disable to COAP disable; adjusts other cloud config.
samples/cellular/modem_shell/overlay-cloud_coap.conf Removes old overlay (now inlined in prj.conf).
samples/cellular/modem_shell/Kconfig Removes MOSH_CLOUD_REST option and updates workqueue sizing defaults.
samples/cellular/location/src/main.c Migrates sample to initialize/connect nRF Cloud CoAP and adds credential/time checks.
samples/cellular/location/README.rst Removes REST-specific note include.
samples/cellular/location/prj.conf Switches transport from REST to CoAP and adds CoAP client configuration.
samples/cellular/location/overlay-pgps.conf Updates P-GPS overlay for CoAP URL request + HTTP download prerequisites.
samples/cellular/gnss/src/assistance.c Migrates A-GNSS/P-GPS assistance retrieval to nRF Cloud CoAP APIs.
samples/cellular/gnss/README.rst Updates description to CoAP-based assistance (needs link markup fix).
samples/cellular/gnss/prj.conf Enables CoAP transport and required credentials/JWT settings for GNSS sample.
samples/cellular/gnss/overlay-pgps.conf Enables CoAP-oriented P-GPS behaviors and downloader requirements.
samples/cellular/gnss/Kconfig Switches GNSS assistance selection from REST to CoAP.
lib/location/method_gnss.c Removes REST assistance paths; uses CoAP request/result types for A-GNSS/P-GPS.
lib/location/Kconfig Removes REST as an allowed dependency for nRF Cloud location services.
lib/location/cloud_service.c Removes REST location path; uses CoAP location request.
include/net/nrf_cloud.h Updates public API docs to remove REST-specific semantics.
include/net/nrf_cloud_pgps.h Adds CoAP request struct and updates docs to remove REST mention.
include/net/nrf_cloud_log.h Removes REST logging API declarations and doc references.
include/net/nrf_cloud_location.h Updates docs to clarify MQTT-only processing.
include/net/nrf_cloud_fota_poll.h Removes REST context from FOTA poll public context struct.
include/net/nrf_cloud_defs.h Renames REST-specific JSON keys/constants to generic forms and removes REST proto val.
include/net/nrf_cloud_coap.h Removes REST type dependency and introduces CoAP-specific request/result types.
include/net/nrf_cloud_agnss.h Updates docs and includes to align with CoAP-only transport.
doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst Adds changelog entry for REST library/sample removal.
doc/nrf/releases_and_maturity/releases/release-notes-3.2.0.rst Converts REST ref links to literals where REST items were removed.
doc/nrf/releases_and_maturity/releases/release-notes-3.2.0-preview3.rst Converts REST ref links to literals where REST items were removed.
doc/nrf/releases_and_maturity/releases/release-notes-3.2.0-preview2.rst Converts REST ref links to literals where REST items were removed.
doc/nrf/releases_and_maturity/releases/release-notes-3.2.0-preview1.rst Converts REST ref links to literals where REST items were removed.
doc/nrf/releases_and_maturity/releases/release-notes-3.1.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-3.1.0-preview3.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-3.0.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-3.0.0-preview2.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-3.0.0-preview1.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-2.9.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-2.8.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-2.8.0-preview1.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-2.7.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-2.6.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-2.5.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-2.4.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-2.3.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-2.2.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-2.1.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-2.0.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-1.9.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-1.8.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/releases/release-notes-1.7.0.rst Converts REST ref links to literals in historical release notes.
doc/nrf/releases_and_maturity/known_issues.rst Updates issue references to removed REST samples to avoid broken refs.
doc/nrf/libraries/networking/nrf_cloud.rst Updates library overview and FOTA poll wording to remove REST support.
doc/nrf/libraries/networking/nrf_cloud_rest.rst Removes REST library documentation page.
doc/nrf/libraries/networking/nrf_cloud_pgps.rst Updates CoAP request struct naming (surrounding REST references remain).
doc/nrf/libraries/networking/nrf_cloud_log.rst Updates logging library docs to remove REST and add CoAP/MQTT-only framing.
doc/nrf/libraries/networking/nrf_cloud_agnss.rst Updates A-GNSS docs to remove REST transport option.
doc/nrf/libraries/modem/location.rst Updates modem location docs to reflect CoAP/MQTT transport options (no REST).
doc/nrf/external_comp/nrf_cloud.rst Removes REST device connectivity option; updates protocol guidance to CoAP/MQTT.
doc/_zoomin/ncs.tags.yml Removes REST sample/doc mappings for doc tagging.
.github/test-spec.yml Removes REST header from test spec file lists.
Comments suppressed due to low confidence (1)

doc/nrf/libraries/networking/nrf_cloud_log.rst:168

  • This documentation now references :ref:lib_nrf_cloud_mqtt`` and points to source files under subsys/net/lib/nrf_cloud/src/, but there is no `lib_nrf_cloud_mqtt` label and the `src/` path does not exist (code is under `common/`, `mqtt/`, `coap/`). Update the dependency reference(s) and source file paths to valid targets to avoid broken Sphinx refs and incorrect file locations.
This library uses the following |NCS| libraries:

* :ref:`lib_nrf_cloud`
* :ref:`lib_nrf_cloud_mqtt`
* :ref:`lib_nrf_cloud_coap`
* :ref:`lib_date_time`

API documentation
*****************

| Header file: :file:`include/net/nrf_cloud_log.h`
| Source files: :file:`subsys/net/lib/nrf_cloud/src/nrf_cloud_log.c`
| Source files: :file:`subsys/net/lib/nrf_cloud/src/nrf_cloud_log_backend.c`


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread samples/cellular/location/src/main.c
Comment thread subsys/net/lib/nrf_cloud/Kconfig.nrf_cloud_fota
Comment thread include/net/nrf_cloud_coap.h
Comment thread samples/cellular/gnss/README.rst
Comment thread doc/nrf/libraries/networking/nrf_cloud_pgps.rst
@pascal-nordic
pascal-nordic force-pushed the CLOUDMCU-198-remove-n-rf-cloud-rest-from-ncs branch from 9e2da2e to c7ec84b Compare May 12, 2026 13:06
@pascal-nordic
pascal-nordic force-pushed the CLOUDMCU-198-remove-n-rf-cloud-rest-from-ncs branch from c7ec84b to ed702cf Compare May 12, 2026 13:13
@pascal-nordic
pascal-nordic marked this pull request as ready for review May 12, 2026 13:13
@pascal-nordic
pascal-nordic requested review from a team as code owners May 12, 2026 13:13
@pascal-nordic
pascal-nordic force-pushed the CLOUDMCU-198-remove-n-rf-cloud-rest-from-ncs branch from 7c52986 to 63dab6f Compare May 13, 2026 11:58
@pascal-nordic
pascal-nordic requested a review from peknis May 13, 2026 11:59
Comment thread doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst Outdated
@pascal-nordic
pascal-nordic force-pushed the CLOUDMCU-198-remove-n-rf-cloud-rest-from-ncs branch from 63dab6f to ccf0751 Compare May 13, 2026 13:32
@pascal-nordic
pascal-nordic requested a review from peknis May 13, 2026 13:33

@peknis peknis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few more tiny fixes and we are there.

Comment thread doc/nrf/external_comp/nrf_cloud.rst Outdated
Comment thread doc/nrf/releases_and_maturity/releases/release-notes-2.0.0.rst Outdated
Comment thread doc/nrf/releases_and_maturity/releases/release-notes-2.0.0.rst Outdated
Comment thread doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst Outdated
Comment thread doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst Outdated
Comment thread doc/nrf/releases_and_maturity/releases/release-notes-changelog.rst Outdated
@pascal-nordic
pascal-nordic force-pushed the CLOUDMCU-198-remove-n-rf-cloud-rest-from-ncs branch from ccf0751 to 9ce3abb Compare May 15, 2026 08:47
Comment thread samples/cellular/modem_shell/sample.yaml Outdated
Deprecated from nRF Cloud libraries. Removing references and samples.

Signed-off-by: Pascal Hernandez <pascal.hernandez@nordicsemi.no>
@pascal-nordic
pascal-nordic force-pushed the CLOUDMCU-198-remove-n-rf-cloud-rest-from-ncs branch from 9ce3abb to 28231f8 Compare May 15, 2026 11:49

@tokangas tokangas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

modem_shell, gnss and location samples, and the location library look good to me.

@moksanen FYI, REST support is being removed from our samples.

@rlubos
rlubos merged commit 8714260 into nrfconnect:main May 18, 2026
20 of 21 checks passed
pascal-nordic added a commit to pascal-nordic/sdk-nrf that referenced this pull request May 18, 2026
The CBOR codec unit-test PR (nrfconnect#27892) and the REST removal PR (nrfconnect#28522)
were merged independently and produced a semantic conflict that left
net.lib.nrf_cloud.codec.cbor failing to build on main:

  * The test referenced REST types (nrf_cloud_rest_agnss_request,
    nrf_cloud_rest_pgps_request, nrf_cloud_rest_agnss_result,
    NRF_CLOUD_REST_AGNSS_REQ_*, nrf_cloud_rest_fota_execution_decode)
    that were renamed to their nrf_cloud_coap_* counterparts by the
    REST removal.

  * The REST removal made coap_codec.h transitively pull in
    net/nrf_cloud_coap.h. Its CoAP-disabled fallback redefined
    enum coap_content_format, conflicting with zephyr/net/coap.h that
    the test (and the codec source) include directly.

  * struct nrf_cloud_coap_pgps_request was gated on
    CONFIG_NRF_CLOUD_COAP in net/nrf_cloud_pgps.h, so building any
    codec consumer with PGPS but without COAP left the struct
    undeclared.

Fixes applied:
  * Rename REST types in the test sources to their nrf_cloud_coap_*
    equivalents.
  * In nrf_cloud_coap.h, include zephyr/net/coap.h unconditionally so
    enum coap_content_format always comes from the canonical Zephyr
    header. Only zephyr/net/coap_client.h stays gated on
    CONFIG_NRF_CLOUD_COAP since it requires CONFIG_COAP_CLIENT_*.
  * In nrf_cloud_pgps.h, define struct nrf_cloud_coap_pgps_request
    unconditionally - it is a pure data carrier and does not require
    any CoAP machinery.

Verified: net.lib.nrf_cloud.codec.cbor and net.lib.nrf_cloud.codec.json
both pass on native_sim and qemu_cortex_m3 (266/266 test cases).

Signed-off-by: Pascal Hernandez <pascal.hernandez@nordicsemi.no>
rlubos pushed a commit that referenced this pull request May 18, 2026
The CBOR codec unit-test PR (#27892) and the REST removal PR (#28522)
were merged independently and produced a semantic conflict that left
net.lib.nrf_cloud.codec.cbor failing to build on main:

  * The test referenced REST types (nrf_cloud_rest_agnss_request,
    nrf_cloud_rest_pgps_request, nrf_cloud_rest_agnss_result,
    NRF_CLOUD_REST_AGNSS_REQ_*, nrf_cloud_rest_fota_execution_decode)
    that were renamed to their nrf_cloud_coap_* counterparts by the
    REST removal.

  * The REST removal made coap_codec.h transitively pull in
    net/nrf_cloud_coap.h. Its CoAP-disabled fallback redefined
    enum coap_content_format, conflicting with zephyr/net/coap.h that
    the test (and the codec source) include directly.

  * struct nrf_cloud_coap_pgps_request was gated on
    CONFIG_NRF_CLOUD_COAP in net/nrf_cloud_pgps.h, so building any
    codec consumer with PGPS but without COAP left the struct
    undeclared.

Fixes applied:
  * Rename REST types in the test sources to their nrf_cloud_coap_*
    equivalents.
  * In nrf_cloud_coap.h, include zephyr/net/coap.h unconditionally so
    enum coap_content_format always comes from the canonical Zephyr
    header. Only zephyr/net/coap_client.h stays gated on
    CONFIG_NRF_CLOUD_COAP since it requires CONFIG_COAP_CLIENT_*.
  * In nrf_cloud_pgps.h, define struct nrf_cloud_coap_pgps_request
    unconditionally - it is a pure data carrier and does not require
    any CoAP machinery.

Verified: net.lib.nrf_cloud.codec.cbor and net.lib.nrf_cloud.codec.json
both pass on native_sim and qemu_cortex_m3 (266/266 test cases).

Signed-off-by: Pascal Hernandez <pascal.hernandez@nordicsemi.no>
SeppoTakalo added a commit to SeppoTakalo/ncs-serial-modem that referenced this pull request May 19, 2026
Since PR nrfconnect/sdk-nrf#28522
the structure names have changed since REST API is not supported
anymore.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
SeppoTakalo added a commit to SeppoTakalo/ncs-serial-modem that referenced this pull request May 19, 2026
Since PR nrfconnect/sdk-nrf#28522
the structure names have changed since REST API is not supported
anymore.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
SeppoTakalo added a commit to nrfconnect/ncs-serial-modem that referenced this pull request May 20, 2026
nrf PR nrfconnect/sdk-nrf#28522
changes the API, so prepare it by updating and refactoring the API.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
SeppoTakalo added a commit to nrfconnect/ncs-serial-modem that referenced this pull request May 20, 2026
Since PR nrfconnect/sdk-nrf#28522
the structure names have changed since REST API is not supported
anymore.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog doc-required PR must not be merged without tech writer approval.

Projects

None yet

Development

Successfully merging this pull request may close these issues.