Courseiva

CCNA AI and Network Operations Practice Question

A network engineer is using a Python script with the requests library to interact with a Cisco DNA Center REST API. The script must retrieve a list of network devices and then filter for those with a specific software version. Which HTTP method and endpoint pattern should the engineer use for the initial retrieval?

⚠ Common exam trap

The trap here is assuming a filter must be sent to the server; many APIs return full collections that the client filters locally, and using POST or DELETE for retrieval is incorrect.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

GET to /dna/intent/api/v1/network-device and then filter the JSON response locally.

The correct approach is to use GET on the network-device endpoint to retrieve all devices, then filter the JSON response for the desired software version. GET is safe and idempotent, aligning with REST principles for read operations. POST, PUT, and DELETE are used for create, update, and delete actions, respectively, and would not achieve the retrieval goal.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✓

    GET to /dna/intent/api/v1/network-device and then filter the JSON response locally.

    Why this is correct

    Cisco DNA Center exposes GET /dna/intent/api/v1/network-device to retrieve all devices. The response is a JSON array containing device attributes such as softwareVersion. The engineer can then filter locally for the specific version. This is the standard RESTful approach for read operations and avoids unnecessary complexity or unsupported query parameters.

  • ✗

    DELETE to /dna/intent/api/v1/network-device?softwareVersion=17.3.1 to remove non-matching devices.

    Why it's wrong here

    DELETE removes resources and is completely inappropriate for a retrieval task. This would attempt to delete device records matching the query, causing severe operational impact. The scenario asks to retrieve and filter, not delete. Using DELETE here is a dangerous misunderstanding of HTTP methods.

  • ✗

    PUT to /dna/intent/api/v1/network-device with the version as a path parameter.

    Why it's wrong here

    PUT is used to update or replace an existing resource, not to retrieve a list. Using PUT would attempt to modify device records, which is incorrect and potentially destructive. The endpoint does not accept a version filter as a path parameter for retrieval. The engineer needs a safe, idempotent GET request instead.

  • ✗

    POST to /dna/intent/api/v1/network-device with a JSON body containing the version filter.

    Why it's wrong here

    POST is used to create resources or invoke actions, not for simple retrieval. While some APIs allow POST for complex queries, Cisco DNA Center's network-device endpoint typically uses GET for retrieval. Sending a POST with a filter body may not be supported and could create unintended state. The engineer should use GET for read-only operations.

About these practice questions

Courseiva writes every 200-301 question from scratch — 1,450 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official Cisco exam blueprint

This 200-301 practice question is part of Courseiva's free Cisco certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 200-301 exam.