If an API request isn't behaving as expected, there can be many possible reasons. You can ask Postbot to help you find out what the problem is, you can use the Postman Console to troubleshoot the request, or you can debug the request by HTTP version. This guide also lists some common issues and their causes.
This guide discusses troubleshooting API requests. To troubleshoot issues with the Postman app, see Troubleshoot app issues. To troubleshoot issues with Postman Monitors, see Troubleshooting monitors.
Postman will indicate any whitespace or invalid characters in parts of your request that may not function as expected so that you can rectify your values. Invalid characters are highlighted in the request method, URL (including the path), parameters, headers (including your key names), and body.
If Postman isn't able to send your request or doesn't receive a response, you will get a message with details about the error. Select View in Console to get an overview of your request and to help identify the source of the issue.
If you get an unexpected error when you send a request, you can ask Postbot for help. Select What's wrong? in the error message. Postbot will tell you about any problems it can identify, and it will offer possible solutions for fixing the issue.
For more information on Postbot, visit About Postbot.
Every request sent by Postman is logged in the Postman Console, so you can view the detail of what happened when you sent a request. This means you can use the Console to help debug your requests when an API isn't behaving as you expect. Keeping the Console open while you work will increase the visibility of your network calls and log messages while debugging.
The Postman Console logs the following information:
Monitor results are logged to a separate console. For more information on how to view logs from a monitor run, see View monitor results.
Open the Console by selecting Console in the Postman footer. In the Postman desktop app, you can use ⌘+Option+C or Ctrl+Alt+C to open the Postman Console in a new window.
You will get an error message if Postman isn't able to send your request or doesn't receive a response from the API you sent the request to. This message includes an overview of the issue and a link to the Console. There you can access detailed information about the request.
Select View in Console to inspect the request details in the Console and find out more about what went wrong.
The Postman Console displays network information and the request and response headers and body for each request, together with any Console output messages coming from your scripts.
Filter by log message type under All Logs. Select Options to turn timestamps and network information on or off.
The Console will log the last 5,000 messages and 24 hours by default. Select Clear to empty the list.
Using log statements at appropriate locations in your post-response scripts can help you debug your requests. Postman accepts the following log statements:
console.log()
console.info()
console.warn()
console.error()
console.clear()
You can specify the HTTP version to use for requests. Postman supports HTTP versions 1.0, 1.1, and 2.0. The HTTP version you select is the default version you'll use globally to send HTTP requests. You can override the default version for an individual request.
It's useful to specify an HTTP version when debugging API requests so you can test requests by version. It's also useful for verifying if API requests support the expected HTTP version.
If the API supports HTTP version 2.0, make sure the request URL uses the https
scheme. If you're using the Postman web app, also make sure you send requests with the Postman Desktop Agent. The supported 1.x HTTP version will be used in the following scenarios:
http
scheme.To specify an HTTP version for your requests, do the following:
Select Settings in the header, then select Settings to specify an HTTP version globally. You can also specify the version for an individual HTTP request by opening it, then selecting the Settings tab.
Select the HTTP version dropdown list next to HTTP Version.
If you specify an HTTP version for an individual request, you can select Restore Default. This changes the HTTP version to the default version specified globally.
Select one of the following options:
Auto - Postman automatically selects HTTP version 1.0, 1.1, or 2.0, depending on which version the API supports and prefers.
HTTP/1.x - Send the request using HTTP version 1.0 or 1.1.
HTTP/2 - Send the request using HTTP version 2.0.
If the API doesn't support the HTTP version you selected, an error displays in the response area. For example, the error will display if you select HTTP/2 and the API doesn't support HTTP version 2.0.
After you send a request, you can verify the HTTP version in the response pane. Hover over Connection to view information about the HTTP version that was used to send the request.
If your HTTP request isn't behaving as expected, you can view a previous configuration from the request's history to help you troubleshoot. You can only view the response for a previous request configuration if saving response history was turned on when you sent the request. You can also delete a response from your request's history.
The HTTP request must be in a team, private, personal, or Partner workspace. Postman doesn't support viewing an earlier configuration of a request and its response from public workspaces. Also, partners in Partner Workspaces with multi-partner mode enabled can't view an earlier configuration of a request and its response.
To view a previous request configuration and its response, do the following:
Select Collections in the sidebar, and open an HTTP request.
Select History in the response area. This displays a list of each date and time the request was previously sent and the response status code that was returned.
When you select a previous response from the History dropdown list, the date and time you sent the request will display in the response area. Select the date and time to display the dropdown list again, and choose a different response if you'd like. You can select Current to return to the latest version of the request configuration.
Select a response from the dropdown list to view it and the request configuration.
To delete a request and its response from your history, do the following:
You can also share a link to an HTTP request and its response with your team members or external partners. Share a link to the current response or a previous response from the request's history, along with the request configuration.
If your issue with sending a request isn't listed here, see Getting help for information how to contact Postman support.
Issue | Resolving the issue |
---|---|
Connectivity | If Postman fails to send your request, you may be experiencing connectivity issues. Check your connection by attempting to open a page in your web browser. |
Firewalls | Some firewalls may be configured to block non-browser connections. If this happens you will need to contact your network administrators for Postman to work. |
Proxy configuration | If you are using a proxy server to make requests, check your configuration. By default, Postman uses the proxy settings configured in your operating system's network settings. The Postman Console will provide debugging information regarding proxy servers. |
SSL certificates | You may experience issues using HTTPS connections. You can turn off SSL certificate verification in Settings by selecting Settings in the header, then Settings > General. If that doesn't help, your server might be using a client-side SSL connection, which you can configure by selecting Settings in the header, then Settings > Certificates. Use the Postman Console to ensure that the correct SSL certificate is being sent to the server. Learn more about working with certificates. |
Client certificates | Client certificates may be required for your API server. You can add a client certificate in Settings by selecting Settings in the header, then Settings > Certificates. |
Wrong request URLs | If you are using variables or path parameters with your request, make sure the final address is correct by opening the Postman Console, which will display the URL your request was sent to when it runs. Unresolved request variables can result in invalid server addresses. |
Wrong protocol | Check if you're using https:// instead of http:// in your URL (or the opposite). |
Short timeouts | If you configure a short timeout in Postman, the request could be timing out before completion, resulting in an error. To avoid this issue, increase the Request timeout in Settings by selecting Settings in the header, then Settings > General. |
Invalid responses | If your server sends the wrong response encoding errors, or invalid headers, Postman may fail to interpret the response. |
TLS version | Postman supports TLS version 1.2 and higher, which may not be supported if you are using an older browser or operating system. |
Postman errors | It's possible that Postman might be making invalid requests to your API server. You can confirm this by checking your server logs, if available. If you believe this is happening, contact the Postman team using the GitHub issue tracker. |
Empty variables | An empty variable is a variable that doesn't have a current value and is referenced in a request. For more information on why this happens and how to solve the problem, see Fixing empty variables. |
CORS | If the Postman web app fails to send your request, you may be experiencing a cross-origin resource sharing (CORS) error. Make sure you're using the best Postman Agent for your request. |
If you are still having problems with your request, there are options for you to get help:
Last modified: 2023/10/05
Additional resources
Videos
Blog posts