350-401 · topic practice

REST APIs and Data Models practice questions

Practise ENCOR 350-401 REST APIs and Data Models practice questions — original exam-style scenarios with answer choices, explanations, and analysis of common mistakes.

Courseiva uses original exam-style practice questions designed for learning and revision. The goal is to understand the concepts, recognise exam patterns, and improve through explanations — not memorise copied exam dumps.

Reviewed byJohnson Ajibi· MSc IT Security
20 questionsDomain: REST APIs and Data Models

What the exam tests

What to know about REST APIs and Data Models

REST APIs and Data Models questions test whether you can apply the concept in context, not just recognise a definition.

How the topic appears in realistic exam-style scenarios.

Which detail in the question changes the correct answer.

How to eliminate plausible but wrong options.

How to connect the question back to the wider exam objective.

Watch out for

Common REST APIs and Data Models exam traps

  • Answering from memory before reading the full scenario.
  • Missing a constraint such as cost, availability, security, scope or command context.
  • Choosing a broad answer when the question asks for the most specific fix.
  • Ignoring why the wrong options are tempting.

Practice set

REST APIs and Data Models questions

20 questions · select your answer, then reveal the explanation

Question 1mediummultiple choice
Open the full VLAN trunking answer →

A network engineer is automating the configuration of a new VLAN on a Cisco Catalyst 9000 switch using RESTCONF. The engineer sends a PUT request to the URI 'https://switch/restconf/data/Cisco-NX-OS-device:Native/VlanList' with a JSON payload containing the VLAN details. The switch responds with a 405 Method Not Allowed error. What is the most likely cause of this error?

Question 2mediummultiple choice
Study the full Python automation breakdown →

An engineer is using a Python script to retrieve interface statistics from a Cisco IOS-XE device via the REST API. The script sends a GET request to 'https://device/restconf/data/ietf-interfaces:interfaces/interface=GigabitEthernet1/statistics' and receives a 404 Not Found response. The interface exists and is operational. What is the most likely issue?

Question 3hardmultiple choice
Read the full Ansible explanation →

A network team is using Ansible with the iosxr_config module to push configuration changes to a Cisco IOS-XR router. The playbook uses the REST API via the 'ansible_connection: restconf' setting. The engineer notices that the changes are applied but the playbook reports 'changed: false' even when changes were made. What is the most likely reason for this behavior?

Question 4mediummultiple choice
Read the full REST/YANG explanation →

An engineer is developing a script to automate the backup of running configurations from multiple Cisco IOS-XE devices using RESTCONF. The script sends a GET request to 'https://device/restconf/data/Cisco-IOS-XE-native:native/configuration' and receives a 501 Not Implemented error. What is the most likely cause?

A network engineer is using the Cisco DNA Center REST API to retrieve the list of network devices. The engineer sends a GET request to '/dna/intent/api/v1/network-device' and receives a 400 Bad Request response. The API documentation indicates that the request requires a query parameter 'siteId'. What should the engineer do to resolve the issue?

Question 6mediummultiple choice
Open the full VLAN trunking answer →

An engineer is using a Python script to configure a new VLAN on a Cisco Nexus 9000 switch using the NX-API REST API. The script sends a POST request to 'https://switch/api/mo/org.json' with a JSON payload containing the VLAN configuration. The switch responds with a 403 Forbidden error. What is the most likely cause?

Question 7easymultiple choice
Read the full wireless explanation →

A network engineer is using the Cisco Meraki REST API to update the SSID settings for a wireless network. The engineer sends a PUT request to 'https://api.meraki.com/api/v1/networks/{networkId}/wireless/ssids/{ssidNumber}' with a JSON payload containing the new settings. The API returns a 429 Too Many Requests error. What should the engineer do to resolve this issue?

Question 8hardmultiple choice
Study the full SD-WAN breakdown →

An engineer is using the Cisco SD-WAN vManage REST API to retrieve the list of WAN edge devices. The engineer sends a GET request to 'https://vmanage/dataservice/device' and receives a 401 Unauthorized error. The engineer has already obtained a JSESSIONID cookie by authenticating with the API. What is the most likely cause of the error?

Question 9mediummultiple choice
Read the full REST/YANG explanation →

A network engineer is using the Cisco IOS-XE REST API to configure a static route. The engineer sends a PATCH request to 'https://device/restconf/data/Cisco-IOS-XE-native:native/ip/route/ip-route-interface-forwarding-list=192.168.1.0,255.255.255.0,GigabitEthernet1' with a JSON payload containing the route details. The device responds with a 204 No Content status. What does this response indicate?

Question 10mediummultiple choice
Study the full Python automation breakdown →

A network engineer writes the following Python script using the Requests library to retrieve interface information from a Cisco IOS-XE device via RESTCONF:

```python

import requests
import json

url = "https://10.1.1.1:443/restconf/data/ietf-interfaces:interfaces" headers = {

"Accept": "application/yang-data+json",
    "Content-Type": "application/yang-data+json"
}

auth = ("admin", "password") response = requests.get(url, headers=headers, auth=auth, verify=False)

print(response.json())

```

What is the primary issue with this code?

Question 11mediummultiple choice
Read the full Ansible explanation →

An engineer uses the following Ansible playbook to configure an interface on a Cisco IOS-XE device using the cisco.ios.ios_interfaces module:

```yaml --- - name: Configure interface hosts: cisco-routers gather_facts: no tasks: - name: Set interface description cisco.ios.ios_interfaces: config: - name: GigabitEthernet0/1 description: "Uplink to Core"

enabled: true

state: replaced ```

What is the result of running this playbook?

Question 12hardmultiple choice
Review the full routing breakdown →

A network engineer is using the Cisco DNA Center REST API to retrieve the list of devices. The API call returns the following JSON response:

```json

{
  "response": [
    {
      "id": "device-123",
      "hostname": "Router1",
      "managementIpAddress": "10.10.20.1",
      "softwareVersion": "17.3.3",
      "platformId": "ISR4451-X/K9"
    },
    {
      "id": "device-456",
      "hostname": "Switch1",
      "managementIpAddress": "10.10.20.2",
      "softwareVersion": "16.12.5",
      "platformId": "C9300-24P"
    }
  ],
  "version": "1.0"
}

```

The engineer wants to filter the results to only show devices with software version 17.3.3. Which of the following API query parameters should be used?

Question 13mediummultiple choice
Study the full Python automation breakdown →

A network engineer writes a Python script using NAPALM to retrieve the ARP table from a Cisco IOS-XE device:

```python

from napalm import get_network_driver

driver = get_network_driver('ios') connection = driver('10.1.1.1', 'admin', 'password') connection.open() arp_table = connection.get_arp_table()

for entry in arp_table:
    print(f"IP: {entry['ip']} - MAC: {entry['mac']}")

connection.close() ```

What is the issue with this code?

Question 14hardmultiple choice
Read the full REST/YANG explanation →

An engineer configures model-driven telemetry on a Cisco IOS-XE device with the following gRPC dial-out configuration:

``` telemetry ietf subscription 101 encoding encode-kvgpb filter xpath /interfaces/interface/state/counters source-address 10.1.1.1 stream yang-push update-policy periodic 500 receiver ip address 10.2.2.2 50001 protocol grpc-tcp ```

What is the purpose of the 'encoding encode-kvgpb' command?

A network engineer uses the following Python script with Netmiko to send a command to a Cisco IOS-XE device:

```python

from netmiko import ConnectHandler

device = { 'device_type': 'cisco_ios', 'ip': '10.1.1.1', 'username': 'admin', 'password': 'password', 'secret': 'enable_secret'

}

connection = ConnectHandler(**device) output = connection.send_command('show ip interface brief')

print(output)

connection.disconnect() ```

What is the purpose of the 'secret' parameter in the device dictionary?

Question 16mediummultiple choice
Read the full REST/YANG explanation →

An engineer is using the Cisco IOS-XE RESTCONF API to create a new loopback interface. The following JSON payload is sent in a POST request to '/restconf/data/ietf-interfaces:interfaces':

```json

{

"ietf-interfaces:interface": [

{
      "name": "Loopback100",
      "description": "Management Loopback",
      "type": "iana-if-type:softwareLoopback",
      "enabled": true,

"ietf-ip:ipv4": {

"address": [
          {
            "ip": "192.168.1.1",
            "netmask": "255.255.255.0"
          }
        ]
      }
    }
  ]
}

```

What is the correct HTTP method and URL for this operation?

Question 17mediummultiple choice
Read the full Ansible explanation →

An Ansible playbook uses the cisco.ios.ios_l3_interfaces module to configure an IPv4 address on GigabitEthernet0/1:

```yaml --- - name: Configure IPv4 address hosts: cisco-routers gather_facts: no tasks: - name: Set IP address cisco.ios.ios_l3_interfaces: config: - name: GigabitEthernet0/1 ipv4: - address: 10.1.1.1/24 state: merged ```

What is the effect of the 'state: merged' parameter?

A network engineer is using the Cisco DNA Center API to initiate a network discovery. The API endpoint '/dna/intent/api/v1/discovery' is called with a POST request containing the following JSON payload:

```json

{
  "discoveryType": "Range",
  "ipAddressList": "10.10.20.1-10.10.20.254",
  "protocolOrder": "SSH",
  "timeout": 5,
  "retryCount": 3
}

```

The API returns a 202 Accepted status code. What does this indicate?

Question 19mediummultiple choice
Read the full NAT/PAT explanation →

Examine the following configuration snippet applied to a Cisco IOS-XE device:

interface GigabitEthernet0/1
 ip address 10.1.1.1 255.255.255.0
 ip nat inside

!

interface GigabitEthernet0/2
 ip address 192.168.1.1 255.255.255.0
 ip nat outside

!

access-list 100 permit ip 10.1.1.0 0.0.0.255 any
ip nat inside source list 100 interface GigabitEthernet0/2 overload

What is the effect of this configuration?

Question 20mediummultiple choice
Review the full OSPF breakdown →

Given the following configuration on a Cisco IOS-XE device:

router ospf 1
 network 10.0.0.0 0.255.255.255 area 0

!

interface GigabitEthernet0/0
 ip address 10.1.1.1 255.255.255.0
 ip ospf cost 10

!

interface GigabitEthernet0/1
 ip address 10.2.2.1 255.255.255.0

!

Which statement is true about OSPF operation?

Free account

Track your progress over time

Create a free account to save your results and see which topics improve across sessions.

Focused REST APIs and Data Models sessions

Start a REST APIs and Data Models only practice session

Every question in these sessions is drawn from the REST APIs and Data Models domain — nothing else.

Related practice questions

Related 350-401 topic practice pages

Move into related areas when this topic feels solid.

Frequently asked questions

What does the 350-401 exam test about REST APIs and Data Models?
REST APIs and Data Models questions test whether you can apply the concept in context, not just recognise a definition.
How should I use these practice questions?
Select your answer before revealing the explanation. Then read why each option is right or wrong — this active recall approach builds retention far faster than re-reading notes.
Can I practise just REST APIs and Data Models questions in a focused session?
Yes — the session launcher on this page draws every question from the REST APIs and Data Models domain. Use a 10-question session first to gauge your baseline, then move to 20 or 30 once the weak spots are clear.
Where can I practise other 350-401 topics?
Use the topic links above to move to related areas, or go back to the 350-401 question bank to see all topics.
Are these real exam questions or dumps?
These are original practice questions written to test the same concepts the 350-401 exam covers. They are not copied from any real exam or dump site.