mediumMultiple SelectObjective-mapped
200-901 Practice Question: A developer is designing a REST API for managing…
A developer is designing a REST API for managing network devices. Which three best practices should be followed for the API design? (Choose three.)
⚠ Common exam trap
Cisco often tests the misconception that POST should be used for all state-changing operations because it is simple, but the trap is that POST is not idempotent, and idempotency is a key REST constraint that must be satisfied by using PUT or DELETE for appropriate operations.
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 nouns for resource names (e.g., /devices) rather than verbs.
REST APIs should use nouns to represent resources (e.g., /devices) rather than verbs, which aligns with the uniform interface constraint of REST. Using verbs like /getDevices or /deleteDevice violates REST principles and mixes action semantics with resource identification, making the API less intuitive and harder to maintain.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use POST for all state-changing operations to ensure idempotency.
Why it's wrong here
POST is not idempotent; using it for all state-changing operations violates REST idempotency constraints. Idempotency is typically achieved with PUT (for updates) or DELETE (for deletions), while POST is used for non-idempotent creation.
- ✓
Use nouns for resource names (e.g., /devices) rather than verbs.
Why this is correct
D is correct because RESTful APIs use nouns to represent resources, while verbs are typically avoided in endpoint paths.
- ✓
Include versioning in the URL path (e.g., /v1/devices).
Why this is correct
B is correct because versioning in the URL path helps maintain backward compatibility and is widely adopted in REST APIs.
- ✗
Always send the entire resource representation in all responses to reduce client requests.
Why it's wrong here
E is incorrect because sending the full representation in every response wastes bandwidth; clients can use specific fields or pagination instead.
- ✓
Use proper HTTP status codes to describe results.
Why this is correct
A is correct because HTTP status codes provide standardised feedback on success/failure and are a fundamental REST best practice.
Go deeper
Related to this question
About these practice questions
One of 989 original 200-901 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
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.