Cisco · Free Practice Questions · Last reviewed May 2026
24 real exam-style questions organised by domain, each with the correct answer highlighted and a plain-English explanation of why it's right — and why the others are wrong.
A network engineer is using the Cisco Firepower Management Center (FMC) API to retrieve access control policy information. Which HTTP method should be used to perform a read-only request for a specific policy resource?
GET
GET retrieves a representation of the specified policy resource without altering server state, satisfying the read-only constraint. The other HTTP methods (POST, PUT, DELETE) modify or create resources, so they cannot fulfil a read-only request.
PATCH
POST
PUT
You are configuring a Cisco ISE external RESTful service (ERS) integration. You need to update the status of a guest user. Which HTTP method and resource URI structure is correct?
POST /ers/config/guestuser/update
UPDATE /ers/config/guestuser/{id}
PATCH /ers/config/guestuser/{id}
PUT /ers/config/guestuser/{id}
Updating an existing guest user is an idempotent modification of a known resource, so ERS expects PUT against the collection path plus the resource ID. The body carries the changed attributes, and the ID in the URI identifies which guestuser record to modify.
You are using the Cisco Firepower Management Center (FMC) API to retrieve a list of Access Control Policies. Which URL endpoint is correct?
/api/fmc_config/v1/policy/access
/api/v1/fmc/acp
/api/fmc_config/v1/domain/{uuid}/policy/accesspolicies
The FMC REST API nests policy resources under the config version and domain UUID, so access control policies are addressed at /policy/accesspolicies within /api/fmc_config/v1/domain/{uuid}. This endpoint satisfies the stem's requirement to list Access Control Policies via the FMC API.
/api/fmc_config/v1/domain/policy/accesspolicies
You are automating Cisco Firepower Management Center (FMC) object creation using the REST API. You successfully POST a new network object, but the changes do not appear on the managed Firepower Threat Defense (FTD) device. What is the mandatory final step to ensure the changes take effect?
Call the /deploy endpoint using the deployment target devices list.
FMC stores object changes in its configuration database; the FTD devices only receive them when a deployment job is triggered. POSTing to /deploy with the target device list pushes the pending configuration, satisfying the requirement that changes actually take effect on managed devices.
The FMC automatically pushes objects immediately after the POST request returns 201.
Send a commit command to the FTD device directly via SSH.
Restart the snort process via the API.
Which TWO steps are required to properly authenticate to the Cisco Firepower Management Center (FMC) API using the REST API Explorer?
Use Basic Auth in the header with admin credentials
Send a POST request to /api/fmc_platform/v1/auth/generatetoken
Sending a POST to /api/fmc_platform/v1/auth/generatetoken returns the authentication token required for subsequent FMC REST API calls, satisfying the stem's authentication requirement. The token is supplied via the X-auth-access-token header, and the call uses HTTP Basic credentials.
Perform a GET request to the root URL
Send credentials in the URL query string
Capture the X-auth-access-token header from the response
The FMC REST API Explorer authenticates via a token-based flow, so the response to a successful login returns an X-auth-access-token header. Capturing that token satisfies the stem's authentication requirement, because subsequent API calls must present it to prove the session is authorised.
You are automating Cisco Firepower Management Center (FMC) via the REST API. You need to update an existing object. Which HTTP method must you use to ensure a full update of the resource representation?
PUT
PUT replaces the entire resource representation, sending the complete object body so unspecified fields are overwritten. POST would create or invoke actions, and PATCH applies partial merges, so PUT is required for a full update of the existing FMC object.
POST
GET
PATCH
Want more Network Security practice?
Practice this domainYou are using the Cisco Secure Endpoint API to query file trajectory data. The API returns a 429 status code. What is the most appropriate programmatic response?
Implement an exponential backoff algorithm before retrying
A 429 signals rate limiting, so exponential backoff spaces retries progressively, letting the client recover without hammering the API. This satisfies the need for a programmatic response that respects throttling, unlike immediate retries or ignoring the error, which worsen the condition.
Immediately retry the request with the same parameters
Update the API key to a higher privilege level
Switch to the secondary API endpoint URL
You are using the Cisco Secure Endpoint (formerly AMP for Endpoints) API to query file trajectory data for a specific SHA-256 hash. The API returns a 429 Too Many Requests status code. What is the most efficient way to handle this in your automation script?
Switch from HTTPS to HTTP to reduce overhead.
Increase the API rate limit in the Cisco Secure Endpoint dashboard.
Force an authentication refresh on every request.
Implement an exponential backoff strategy with a retry logic.
Exponential backoff waits progressively longer after each 429, for example 1, 2, 4 and 8 seconds, with random jitter so many clients do not retry at once, and gives up after a set number of tries. If the response includes a Retry-After header or rate-limit reset time, use that value. In Python, urllib3's Retry or the tenacity library implement this pattern.
You are developing a script to pull Threat Grid sandbox reports. You receive a 401 Unauthorized error. What is the most likely cause?
The file is still being analyzed
The API key is missing or invalid in the Authorization header
Threat Grid authenticates every API request using an API key supplied in the Authorization header. A 401 Unauthorized response means that credential is absent, malformed, or revoked, so the request is rejected before any report data is returned.
Rate limit exceeded
The API endpoint is deprecated
You are automating Cisco Umbrella policy changes using the Umbrella API. Which resource is used to update the blocked destination list?
/settings/domains
/policies/destinationlists
The Umbrella API exposes destination lists under `/policies/destinationlists`, and blocked destinations are managed as entries within a destination list resource. Updating that list is what changes which domains the policy blocks, satisfying the stem's requirement to modify the blocked destination list rather than a policy or rule object.
/security/blocked
/dns/policies
In Cisco SecureX Orchestration, you are building an atomic workflow to isolate an endpoint. Which input parameter is required to identify the target host in the Secure Endpoint 'Isolate Host' activity?
connector_guid
The Isolate Host activity identifies the target endpoint through its connector_guid, the unique Secure Endpoint connector identifier. Hostname or IP address alone cannot reliably map to the registered connector, so the GUID is the required input.
ipv4_address
mac_address
hostname
You are writing a script to monitor SecureX API rate limits. Which HTTP response header contains the remaining requests available?
Retry-After
X-RateLimit-Remaining
SecureX returns rate-limit status through standard X-RateLimit headers. X-RateLimit-Remaining reports the number of requests still available in the current window, which is exactly the value the monitoring script needs to track against the API's limits.
X-Request-Limit
Status-Remaining
Want more Advanced Threat And Endpoint Security practice?
Practice this domainYou 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?
PUT /api/fmc_platform/v1/auth/generatetoken
POST /api/fmc_platform/v1/auth/generatetoken
Token generation is a state-changing action, so FMC requires POST rather than GET. The generatetoken endpoint under fmc_platform/v1 accepts Basic credentials and returns the auth token plus refresh token in response headers, which the script then reuses for subsequent API calls.
GET /api/fmc_platform/v1/auth/generatetoken
POST /api/fmc_platform/v1/auth/login
When working with YANG data models in Cisco security automation, which TWO statements accurately describe the role of the 'leaf' and 'leaf-list' nodes?
A 'leaf-list' node allows for multiple instances of a specific value type.
A leaf-list defines a node holding multiple instances of the same data type, unlike a leaf. This satisfies the stem's requirement by describing the multi-value collection behaviour that distinguishes leaf-list from single-value leaf nodes in YANG models.
A 'leaf' node can contain child nodes.
Both 'leaf' and 'leaf-list' support default values.
A 'leaf' node contains a single value of a specific type.
A leaf node holds exactly one value of a defined type and cannot repeat, which is the defining contrast with leaf-list. This matches the stem's demand for an accurate statement about leaf node semantics in YANG data models.
A 'leaf-list' node is used for hierarchical grouping.
In the context of REST APIs, which status code indicates that a request was successful and a new resource was created on the server?
201 Created
A 201 status code confirms the request succeeded and a new resource was created on the server, typically returned after a POST. It satisfies the stem's constraint of signalling both success and creation, unlike 200 OK, which indicates success without implying a new resource.
200 OK
202 Accepted
204 No Content
When 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?
response.json()['items'][1]['name']
response.json().items[0].name
response.json()['items'].get('name')[0]
response.json()['items'][0]['name']
`response.json()` deserialises the body into a Python dictionary, so `['items']` retrieves the list, `[0]` indexes its first element, and `['name']` reads that object's field. This directly satisfies the stem's requirement to access the first object's name within the parsed JSON structure.
You 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?
GET
GET is defined as a safe, idempotent method: repeated identical requests return the same representation without altering device state. POST, PUT, PATCH and DELETE can all modify configuration, so GET uniquely satisfies the stem's constraint of retrieving information without changing the FTD configuration.
POST
PUT
PATCH
You 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?
configparser
xml.etree.ElementTree
json
The `json` library parses JSON text into native Python dictionaries and lists, so nested values are reached by key indexing such as `data['endpoint']['macAddress']`. This directly satisfies the stem's requirement to extract a field nested inside an object, without extra dependencies or schema definitions.
pickle
Want more Network Programmability Foundation practice?
Practice this domainWhich Cisco security product provides an API to automate the management of web proxy policies and access logs?
Cisco Tetration
Cisco Duo
Cisco Secure Endpoint
Cisco Secure Web Appliance (WSA)
Cisco Secure Web Appliance exposes a REST API for configuring web proxy policies and retrieving access logs programmatically. This satisfies the stem's requirement for a Cisco security product whose API automates proxy policy management and log access, unlike email or endpoint offerings.
You are configuring a Webex CASB integration. To automate the reporting of anomalous file sharing events from a third-party cloud storage service, which API mechanism should you configure to receive real-time updates?
Direct database query access
Registering a Webhook endpoint
Registering a Webhook endpoint lets the third-party service push event notifications to your listener as sharing anomalies occur, satisfying the real-time updates constraint. Unlike polling APIs, which introduce latency between scheduled requests, webhooks deliver each event immediately on occurrence, enabling automated reporting without continuous querying.
SNMP Traps
Using an SSH tunnel to the cloud provider
Polling the REST API every 60 seconds
You are developing a script to interact with the Cisco Cloudlock API to identify risky OAuth applications. Which THREE actions are valid when using the Cloudlock REST API to manage application risk?
Update the Cisco Umbrella DNS filtering policies
Revoke OAuth tokens for identified risky apps
The Cloudlock API exposes token revocation endpoints that invalidate an application's granted OAuth access, directly removing the risky app's permissions. This satisfies the stem's requirement to manage application risk through remediation rather than read-only inspection.
Retrieve risk score for an application
Retrieving an application's risk score is a supported Cloudlock REST API operation, letting the script quantify OAuth risk per app. This satisfies the stem's requirement to identify risky OAuth applications by returning the numeric score used for triage and policy decisions.
Modify the global cloud infrastructure firewall rules
List users who have authorized a specific app
Listing users who authorised a specific app is a supported Cloudlock API operation, letting you enumerate the OAuth grants tied to that application. This satisfies the stem's requirement to identify risky OAuth applications by exposing which accounts granted access, enabling revocation or investigation of the offending app's user base.
When using the Cisco Secure Email (formerly ESA) AsyncOS API to fetch message tracking data, what is the mandatory header required for authentication?
Cookie: session_id
Authorization
The AsyncOS API requires an HTTP `Authorization` header carrying a Base64-encoded `username:password` credential pair, satisfying the stem's mandatory authentication constraint. Without it, tracking requests are rejected outright. Other headers, such as `Content-Type` or `Accept`, govern payload negotiation only and cannot authenticate the caller.
Bearer-Token
X-API-Key
You are automating policy updates for Cisco Umbrella using the Umbrella Management API. You need to identify the correct endpoint to retrieve the list of destination lists for a specific organization. Which HTTP method and path should you use?
GET /v1/organizations/{organizationId}/destinationlists
The GET method on /v1/organizations/{organizationId}/destinationlists targets the organisation-scoped collection, returning destination lists for that org. The path parameter binds the request to the specific organizationId, satisfying the requirement to retrieve lists for one organisation rather than all.
GET /v1/policies/destinationlists
POST /v1/organizations/{organizationId}/destinationlists
PUT /v1/organizations/{organizationId}/destinationlists
You are automating the retrieval of threat intelligence logs from Cisco Secure Email Cloud Gateway. Which API interface provides the most efficient way to fetch historical message tracking logs for automated analysis?
AsyncOS API
External Threat Feeds API
Web Security Appliance API
Reporting API
The Reporting API is purpose-built for bulk retrieval of historical message tracking data, exposing endpoints that query stored logs by time range and filter. Unlike the live Message Tracking or quarantine interfaces, it satisfies the stem's requirement to fetch historical logs efficiently for automated analysis.
Want more Cloud Web And Email Security Automation practice?
Practice this domainThe vendor does not publish an exact question count for the SAUTO. Always confirm current details on the vendor's official exam page.
CLI output interpretation, network topology analysis, routing behaviour, switching concepts, troubleshooting, and configuration questions.
The exam covers 4 domains: Network Security, Advanced Threat And Endpoint Security, Network Programmability Foundation, Cloud Web And Email Security Automation. Questions are weighted by domain — higher-weight domains appear more on your actual exam.
No. These are original exam-style practice questions written against the official Cisco SAUTO exam objectives. They are not copied from the real exam. Courseiva focuses on genuine understanding, not memorisation of braindumps.
Courseiva tracks your accuracy per domain and routes you toward weak areas automatically. Free, no account required.