What is the difference between a collection resource and a singleton resource?

Answer

A collection resource represents a group of resources of the same type and is addressed by a plural noun URL: /users. A GET request returns a list; POST creates a new item in the collection. A singleton resource represents a single, unique resource — either a specific item (/users/42) or a conceptually single entity (/account/settings for the currently authenticated user's settings). For singletons that are contextually unique, avoid requiring an ID: GET /me returns the current user's profile without needing to know the ID. The collection/singleton distinction maps cleanly to database table (collection) vs row (singleton) concepts and helps clients intuitively understand the API structure.