Courseiva

200-901 Infrastructure and Automation Practice Question

A developer is writing a Python script that calls the Cisco DNA Center Intent API. The API returns HTTP 429 responses during peak hours. The developer wants the script to retry failed requests automatically using exponential backoff. Which approach should be used?

⚠ Common exam trap

The trap here is assuming that increasing the timeout or adding a fixed sleep loop solves rate limiting, when the real solution is configuring retry behavior with exponential backoff.

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

✓

Use the requests library with a Retry object configured with backoff_factor and status_forcelist mounted on an HTTPAdapter.

HTTP 429 indicates the client exceeded the API rate limit. The requests library integrates urllib3's Retry mechanism, which can be configured with backoff_factor and status_forcelist to automatically retry on 429 with exponential delays. Mounting the adapter on a session applies this behavior to all requests, providing a clean, standard solution.

Answer analysis

Option-by-option breakdown

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

  • ✗

    Increase the requests timeout parameter to 300 seconds so the API has more time to respond before returning a 429.

    Why it's wrong here

    The timeout parameter controls how long the client waits for a response, not server-side rate limiting. A 429 is returned immediately when the rate limit is exceeded, so increasing the timeout does nothing to prevent or recover from the error.

  • ✗

    Wrap the request in a while loop that sleeps for a fixed 60 seconds after every 429 response until the request succeeds.

    Why it's wrong here

    A fixed sleep does not implement exponential backoff and wastes time when the rate limit resets quickly. It also lacks jitter and maximum retry limits, making the script less resilient and harder to tune than a Retry object with backoff_factor.

  • ✗

    Switch the script to use the ncclient library because it handles HTTP 429 responses natively for REST APIs.

    Why it's wrong here

    ncclient is a NETCONF client that uses SSH transport, not HTTP. It does not communicate with the DNA Center REST API and therefore cannot process HTTP 429 responses. Using it would require rewriting the integration entirely and would not solve the retry requirement.

  • ✓

    Use the requests library with a Retry object configured with backoff_factor and status_forcelist mounted on an HTTPAdapter.

    Why this is correct

    The requests library supports automatic retries through urllib3's Retry class. By setting backoff_factor and including 429 in status_forcelist, then mounting the adapter to the session, the script will retry with exponential backoff on rate-limit responses without custom retry loops.

About these practice questions

Courseiva writes every 200-901 question from scratch — 975 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-901 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-901 exam.