Troubleshooting connections to the Infoplus API

This article contains some common issues that users run into when first trying to work with the Infoplus API.

If you are having trouble getting a new integration to work, please see if you're running into any of the issues listed here.  If you're still having issues, please get in touch with our Support Team, and we'll be glad to help.

Content-Type: application/json

The Infoplus API uses only application/json as its Content-Type, for all types of requests (i.e., GET, POST, PUT).  

This means that any requests to the API which include a body (i.e., POST or PUT) MUST include an HTTP header of "Content-Type:application/json".  Furthermore, the body content of any POST or PUT's must be a well-formed JSON object (not an XML document, form-data, x-www-form-urlencoded, or anything else).  

Similarly, since all Infoplus API endpoints return Content-Type:application/json, your requests should include an HTTP header of "Accept:application/json" (or an equivalent, such as "Accept:*/json" or "Accept:*/*").  

If you violate any of these Content-Type requirements, you will most likely receive an invalid response, with an HTTP 503 response code.  

SSL Certificate Trust

The Infoplus API requires that all requests be issued over HTTPS, and the SSL certificate with which Infoplus signs all requests is one issued by AWS's Certificate Manager.  This can potentially cause an issue for API clients whose local security trust stores are not updated to be aware of the intermediate certificates in our trust chain, which were released in 2015.  

This error may present itself (for a client using a Java application) as javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.  Other client programming environments may offer similar error messaging.  

If you are running into this type of error, the way to solve it is to update your application/server to accept our SSL certificate (specifically, the intermediate certificates in our certificate's trust chain).  Oracle offers this path to update a java installation.