You must be able to authenticate to Cisco DNA Center and FMC APIs, carry the returned token on later calls, and set correct REST headers and methods. The single most important thing: know which header or token controls each request, since one wrong value breaks the whole call.
Start practicing
Network Programmability Foundation — choose a session length
Free · No account required
Domain overview
This domain covers the programmability foundations you need before automating Cisco security platforms: REST API mechanics, token-based authentication, and model-driven interfaces such as NETCONF. Questions are scenario-based, asking you to choose the correct HTTP method, header, endpoint, or data store behavior for tools like Cisco DNA Center and Firepower Management Center.
Exam objectives
REST request semantics including HTTP methods, status codes, and headers such as Accept and Content-Type
Token-based authentication flows for Cisco DNA Center and Firepower Management Center APIs
NETCONF data stores: running, candidate, and startup, plus commit and discard operations
Python scripting with requests to authenticate, retain sessions, and parse JSON responses
Confusing the Accept header, which declares the desired response format, with Content-Type, which declares the format of the request body being sent.
Assuming a token from one Cisco platform works on another; DNA Center and FMC issue separate tokens with different lifetimes and headers.
Believing edits to the NETCONF candidate data store take effect immediately, when they require an explicit commit to reach the running store.
Click any question to see the full explanation and answer options, or start a focused practice session above.
You are writing a Python script to interact with the Cisco Firepower Management Center (FMC) API. You need to authenticate to obtain an authentication token. Which HTTP method and endpoint must your script utilize to initiate this process?
2When working with YANG data models in Cisco security automation, which TWO statements accurately describe the role of the 'leaf' and 'leaf-list' nodes?
3In the context of REST APIs, which status code indicates that a request was successful and a new resource was created on the server?
4When parsing a JSON response from a Cisco Adaptive Security Appliance (ASA) REST API call using the Python requests library, you notice the data structure contains a list of objects under the key 'items'. Which Python expression correctly accesses the 'name' field of the first object in that list?
5You are writing a Python script using the Requests library to retrieve information from a Cisco FTD device. Which HTTP method should be used to ensure the operation is idempotent and does not modify the device configuration state?
6You are parsing a complex JSON response from a Cisco ISE API. You need to extract the value of the 'macAddress' field nested inside an object named 'endpoint'. Which Python library is best suited for handling this data structure?
7A network engineer is testing a Cisco ASA REST API call using Postman. The request returns a 401 Unauthorized status code. What is the most likely cause of this error?
8You are designing a YANG model for a custom security policy. Which statement accurately describes the function of a 'leaf' node in YANG?
9When using NETCONF to manage a Cisco device, which message type is used to establish the initial session and exchange capability information?
10In a Cisco REST API implementation using Python, you receive a '429 Too Many Requests' error. What is the appropriate programmatic response?
11You are writing a Python script to retrieve interface statistics from a Cisco Firepower Management Center (FMC) using the REST API. When making the GET request, which header must be included to ensure the server understands the client prefers JSON format?
12Which data format is primarily used by REST APIs and is considered the standard for programmatic device interaction in Cisco security environments?
13When working with NETCONF, what is the role of the <edit-config> operation?
14Which HTTP method is most appropriate for retrieving information from a Cisco Security API?
15You are constructing an XML payload for a NETCONF <edit-config> operation. Which namespace must be included to ensure the device correctly interprets the configuration data?
16What is the primary benefit of using a REST API over manual CLI configuration for security policy deployment?
17Which Python construct is best for iterating over a list of IP addresses returned by an API call?
18When using the Cisco ISE REST API, what does the 'ERAS' (External RESTful Services) framework provide?
19In an HTTP request, what does the '201 Created' status code signify?
20You are troubleshooting a Python script that uses the 'requests' library. The script fails with a 'SSLError'. What is the most likely cause?
21What is the purpose of the 'json.loads()' function in Python?
22When modeling network data with YANG, what is the difference between a 'state' data node and a 'config' data node?
23Which mechanism in YANG allows you to group multiple data nodes that are used in various parts of the model to reduce duplication?
24When using the Cisco IOS-XE RESTCONF API, which header is required to tell the server the format of the payload being sent?
25You are using Postman to test an API that requires an API key in the header. Where should this be configured in Postman?
26Which Python library is the standard for performing HTTP requests in an automation script?
27You are writing a script that interacts with Cisco DNA Center. You need to keep the session alive after authentication. Which token is commonly used for subsequent API calls?
28What is the significance of the 'Accept' header in a REST API request?
29When managing Cisco devices via RESTCONF, what is the benefit of using the 'PATCH' method instead of 'PUT'?
30When using the 'ncclient' library in Python, what is the primary purpose of the 'manager.connect()' method?
31Which JSON-related error occurs if you try to parse a string that is missing a closing brace?
32In a YANG model, which statement is used to define an operational constraint that must be true for the data to be valid?
33Which statement best describes JSON?
34Which component of a REST API request is used to pass information about the requested resource in the URL?
35Which TWO of the following are valid components of a YANG model definition?
36When performing an API audit, you want to ensure that all requests are logged. In Postman, which feature can you use to view the raw HTTP request and response details?
37Which THREE of the following are valid HTTP methods supported by REST APIs for managing network configurations?
38When using the 'requests' library to call an API with a self-signed certificate, which parameter can be used to disable verification for testing?
39Which THREE of the following are common benefits of using NETCONF for device management?
40Which TWO of the following are true regarding YANG models?
41Which TWO of the following are true regarding the use of the Python 'requests' library?
42Which THREE of the following are true about Postman environments?
43Which THREE of the following are common JSON data types?
44Which THREE of the following are true regarding REST API design in Cisco security products?
45Which THREE of the following are true about Cisco API rate limiting?
46Which TWO of the following are true regarding the 'requests' library's exception handling?
47Which THREE of the following are common benefits of using REST APIs for network automation?
48You are writing a Python script using the requests library to retrieve configuration from a Cisco Firepower Management Center (FMC). Which specific header must be included in your request to ensure that the server returns the response in JSON format?
49While testing a REST API call in Postman for Cisco ISE, you receive a 403 Forbidden error. What is the most likely cause of this issue in the context of network programmability?
50When parsing a complex JSON response from a Cisco Stealthwatch API call, you need to extract the value associated with a key nested deep within the hierarchy. Which Python approach is most idiomatic and robust for this task?
51You are automating Cisco Adaptive Security Appliance (ASA) configurations using NETCONF. Which protocol data store should you target to ensure your changes take effect immediately in the running configuration?
52Which YANG node type is used specifically to group reusable definitions that can be imported by other modules?
53What is the primary advantage of using JSON over XML when interacting with modern Cisco security APIs?
54When working with Cisco security APIs, which authentication mechanism is most commonly required to maintain a session after the initial credentials have been exchanged?
55In the context of the Cisco Adaptive Security Appliance (ASA) REST API, what does a 'PATCH' method perform compared to a 'PUT' method?
56You are writing a script to automate firewall rules. When using the 'pyang' tool, what is the primary purpose of the '--format' option?
57When designing an automation workflow using Postman, which feature allows you to dynamically pass a value from the response of one request to the input of a subsequent request?
58Which THREE actions are essential when implementing a Python-based automation script that interacts with a Cisco REST API using the 'requests' library to ensure secure communication?
59Which TWO of the following are accurate regarding the structure and usage of YANG data models?
60Which TWO statements accurately describe the behavior of the NETCONF 'candidate' data store?
61Which THREE of the following are valid methods within a Python script to handle potential errors when making API calls to a Cisco platform?
62Which THREE of the following are essential components of a REST API request for a Cisco security product?
63An engineer is automating a Cisco Identity Services Engine (ISE) deployment using the ERS API. The API requires a secure transport and the engineer wants to verify the server's certificate against a corporate CA bundle in a Python script. The script uses the requests library. Which code snippet correctly performs the GET request to retrieve all network devices while ensuring certificate validation?
64A network automation engineer is writing a Python script to interact with a Cisco Firepower Management Center (FMC) REST API. The script must authenticate and obtain a token for subsequent requests. Which HTTP header is used to pass the authentication token in subsequent API calls?
65An engineer is using NETCONF to retrieve configuration data from a Cisco IOS XE device. The engineer wants to filter the response to only include interface configuration for GigabitEthernet1. Which YANG filter correctly achieves this using the subtree filter?
66A security automation engineer is designing a Python script that interacts with multiple Cisco security appliances' REST APIs. The script must handle HTTP errors gracefully and implement retry logic for transient failures. Which two practices should be followed to ensure robust error handling? (Choose two.)
67You are writing a Python script to retrieve a list of network objects from a Cisco Firepower Management Center (FMC) using its REST API. The script authenticates with a username and password and must maintain the session for subsequent requests. Which authentication mechanism should the script use to obtain a token that is valid for the duration of the session?
68You are developing a Python script that uses the ncclient library to configure a Cisco IOS-XE device via NETCONF. You need to send a <edit-config> operation that merges a new interface configuration. Which NETCONF operation and default-operation value should you use to ensure that only the specified configuration is merged without affecting other interfaces?
69A security automation engineer is building a Python script that queries the Cisco Firepower Management Center (FMC) REST API to retrieve a list of intrusion policies. The engineer wants to ensure the script can handle the case where the requested resource does not exist, returning a 404 status code. Which HTTP status code class indicates a client error, and how should the script interpret a 404 response?
70An engineer runs a Python script that calls the Cisco Firepower Management Center (FMC) REST API to list all access control policies. The script uses the requests library and the response object r. Which attribute of r gives the HTTP status code so the script can branch on success versus failure?
71A Python script authenticates to the Cisco Identity Services Engine (ISE) REST API and must send the credentials in a way that avoids placing them in the URL. Which approach correctly satisfies this requirement when using the requests library?
72A security operations team uses a Python script to poll the Cisco Stealthwatch API every 30 seconds for new alarms. The script occasionally receives HTTP 429 responses. Which change best addresses the root cause while preserving timely alarm detection?
You must be able to authenticate to Cisco DNA Center and FMC APIs, carry the returned token on later calls, and set correct REST headers and methods. The single most important thing: know which header or token controls each request, since one wrong value breaks the whole call.
The Courseiva SAUTO question bank contains 72 questions in the Network Programmability Foundation domain. Click any question to see the full explanation and answer breakdown.
Start with a 10-question focused session to identify your baseline accuracy in this domain. Read every explanation — even for questions you answer correctly — to understand the reasoning. Once you score consistently above 80%, move to a 20–30 question session to confirm depth before moving to the next domain.
Yes — the session launcher on this page draws questions exclusively from the Network Programmability Foundation domain. Choose 10, 20, 30, or 50 questions for a focused session, or click individual questions to review them one by one.
Save your results, see per-domain analytics, and get readiness scores — free, for every certification.
Sign Up FreeFree forever · Every certification included