SAUTO · domain
Network Programmability Foundation
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.
Focused practice
Practice Network Programmability Foundation questions
Scored sessions drawing only from this domain — pick a length below.
Start 20-question practice test →What this domain covers
What to know about Network Programmability Foundation
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.
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
Why learners struggle
Why Network Programmability Foundation questions are commonly missed
RAM questions are commonly missed because learners confuse physical form factors (DIMM vs SO-DIMM) and fail to distinguish between memory speed (MHz) and latency (CL).
- ·DIMM vs SO-DIMM — desktop vs laptop form factor confusion
- ·DDR3 vs DDR4 vs DDR5 — notch position and voltage differences
- ·MHz vs CL — speed vs latency trade-offs in performance
- ·Single-channel vs dual-channel — bandwidth impact misconception
- ·ECC vs non-ECC — error correction support in servers vs desktops
- ·32-bit vs 64-bit — maximum addressable RAM limit
Watch out for
Common Network Programmability Foundation exam traps
- ▸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.
Question index
All Network Programmability Foundation questions (72)
Click any question to see the full explanation, or start a practice session above.
You 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?
Medium2Which 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?
Medium3When using the Cisco ISE REST API, what does the 'ERAS' (External RESTful Services) framework provide?
Hard4Which THREE of the following are valid HTTP methods supported by REST APIs for managing network configurations?
Medium5You are designing a YANG model for a custom security policy. Which statement accurately describes the function of a 'leaf' node in YANG?
Medium6Which TWO of the following are true regarding the 'requests' library's exception handling?
Medium7You 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?
Hard8Which JSON-related error occurs if you try to parse a string that is missing a closing brace?
Medium9What is the primary advantage of using JSON over XML when interacting with modern Cisco security APIs?
Easy10When 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?
Medium11While 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?
Medium12Which statement best describes JSON?
Easy13Which THREE of the following are common benefits of using REST APIs for network automation?
Easy14In an HTTP request, what does the '201 Created' status code signify?
Easy15You 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?
Medium16You are troubleshooting a Python script that uses the 'requests' library. The script fails with a 'SSLError'. What is the most likely cause?
Medium17Which THREE of the following are common benefits of using NETCONF for device management?
Hard18A 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?
Medium19When 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?
Medium20When using the 'ncclient' library in Python, what is the primary purpose of the 'manager.connect()' method?
Hard21Which THREE of the following are valid methods within a Python script to handle potential errors when making API calls to a Cisco platform?
Medium22When working with Cisco security APIs, which authentication mechanism is most commonly required to maintain a session after the initial credentials have been exchanged?
Easy23When managing Cisco devices via RESTCONF, what is the benefit of using the 'PATCH' method instead of 'PUT'?
Medium24Which TWO of the following are true regarding YANG models?
Hard25A 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?
Medium26An 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?
Easy27A 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?
Medium28When using the Cisco IOS-XE RESTCONF API, which header is required to tell the server the format of the payload being sent?
Medium29Which THREE of the following are true about Postman environments?
Medium30What is the primary benefit of using a REST API over manual CLI configuration for security policy deployment?
Medium31You 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?
Medium32When 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?
Hard33You 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?
Hard34When using the 'requests' library to call an API with a self-signed certificate, which parameter can be used to disable verification for testing?
Medium35What is the purpose of the 'json.loads()' function in Python?
Easy36Which THREE of the following are essential components of a REST API request for a Cisco security product?
Easy37A 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?
Hard38You 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?
Medium39An 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?
Medium40Which TWO of the following are valid components of a YANG model definition?
Medium41When working with NETCONF, what is the role of the <edit-config> operation?
Hard42When working with YANG data models in Cisco security automation, which TWO statements accurately describe the role of the 'leaf' and 'leaf-list' nodes?
Medium43Which TWO of the following are accurate regarding the structure and usage of YANG data models?
Hard44In a YANG model, which statement is used to define an operational constraint that must be true for the data to be valid?
Hard45Which Python construct is best for iterating over a list of IP addresses returned by an API call?
Easy46In the context of REST APIs, which status code indicates that a request was successful and a new resource was created on the server?
Easy47You 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?
Hard48When 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?
Medium49Which HTTP method is most appropriate for retrieving information from a Cisco Security API?
Easy50Which THREE of the following are true about Cisco API rate limiting?
Hard51What is the significance of the 'Accept' header in a REST API request?
Easy52Which mechanism in YANG allows you to group multiple data nodes that are used in various parts of the model to reduce duplication?
Hard53You 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?
Medium54Which TWO statements accurately describe the behavior of the NETCONF 'candidate' data store?
Hard55When modeling network data with YANG, what is the difference between a 'state' data node and a 'config' data node?
Medium56In the context of the Cisco Adaptive Security Appliance (ASA) REST API, what does a 'PATCH' method perform compared to a 'PUT' method?
Medium57Which Python library is the standard for performing HTTP requests in an automation script?
Easy58You 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?
Medium59When using NETCONF to manage a Cisco device, which message type is used to establish the initial session and exchange capability information?
Easy60A 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.)
Medium61A 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?
Easy62You 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?
Hard63Which YANG node type is used specifically to group reusable definitions that can be imported by other modules?
Easy64In a Cisco REST API implementation using Python, you receive a '429 Too Many Requests' error. What is the appropriate programmatic response?
Hard65You are writing a script to automate firewall rules. When using the 'pyang' tool, what is the primary purpose of the '--format' option?
Hard66Which THREE of the following are common JSON data types?
Easy67Which TWO of the following are true regarding the use of the Python 'requests' library?
Hard68An 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?
Hard69Which data format is primarily used by REST APIs and is considered the standard for programmatic device interaction in Cisco security environments?
Easy70Which THREE of the following are true regarding REST API design in Cisco security products?
Medium71Which component of a REST API request is used to pass information about the requested resource in the URL?
Medium72You are using Postman to test an API that requires an API key in the header. Where should this be configured in Postman?
MediumOther domains
All SAUTO exam domains
Frequently asked questions
- What does the Network Programmability Foundation domain cover on the SAUTO exam?
- 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.
- How many questions are in this domain?
- This page lists all 72 Network Programmability Foundation questions in the SAUTO question bank. The actual exam draws from this domain proportionally to its weighting in the official exam blueprint.
- What is the best way to practise this domain?
- Start with a short focused session (10 questions) to identify gaps, then work through explanations. Repeat with a longer session once the weak areas feel solid.
- Can I practise only Network Programmability Foundation questions?
- Yes — the session launcher on this page filters questions to this domain only. Choose any session length for inline explanations and scoring.