All REST APIs in this applications should have a similar structure.
n/a, see resolution
n/a, see resolution
No evaluation needed.
Structure the API around resources of our business entities
/users/{id}/groups
/get-users/user-by-id/{id}?q=groups
No Verbs
/users
/users/create-new
Use plural nouns for collectional resources
/users/{id}
/user/{id}
Keep the URIs flat and unnested
/users/{id}/groups/{id}/roles/{id}
However keep in mind, that it might be necessary to use nested URIs when a subresource is only accessable via its parent.
Normalize the URIs (No trailing slash, no double-slash)
/users//{id}
/users//{id}/
Use kebab-case to improve readability
/shopping-cart
/shopping_cart
/shoppingCart
/sHoPpInGcArT
Don’t use matrix parameters, use query parameters
/products?sort=price
/products;sort=price
Use multiple query parameters (also known as explode)
/products?sort=price&sort=color
/products?sort=price,color