Practice English vocabulary for discussing API design decisions: REST principles, versioning strategies, backward compatibility, and API contracts.
0 / 8 completed
1 / 8
What does 'backward compatibility' mean in the context of API versioning?
Backward compatibility means that changes to the API do not break existing clients. Adding new optional fields is backward compatible; removing or renaming fields is not.
2 / 8
Which of these is a 'breaking change' in a REST API?
Renaming a required field is a breaking change — existing clients sending 'user_id' will get errors. Adding optional parameters or new fields is non-breaking.
3 / 8
What is 'API versioning via URL path' (e.g., '/v1/users')?
URL path versioning puts the version in the URL (e.g., /v1/users, /v2/users). It is explicit, easy to test in a browser, and widely understood — though it violates strict REST principles.
4 / 8
What is 'idempotency' in REST API design?
An idempotent operation can be called multiple times safely. GET, PUT, and DELETE are idempotent. POST is not — calling it twice creates two resources.
5 / 8
What does 'API contract' mean?
An API contract defines what the API promises: its endpoints, request/response schemas, error codes, and behavior. Tools like OpenAPI (Swagger) formalize contracts that both providers and consumers rely on.
6 / 8
What is 'rate limiting' and why is it important to communicate it to API consumers?
Rate limiting caps requests per client per time window (e.g., 100 req/min). API consumers must handle 429 Too Many Requests responses with exponential backoff to avoid being throttled.
7 / 8
What is a 'hypermedia API' (HATEOAS)?
HATEOAS (Hypermedia as the Engine of Application State) is a REST constraint where responses include links to available actions. Clients follow links rather than constructing URLs, making them more flexible.
8 / 8
What does 'pagination' solve in API design, and what are common approaches?
Pagination breaks large result sets into pages. Offset/limit is simple but has performance issues on large datasets. Cursor-based pagination is more efficient for large, frequently-updated datasets.