Courseiva

200-901 Understanding and Using APIs Practice Question

A developer is designing a Python script that interacts with a REST API. The script must handle common HTTP methods appropriately. Which TWO of the following statements correctly describe the use of HTTP methods in RESTful APIs? (Choose two.)

⚠ Common exam trap

The trap here is assuming that all methods that modify state are non-idempotent, or that DELETE is not idempotent because it might return an error on subsequent calls.

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

✓

GET requests should be idempotent and safe, meaning they do not modify server state.

In REST, GET is safe and idempotent, and PUT is idempotent and used for full updates or replacements. POST is neither safe nor idempotent, DELETE is idempotent despite possible error responses, and PATCH is not guaranteed to be idempotent or safe. Understanding these properties helps developers choose the correct method and handle retries appropriately.

Answer analysis

Option-by-option breakdown

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

  • ✓

    GET requests should be idempotent and safe, meaning they do not modify server state.

    Why this is correct

    In REST, GET is defined as a safe and idempotent method. Safe means it does not alter server state, and idempotent means multiple identical requests have the same effect as a single one. This is why GET is used for retrieving data without side effects, and clients can cache or retry GET requests without concern for unintended changes.

  • ✗

    POST requests are idempotent, so sending the same POST request multiple times has the same effect as sending it once.

    Why it's wrong here

    POST is not idempotent. Sending the same POST request multiple times typically creates multiple resources or triggers multiple actions, each with its own effect. For example, submitting an order form twice could result in two orders. This is why POST is used for operations that are not safe to repeat without additional safeguards like idempotency keys.

  • ✗

    PATCH requests must always be idempotent and safe.

    Why it's wrong here

    PATCH is not necessarily idempotent or safe. It is used for partial updates, and depending on the operation, repeating the same PATCH might produce different results. For example, a PATCH that increments a counter is not idempotent. PATCH also modifies server state, so it is not safe. Therefore, this statement is incorrect.

  • ✓

    PUT requests are idempotent and are used to update or replace a resource entirely.

    Why this is correct

    PUT is idempotent because sending the same request multiple times results in the same state on the server. It is used to update or replace a resource at a known URI. If the resource does not exist, PUT may create it. Because it replaces the entire resource, repeated PUTs with the same data yield the same outcome.

  • ✗

    DELETE requests are not idempotent because deleting a resource twice will cause an error the second time.

    Why it's wrong here

    DELETE is idempotent. Although the second DELETE might return a 404 Not Found, the state of the server after the first DELETE is unchanged by the second attempt. Idempotency refers to the effect on the server state, not the response status. So DELETE is considered idempotent even if subsequent calls return errors.

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.