DEV Community

Muhammad Harith Zainudin
Muhammad Harith Zainudin

Posted on

Tips and How to name your API endpoint?

Sometimes, it can be very confusing on how to name your api endpoint.

This is the tips and guideline for you on how to name your API endpoint

1. Use only nouns, rather than adding verbs

Example:

πŸ‘πŸ» /users
πŸ‘ŽπŸ» /get-users

It will be funny if you put action in the endpoint. We will directly straight know, it use a GET request.
Use singular or plural nouns? It depends.
If get more user, preferably use /users. If one user, then /user is the answer

2. Short, Clear and Intuitive

Example:

πŸ‘πŸ» /id
πŸ‘ŽπŸ» /identification-number
πŸ‘ŽπŸ» /id/1234/fn

For example 3, this would be misleading. It's not clear. What is fn? As for me, I would think it a function

3. Build hierarchy and grouping into logical groups

Example:

πŸ‘πŸ» /departments/managers
πŸ‘πŸ» /product/variation

4. Use only lowercase

Example:

πŸ‘πŸ» /kyc-form-application
πŸ‘ŽπŸ» /KYCFormApplication

URIs are case sensitive, try to avoid upper case unless it is necessary. And also, avoid unnecessary confusion and inconsistency in naming your endpoint.

5. Avoid special characters in the endpoint

Example:

πŸ‘πŸ» /store
πŸ‘ŽπŸ» /%store

You can refer here for list of special character

6. Use hyphen (-) to separate words rather than underscore (_) or camelCase

Example:

πŸ‘πŸ» /generate-s3-presigned-url
πŸ‘ŽπŸ» /generateS3PresignedUrl

Your endpoint will looks more cleaner, clearer and user friendly. Google recommend us to use hyphens as it is good for Google search, it make its web crawling job easier, thus creating more consistent results.

7. Use camelCase for parameters

Example:

πŸ‘πŸ» /user/{userId}
πŸ‘ŽπŸ» /user/{user_id}

8. Do versioning for your user to use the endpoint

Example:
Ways to do versioning in your API endpoint

Our API will keep changing over the time, the implementation, the request body, the response etc, hence versioning is important to avoid the endpoint from breaking when the user use it. For me, the easiest way to do versioning is the 1st way.

Avoid doing silly mistake like me when I create my endpoint before this. But hey, we learn from our mistakes right?
Silly mistake by me

That's all for the tips and how to naming your endpoint!


Thank you for reading :D

Psstt pstt :p
Do consider to love this article ❀️ and follow me! Why not right? It's FREE~
I would really appreciate it πŸ‘¨πŸ»β€πŸ’»
Will be posting more on things related to AWS, Javascript, Python, Serverless and more!

Top comments (0)