How troubleshooting an REST API problem

Introduction

If your REST API connection fails, use this step-by-step troubleshooting guide to quickly identify the root cause. Most REST API errors fall into one of four categories: API availability, authentication, network/security settings, or request configuration.

Instead of changing settings randomly, follow the process below in order.

Steps

Check whether the connection worked before

Start by identifying which scenario applies:

  • The connection worked before and recently stopped working.
  • The connection has never worked.

This helps you decide whether you are dealing with a recent environment change or an initial setup issue.

Review recent changes in your environment

If the connection worked previously, investigate what changed.

Common causes include:

  • Firewall changes
  • Proxy changes
  • Security policy updates
  • SSL/TLS certificate updates
  • Expired API keys or access tokens
  • User permission changes
  • Server migrations
  • Application or driver upgrades
  • Corrupted installation
  • Network infrastructure changes

If possible, test the same API request from another machine to confirm whether the issue is machine-specific.

Test the API outside your integration tool

Before troubleshooting your application configuration, confirm the API is reachable and responding correctly.

Use Postman (or another REST client) to send the same request. If the request fails in Postman, the issue is usually related to API credentials, endpoint configuration, network restrictions, or the API provider.

Compare Postman and your application request

If the API works in Postman but fails in your app, compare both requests side by side.

Even small differences can cause REST API authentication or connectivity errors, for example:

  • URL or query parameters
  • HTTP method (GET/POST/PUT/DELETE)
  • Headers (Authorisation, Content-Type, Accept)
  • Body format (JSON/XML/form-data)
  • OAuth/API key configuration

See this guide to migrate settings: How to migrate Postman configuration to ZappySys

Compare with cURL

cURL is a command-line tool used to send and receive data from servers using URLs. It is commonly used to test, consume, or interact with web services and REST APIs through methods such as GET, POST, PUT, PATCH, and DELETE.

If you are familiar with cURL and you want to create the same call in Zappysys SSIS PowerPack, click on this article for help.

Analyse the HTTP error response

If the request reaches the API, review the HTTP status code and response body.

Status code Meaning
400 Bad Request - Invalid request format
401 Unauthorized - Authentication failed
403 Forbidden - Insufficient permissions
404 Not Found - Resource or endpoint not found
429 Too Many Requests - Rate limit exceeded
500 Internal Server Error
503 Service Unavailable

The response body often contains the exact reason for failure, such as missing fields, an invalid token scope, or unsupported parameters.

Information to collect

Before opening a support chat or ticket, collect this checklist:

  • Full error message
  • HTTP status code
  • Request URL (without sensitive secrets)
  • Authentication method (OAuth, API key, Basic, etc.)
  • Request headers and body format
  • Screenshots of your configuration
  • Postman test result
  • Whether the connection worked before
  • Any recent environment or security changes

Providing these details up front helps resolve REST API issues much faster.

For more information about HTTP errors, refer to our article related.

Need more help?

If the issue persists, contact ZappySys Support: