REST technology is generally preferred to the more robust Simple Object Access Protocol (SOAP) technology because REST leverages less bandwidth, making it more suitable for internet usage.
REST APIs are all around us these days. Almost every major service provider on the internet provides some kind of REST API. There are so many REST clients available that can be used to interact with these APIs and test requests before writing your code. Postman, is one of the world’s leading API Development Environment (ADE) with so many features baked in.
In this tutorial, you are going to learn how to use Postman to make API calls with and without authorization.
The only thing you need to do before starting this tutorial is to download and install Postman. Get it from here. Installation should be straightforward across different platforms.
API Calls (No Authorization)
The first thing you are going to do is to make an API call which does not require authorization. Launch Postman and close the welcome dialog.
You are going to fetch the exchange rate between two currencies (USD, GBP) from ExchangeRatesApi.
1- Enter https://api.exchangeratesapi.io/latest?symbols=USD,GBP into the URL bar at the top.
2- In the drop down to the left, make sure the method type selected is GET.
3- Finally, press Send.
You should end up with a response in the textarea below.
Postman provides you with some really useful data about the request you just made. First of all, to the far right, you get to see the status code of the response and the size of data returned. You also get to see how long the request took.
To the left, you get to see even more details. By clicking through the tabs, you can view extra information about the response such as the cookies and headers returned. Below that you can select the different display formats of the data returned.
Now you are going to make another GET request. This time however, you are going to get all exchange rates with the USD as the base currency. Click the + icon at the top to open a new tab.
Enter https://api.exchangeratesapi.io/latest?base=USD into the URL field and click Send.
You should end up with a response containing the exchange rates of all the currencies in relation to the USD.
API Calls (With Authorization in Query Params)
Now you are going to learn how to make requests to APIs which require authorization. In the current example, authorization is achieved through adding one or more parameters to the API URL, namely after a question mark. So let’s see this.
For this example, you will be using the Fixer.io currency exchange API for demonstration.
1- Head over to fixer.io and click Get Free API Key.
2- Click Get Free API Key and you will be redirected to a sign up page. Fill in your details and click Sign up at the bottom.
3- Once you sign up successfully, you will be redirected to your dashboard. You will now be able to see your API key.
4- Before you make a request using your API key, try making a request without it. Open a new tab in Postman, enter http://data.fixer.io/api/latest and press Send. You should end up with the following response.
5- Now add ?access_key=YOUR_API_KEY to the end of the URL and press Send.
You should end up with a response similar to the following.
API Calls (With Authorization in Headers)
You have now learnt to authorize requests by passing the access token as a query parameter. In this example, you are going to learn how to use request headers to pass access tokens.
For this example, you will be using the Github API for demonstration.
1- Head over to Github and create a personal access token. You will need to login or create an account if you do not have one.
Once you have successfully created your token, you will need to copy and save it somewhere. Note. Once your close the tokens page, your newly created token will be hidden, never to be seen again.
2- Now head over to Postman and open a new tab. Paste https://api.github.com into the URL field.
3- Select the Headers tab and fill in the details as follows.
4- Once you hit Send, you should get the following details.
One thing to remember is that different APIs offer different methods of authorization. You will be happy to hear that Postman supports most if not all of them.
This is just the tip of the iceberg. Postman supports so many features. Feel free to check out the documentation for more details.
Software Engineer & Dancer. Or is it the other way around? 🙂