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


👍🏻 /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


👍🏻 /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


👍🏻 /departments/managers
👍🏻 /product/variation

4. Use only lowercase


👍🏻 /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


👍🏻 /store
👎🏻 /%store

You can refer here for list of special character

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


👍🏻 /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


👍🏻 /user/{userId}
👎🏻 /user/{user_id}

8. Do versioning for your user to use the endpoint

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)